From jenkins at lists.osmocom.org Fri Mar 1 00:13:16 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 1 Mar 2019 00:13:16 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-osmo-iuh_=C2=BB_a1=3Ddefault,a2=3D?= =?UTF-8?Q?default,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#3221?= Message-ID: <1739273778.544.1551399196702.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 730.06 KB...] :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_RABParametersList.h:29:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberB { ^~~~~~~~~~~~~ CC RANAP_RSRVCC-Information.lo CC RANAP_RSRVCC-Operation-Possible.lo CC RANAP_SAC.lo CC RANAP_SAI.lo CC RANAP_SAPI.lo CC RANAP_SessionUpdateID.lo CC RANAP_Shared-Network-Information.lo CC RANAP_Session-Re-establishment-Indicator.lo CC RANAP_SignallingIndication.lo CC RANAP_SDU-ErrorRatio.lo CC RANAP_SDU-FormatInformationParameters.lo CC RANAP_SDU-FormatInformationParameterItem.lo CC RANAP_SDU-Parameters.lo In file included from :8:0, from ../../include/osmocom/ranap/RANAP_PLMNs-in-shared-network.h:14, from ../../include/osmocom/ranap/RANAP_Shared-Network-Information.h:14, from RANAP_Shared-Network-Information.c:7: ../../include/osmocom/ranap/RANAP_LA-LIST.h:27:23: warning: ?struct MemberA? declared inside parameter list will not be visible outside of this definition or declaration A_SEQUENCE_OF(struct MemberA { ^ :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_LA-LIST.h:27:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberA { ^~~~~~~~~~~~~ ../../include/osmocom/ranap/RANAP_PLMNs-in-shared-network.h:27:23: warning: ?struct MemberM? declared inside parameter list will not be visible outside of this definition or declaration A_SEQUENCE_OF(struct MemberM { ^ :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_PLMNs-in-shared-network.h:27:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberM { ^~~~~~~~~~~~~ CC RANAP_SDU-ParameterItem.lo CC RANAP_SNA-Access-Information.lo CC RANAP_SNAC.lo CC RANAP_Service-Handover.lo CC RANAP_Source-ToTarget-TransparentContainer.lo CC RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.lo CC RANAP_SourceCellID.lo CC RANAP_SourceBSS-ToTargetBSS-TransparentContainer.lo In file included from :8:0, from ../../include/osmocom/ranap/RANAP_AuthorisedPLMNs.h:14, from ../../include/osmocom/ranap/RANAP_SNA-Access-Information.h:14, from RANAP_SNA-Access-Information.c:7: ../../include/osmocom/ranap/RANAP_AuthorisedPLMNs.h:27:23: warning: ?struct MemberC? declared inside parameter list will not be visible outside of this definition or declaration A_SEQUENCE_OF(struct MemberC { ^ :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_AuthorisedPLMNs.h:27:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberC { ^~~~~~~~~~~~~ CC RANAP_SourceID.lo CC RANAP_SourceRNC-ID.lo CC RANAP_SourceRNC-ToTargetRNC-TransparentContainer.lo CC RANAP_IRAT-Measurement-Configuration.lo CC RANAP_IRATmeasurementParameters.lo CC RANAP_RSRQ-Type.lo CC RANAP_RSRQ-Extension.lo CC RANAP_EUTRANFrequencies.lo CC RANAP_MeasBand.lo CC RANAP_SubscriberProfileIDforRFP.lo CC RANAP_SourceStatisticsDescriptor.lo In file included from :8:0, from ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:14, from ../../include/osmocom/ranap/RANAP_IRATmeasurementParameters.h:15, from ../../include/osmocom/ranap/RANAP_IRAT-Measurement-Configuration.h:15, from RANAP_IRAT-Measurement-Configuration.c:7: ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:27:23: warning: ?struct MemberJ? declared inside parameter list will not be visible outside of this definition or declaration A_SEQUENCE_OF(struct MemberJ { ^ :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:27:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberJ { ^~~~~~~~~~~~~ In file included from :8:0, from ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:14, from ../../include/osmocom/ranap/RANAP_IRATmeasurementParameters.h:15, from RANAP_IRATmeasurementParameters.c:7: ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:27:23: warning: ?struct MemberJ? declared inside parameter list will not be visible outside of this definition or declaration A_SEQUENCE_OF(struct MemberJ { ^ :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:27:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberJ { ^~~~~~~~~~~~~ CC RANAP_SupportedRAB-ParameterBitrateList.lo CC RANAP_SupportedBitrate.lo CC RANAP_SourceUTRANCellID.lo In file included from :8:0, from ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:14, from RANAP_EUTRANFrequencies.c:7: ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:27:23: warning: ?struct MemberJ? declared inside parameter list will not be visible outside of this definition or declaration A_SEQUENCE_OF(struct MemberJ { ^ :17:16: note: in definition of macro ?A_SET_OF? void (*free)(type *); \ ^~~~ ../../include/osmocom/ranap/RANAP_EUTRANFrequencies.h:27:2: note: in expansion of macro ?A_SEQUENCE_OF? A_SEQUENCE_OF(struct MemberJ { ^~~~~~~~~~~~~ CC RANAP_SRB-ID.lo CC RANAP_SRB-TrCH-Mapping.lo CC RANAP_SRB-TrCH-MappingItem.lo CC RANAP_SRVCC-HO-Indication.lo CC RANAP_SRVCC-Information.lo CC RANAP_SRVCC-Operation-Possible.lo CC RANAP_SubflowSDU-Size.lo CC RANAP_TAC.lo CC RANAP_TAI.lo CC RANAP_Target-ToSource-TransparentContainer.lo CC RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.lo CC RANAP_TargetBSS-ToSourceBSS-TransparentContainer.lo CC RANAP_TargetCellId.lo CC RANAP_TargetID.lo CC RANAP_TargetENB-ID.lo CC RANAP_TargetRNC-ID.lo CC RANAP_TargetRNC-ToSourceRNC-TransparentContainer.lo CC RANAP_TBCD-STRING.lo CC RANAP_TemporaryUE-ID.lo CC RANAP_Time-UE-StayedInCell.lo CC RANAP_Time-UE-StayedInCell-EnhancedGranularity.lo CC RANAP_TimeToMBMSDataTransfer.lo CC RANAP_TimingDifferenceULDL.lo CC RANAP_TMGI.lo CC RANAP_TMSI.lo CC RANAP_TraceDepth.lo CC RANAP_TraceInformation.lo CC RANAP_TracePropagationParameters.lo CC RANAP_TraceRecordingSessionInformation.lo CC RANAP_TraceRecordingSessionReference.lo CC RANAP_TraceReference.lo CC RANAP_TraceType.lo CC RANAP_TrafficClass.lo CC RANAP_TrafficHandlingPriority.lo CC RANAP_TransferDelay.lo CC RANAP_UnsuccessfullyTransmittedDataVolume.lo CC RANAP_TransportLayerAddress.lo CC RANAP_TrCH-ID.lo CC RANAP_TrCH-ID-List.lo CC RANAP_TriggerID.lo CC RANAP_TunnelInformation.lo CC RANAP_TypeOfError.lo CC RANAP_UE-AggregateMaximumBitRate.lo CC RANAP_UE-AggregateMaximumBitRateDownlink.lo CC RANAP_UE-AggregateMaximumBitRateUplink.lo CC RANAP_UE-History-Information.lo CC RANAP_UE-ID.lo CC RANAP_UESBI-Iu.lo CC RANAP_UESBI-IuA.lo CC RANAP_UESBI-IuB.lo CC RANAP_UL-GTP-PDU-SequenceNumber.lo CC RANAP_UL-N-PDU-SequenceNumber.lo CC RANAP_UPInformation.lo CC RANAP_UPInitialisationFrame.lo CC RANAP_UP-ModeVersions.lo CC RANAP_USCH-ID.lo CC RANAP_UserPlaneMode.lo CC RANAP_UTRAN-CellID.lo CC RANAP_VelocityEstimate.lo CC RANAP_HorizontalVelocity.lo CC RANAP_HorizontalWithVerticalVelocity.lo CC RANAP_HorizontalVelocityWithUncertainty.lo CC RANAP_HorizontalWithVerticalVelocityAndUncertainty.lo CC RANAP_HorizontalSpeedAndBearing.lo CC RANAP_VerticalVelocity.lo CC RANAP_VerticalSpeedDirection.lo CC RANAP_VerticalAccuracyCode.lo CC RANAP_VoiceSupportMatchIndicator.lo CC RANAP_RANAP-PDU.lo CC RANAP_InitiatingMessage.lo CC RANAP_SuccessfulOutcome.lo CC RANAP_UnsuccessfulOutcome.lo CC RANAP_Outcome.lo CC RANAP_Iu-ReleaseCommand.lo CC RANAP_Iu-ReleaseComplete.lo CC RANAP_RelocationRequired.lo CC RANAP_RelocationCommand.lo CC RANAP_RelocationPreparationFailure.lo CC RANAP_RelocationRequest.lo CC RANAP_RelocationRequestAcknowledge.lo CC RANAP_RelocationFailure.lo CC RANAP_RelocationCancel.lo CC RANAP_RelocationCancelAcknowledge.lo CC RANAP_SRNS-ContextRequest.lo CC RANAP_RAB-DataForwardingList-SRNS-CtxReq.lo CC RANAP_DataVolumeReportRequest.lo CC RANAP_SRNS-ContextResponse.lo CC RANAP_SecurityModeCommand.lo CC RANAP_SecurityModeComplete.lo CC RANAP_SecurityModeReject.lo CC RANAP_DataVolumeReport.lo CC RANAP_Reset.lo CC RANAP_ResetAcknowledge.lo CC RANAP_RAB-ReleaseRequest.lo CC RANAP_RedirectionIndication.lo CC RANAP_RAB-ReleaseList.lo CC RANAP_Iu-ReleaseRequest.lo CC RANAP_RelocationDetect.lo CC RANAP_RelocationComplete.lo CC RANAP_Paging.lo CC RANAP_CommonID.lo CC RANAP_CN-InvokeTrace.lo CC RANAP_CN-DeactivateTrace.lo CC RANAP_LocationReportingControl.lo CC RANAP_LocationReport.lo CC RANAP_InitialUE-Message.lo CC RANAP_DirectTransfer.lo CC RANAP_Overload.lo CC RANAP_ErrorIndication.lo CC RANAP_SRNS-DataForwardCommand.lo CC RANAP_ForwardSRNS-Context.lo CC RANAP_RAB-AssignmentRequest.lo CC RANAP_RAB-SetupOrModifyList.lo /bin/bash: line 1: 8030 Segmentation fault /bin/bash ../../libtool --silent --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"osmo-iuh\" -DPACKAGE_TARNAME=\"osmo-iuh\" -DPACKAGE_VERSION=\"0.4.0.1-04b5\" -DPACKAGE_STRING=\"osmo-iuh\ 0.4.0.1-04b5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-iuh\" -DVERSION=\"0.4.0.1-04b5\" -DSTDC_HEADERS=1 -I. -fsanitize=address -fsanitize=undefined -Wall -I../../include -I -I -I -g -O2 -fsanitize=address -fsanitize=undefined -Wall -MT RANAP_RAB-SetupOrModifyList.lo -MD -MP -MF .deps/RANAP_RAB-SetupOrModifyList.Tpo -c -o RANAP_RAB-SetupOrModifyList.lo RANAP_RAB-SetupOrModifyList.c Makefile:2506: recipe for target 'RANAP_RAB-SetupOrModifyList.lo' failed make[4]: *** [RANAP_RAB-SetupOrModifyList.lo] Error 139 make[4]: *** Waiting for unfinished jobs.... /bin/bash: line 1: 6776 Segmentation fault /bin/bash ../../libtool --silent --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"osmo-iuh\" -DPACKAGE_TARNAME=\"osmo-iuh\" -DPACKAGE_VERSION=\"0.4.0.1-04b5\" -DPACKAGE_STRING=\"osmo-iuh\ 0.4.0.1-04b5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"osmo-iuh\" -DVERSION=\"0.4.0.1-04b5\" -DSTDC_HEADERS=1 -I. -fsanitize=address -fsanitize=undefined -Wall -I../../include -I -I -I -g -O2 -fsanitize=address -fsanitize=undefined -Wall -MT RANAP_InitialUE-Message.lo -MD -MP -MF .deps/RANAP_InitialUE-Message.Tpo -c -o RANAP_InitialUE-Message.lo RANAP_InitialUE-Message.c Makefile:2506: recipe for target 'RANAP_InitialUE-Message.lo' failed make[4]: *** [RANAP_InitialUE-Message.lo] Error 139 make[4]: Leaving directory ' Makefile:642: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory ' Makefile:454: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory ' Makefile:458: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory ' Makefile:382: recipe for target 'all' failed make: *** [all] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Fri Mar 1 01:01:51 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 1 Mar 2019 01:01:51 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal?= =?UTF-8?Q?_:_master-osmo-iuh_=C2=BB_a1=3Ddefault?= =?UTF-8?Q?,a2=3Ddefault,a3=3Ddefault,a4=3Ddefau?= =?UTF-8?Q?lt,osmocom-master-debian9_#3222?= In-Reply-To: <1739273778.544.1551399196702.JavaMail.jenkins@jenkins.osmocom.org> References: <1739273778.544.1551399196702.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1180033654.545.1551402111094.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Fri Mar 1 08:15:11 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 08:15:11 +0000 Subject: Change in osmo-gsm-tester[master]: process: Speed-up terminating lots of processes by batching it Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13085 Change subject: process: Speed-up terminating lots of processes by batching it ...................................................................... process: Speed-up terminating lots of processes by batching it Introduce a strategy to terminate processes and begin with an implementation for parallel (that has no degree of parallelism right now). Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d --- M src/osmo_gsm_tester/process.py M src/osmo_gsm_tester/suite.py 2 files changed, 38 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/13085/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index b1769f8..1e53aba 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -21,12 +21,38 @@ import time import subprocess import signal +from abc import ABCMeta, abstractmethod from datetime import datetime from . import log from .event_loop import MainLoop from .util import Dir +class TerminationStrategy(log.Origin, metaclass=ABCMeta): + """A baseclass for terminating a collection of processes.""" + + def __init__(self): + self._processes = [] + + def add_process(self, process): + """Remembers a process that needs to be terminated.""" + self._processes.append(process) + + @abstractmethod + def terminate_all(self): + "Terminates all scheduled processes and waits for the termination.""" + pass + + +class ParallelTerminationStrategy(TerminationStrategy): + """Processes will be terminated in parallel.""" + + def terminate_all(self): + # TODO(zecke): Actually make this non-sequential. + for process in self._processes: + process.terminate() + + class Process(log.Origin): def __init__(self, name, run_dir, popen_args, **popen_kwargs): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index e5ac9a8..39da917 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,7 +23,7 @@ import pprint from . import config, log, util, resource, test from .event_loop import MainLoop -from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, modem, esme, osmocon, ms_driver, iperf3 +from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, modem, esme, osmocon, ms_driver, iperf3, process class Timeout(Exception): pass @@ -246,9 +246,11 @@ self._processes.insert(0, (process, respawn)) def stop_processes(self): + strategy = process.ParallelTerminationStrategy() while self._processes: - process, respawn = self._processes.pop() - process.terminate() + proc, _ = self._processes.pop() + strategy.add_process(proc) + strategy.terminate_all() def stop_process(self, process): 'Remove process from monitored list and stop it' @@ -382,15 +384,15 @@ def poll(self): if self._processes: - for process, respawn in self._processes: - if process.terminated(): + for proc, respawn in self._processes: + if proc.terminated(): if respawn == True: - process.respawn() + proc.respawn() else: - process.log_stdout_tail() - process.log_stderr_tail() - log.ctx(process) - raise log.Error('Process ended prematurely: %s' % process.name()) + proc.log_stdout_tail() + proc.log_stderr_tail() + log.ctx(proc) + raise log.Error('Process ended prematurely: %s' % proc.name()) def prompt(self, *msgs, **msg_details): 'ask for user interaction. Do not use in tests that should run automatically!' -- To view, visit https://gerrit.osmocom.org/13085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d Gerrit-Change-Number: 13085 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 08:15:12 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 08:15:12 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make sending signals (kill) externally visible Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13086 Change subject: process: Make sending signals (kill) externally visible ...................................................................... process: Make sending signals (kill) externally visible Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8 --- M src/osmo_gsm_tester/process.py 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/13086/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index 1e53aba..3050f83 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -145,6 +145,12 @@ def send_signal(self, sig): os.kill(self.process_obj.pid, sig) + def kill(self, sig): + """Kills the process with the given signal and remembers it.""" + self.log('Terminating (%s)' % sig.name) + self.send_signal(sig) + self.killed = sig + def terminate(self): if self.process_obj is None: return @@ -153,23 +159,17 @@ while True: # first try SIGINT to allow stdout+stderr flushing - self.log('Terminating (SIGINT)') - self.send_signal(signal.SIGINT) - self.killed = signal.SIGINT + self.kill(signal.SIGINT) if self._poll_termination(): break # SIGTERM maybe? - self.log('Terminating (SIGTERM)') - self.send_signal(signal.SIGTERM) - self.killed = signal.SIGTERM + self.kill(signal.SIGTERM) if self._poll_termination(): break # out of patience - self.log('Terminating (SIGKILL)') - self.send_signal(signal.SIGKILL) - self.killed = signal.SIGKILL + self.kill(signal.SIGKILL) break; self.process_obj.wait() -- To view, visit https://gerrit.osmocom.org/13086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8 Gerrit-Change-Number: 13086 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 08:15:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 08:15:13 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13087 Change subject: process: Make killing processes non-sequential ...................................................................... process: Make killing processes non-sequential Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 --- M src/osmo_gsm_tester/process.py 1 file changed, 73 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/13087/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index 3050f83..bb13131 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -47,10 +47,75 @@ class ParallelTerminationStrategy(TerminationStrategy): """Processes will be terminated in parallel.""" - def terminate_all(self): - # TODO(zecke): Actually make this non-sequential. + def _prune_dead_processes(self, poll_first): + """Removes all dead processes from the list.""" + # Remove all processes that terminated! + self._processes = list(filter(lambda proc: proc.is_running(poll_first), self._processes)) + + def _build_process_map(self): + """Builds a mapping from pid to process.""" + self._process_map = {} for process in self._processes: - process.terminate() + pid = process.pid() + if pid is None: + continue + self._process_map[pid] = process + + def _poll_once(self): + """Polls for to be collected children once.""" + pid, result = os.waitpid(0, os.WNOHANG) + proc = self._process_map.get(pid) + # Did some other process die? + if pid == 0: + return False + if proc is None: + self.log("Unknown process with pid(%d) died." % pid) + return False + # Update the process state and forget about it + self.log("PID %d died..." % pid) + proc.result = result + proc.cleanup() + self._processes.remove(proc) + del self._process_map[pid] + return True + + def _poll_for_termination(self, time_to_wait_for_term=5): + """Waits for the termination of processes until timeout|all ended.""" + + wait_step = 0.001 + waited_time = 0 + while len(self._processes) > 0: + # Collect processes until there are none to be collected. + while True: + try: + if not self._poll_once(): + break + except ChildProcessError: + break + + # All processes died and we can return before sleeping + if len(self._processes) == 0: + break + waited_time += wait_step + # make wait_step approach 1.0 + wait_step = (1. + 5. * wait_step) / 6. + if waited_time >= time_to_wait_for_term: + break + time.sleep(wait_step) + + def terminate_all(self): + self.log("Scheduled to terminate %d processes." % len(self._processes)) + self._prune_dead_processes(True) + self._build_process_map() + + # Iterate through all signals. + for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGKILL]: + self.log("Starting to kill with %s" % sig.name) + for process in self._processes: + process.kill(sig) + if sig == signal.SIGKILL: + continue + self._poll_for_termination() class Process(log.Origin): @@ -145,6 +210,11 @@ def send_signal(self, sig): os.kill(self.process_obj.pid, sig) + def pid(self): + if self.process_obj is None: + return None + return self.process_obj.pid + def kill(self, sig): """Kills the process with the given signal and remembers it.""" self.log('Terminating (%s)' % sig.name) -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 08:15:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 08:15:13 +0000 Subject: Change in osmo-gsm-tester[master]: process: Introduce and use an asyncio strategy for killing Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13088 Change subject: process: Introduce and use an asyncio strategy for killing ...................................................................... process: Introduce and use an asyncio strategy for killing Use asyncio to concurrently terminate all processes. Change-Id: I3441e280241a5ee1404623f1f0b5faf56271227d --- M src/osmo_gsm_tester/process.py M src/osmo_gsm_tester/suite.py 2 files changed, 51 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/13088/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index bb13131..c3ca4ba 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -17,6 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +import asyncio import os import time import subprocess @@ -118,6 +119,22 @@ self._poll_for_termination() +class AsyncioTerminationStrategy(TerminationStrategy): + """Using asyncio to terminate all processes.""" + + # The asyncio event loop to use. + loop = asyncio.get_event_loop() + + def terminate_all(self): + # TODO(zecke): Make this use asyncio.run when moving to python 3.7. + self.loop.run_until_complete(self.do_terminate_all()) + self.log("Deletion completed") + + async def do_terminate_all(self): + calls = [proc.terminate_async() for proc in self._processes] + await asyncio.gather(*calls) + + class Process(log.Origin): def __init__(self, name, run_dir, popen_args, **popen_kwargs): @@ -207,6 +224,22 @@ time.sleep(wait_step) return False + async def _poll_termination_async(self, time_to_wait_for_term=5): + wait_step = 0.001 + waited_time = 0 + while True: + # poll returns None if proc is still running + self.result = self.process_obj.poll() + if self.result is not None: + return True + waited_time += wait_step + # make wait_step approach 1.0 + wait_step = (1. + 5. * wait_step) / 6. + if waited_time >= time_to_wait_for_term: + break + asyncio.sleep(wait_step) + return False + def send_signal(self, sig): os.kill(self.process_obj.pid, sig) @@ -221,6 +254,22 @@ self.send_signal(sig) self.killed = sig + async def terminate_async(self): + """Terminates this process using asyncio.""" + if self.process_obj is None: + return + if self.result is not None: + return + + for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGKILL]: + self.kill(sig) + if sig == signal.SIGKILL: + continue + if await self._poll_termination_async(): + break + self.process_obj.wait() + self.cleanup() + def terminate(self): if self.process_obj is None: return @@ -240,7 +289,7 @@ # out of patience self.kill(signal.SIGKILL) - break; + break self.process_obj.wait() self.cleanup() diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 39da917..1a32963 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -246,7 +246,7 @@ self._processes.insert(0, (process, respawn)) def stop_processes(self): - strategy = process.ParallelTerminationStrategy() + strategy = process.AsyncioTerminationStrategy() while self._processes: proc, _ = self._processes.pop() strategy.add_process(proc) -- To view, visit https://gerrit.osmocom.org/13088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3441e280241a5ee1404623f1f0b5faf56271227d Gerrit-Change-Number: 13088 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Mar 1 09:42:00 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 1 Mar 2019 09:42:00 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master-osmo-trx_=C2=BB_--with-ss?= =?UTF-8?Q?e,1,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#912?= Message-ID: <1455969381.560.1551433320484.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 107.49 KB...] Searching INPUT for files to process... Reading and parsing tag files Parsing files Building group list... Building directory list... Building namespace list... Building file list... Building class list... Associating documentation with classes... Computing nesting relations for classes... Building example list... Searching for enumerations... Searching for documented typedefs... Searching for members imported via using declarations... Searching for included using directives... Searching for documented variables... Building interface member list... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Freeing entry tree Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Sorting member lists... Computing dependencies between directories... Generating citations page... Counting data structures... Resolving user defined references... Finding anchors and sections in the documentation... Transferring function references... Combining using relations... Adding members to index pages... Generating style sheet... Generating search indices... Generating example documentation... Generating file sources... Generating file documentation... Generating page documentation... Generating group documentation... Generating class documentation... Generating namespace index... Generating graph info page... Generating directory documentation... Generating index page... Generating page index... Generating module index... Generating namespace index... Generating namespace member index... Generating annotated compound index... Generating alphabetical compound index... Generating hierarchical class index... Generating graphical class hierarchy... Generating member index... Generating file index... Generating file member index... Generating example index... finalizing index lists... writing tag file... Running dot... Running dot for graph 1/1 lookup cache used 0/65536 hits=0 misses=0 finished... make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_guide.html cp -r html /usr/bin/install -c -m 644 ../README ' make[5]: Leaving directory ' make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in firmware make[2]: Entering directory ' Making install in include make[3]: Entering directory ' make[4]: Entering directory ' make[4]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_i2c_addr.h usrp_spi_defs.h fpga_regs_common.h fpga_regs_standard.h ' make[4]: Leaving directory ' make[3]: Leaving directory ' Making install in lib make[3]: Entering directory ' sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c delay.c -o delay.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c fx2utils.c -o fx2utils.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c i2c.c -o i2c.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c isr.c -o isr.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c timer.c -o timer.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c usb_common.c -o usb_common.rel timer.c:45: warning 158: overflow in implicit constant conversion usb_common.c:65: warning 196: pointer target lost const qualifier usb_common.c:66: warning 196: pointer target lost const qualifier usb_common.c:67: warning 196: pointer target lost const qualifier usb_common.c:68: warning 196: pointer target lost const qualifier usb_common.c:71: warning 196: pointer target lost const qualifier usb_common.c:72: warning 196: pointer target lost const qualifier usb_common.c:73: warning 196: pointer target lost const qualifier usb_common.c:74: warning 196: pointer target lost const qualifier isr.c:73: warning 94: comparison is always false due to limited range of data type isr.c:100: warning 94: comparison is always false due to limited range of data type -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'int fixed' to type 'volatile-unsigned-char xdata* xdata' usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:217: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:226: warning 126: unreachable code usb_common.c:184: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG usb_common.c:315: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG rm -f libfx2.lib touch libfx2.lib for obj in delay.rel fx2utils.rel i2c.rel isr.rel timer.rel usb_common.rel; do basename $obj .rel >> libfx2.lib ; done make[3]: Leaving directory ' Making install in src make[3]: Entering directory ' Making install in common make[4]: Entering directory ' make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory ' make[4]: Leaving directory ' Making install in usrp2 make[4]: Entering directory ' test -f `basename 'eeprom_boot.a51'` || ln -s 'eeprom_boot.a51' . sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_init.rel `test -f 'eeprom_init.c' || echo './'`eeprom_init.c test -f `basename '_startup.a51'` || ln -s '_startup.a51' . test -f `basename 'vectors.a51'` || ln -s 'vectors.a51' . srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_common.rel `test -f 'usrp_common.c' || echo './'`usrp_common.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o board_specific.rel `test -f 'board_specific.c' || echo './'`board_specific.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_load.rel `test -f 'fpga_load.c' || echo './'`fpga_load.c test -f ../common/`basename 'eeprom_boot.a51'` -o \ \! -f `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` \ || ln -s `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` ../common/`basename 'eeprom_boot.a51'` test -f ../common/`basename 'vectors.a51'` -o \ \! -f `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` \ || ln -s `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` ../common/`basename 'vectors.a51'` test -f ../common/`basename '_startup.a51'` -o \ \! -f `dirname '_startup.a51'`/../common/`basename '_startup.a51'` \ || ln -s `dirname '_startup.a51'`/../common/`basename '_startup.a51'` ../common/`basename '_startup.a51'` sdas8051 -plosgff `basename 'vectors.a51'` sdas8051 -plosgff `basename '_startup.a51'` sdas8051 -plosgff `basename 'eeprom_boot.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_rev2.rel `test -f 'fpga_rev2.c' || echo './'`fpga_rev2.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o init_gpif.rel `test -f 'init_gpif.c' || echo './'`init_gpif.c ../common/fpga_load.c:139: warning 85: in function clock_out_config_byte unreferenced function argument : 'bits' srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h ../common/fpga_load.c:181: warning 126: unreachable code test -f `basename 'usb_descriptors.a51'` || ln -s 'usb_descriptors.a51' . sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o spi.rel `test -f 'spi.c' || echo './'`spi.c test -f ../common/`basename 'usb_descriptors.a51'` -o \ \! -f `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` \ || ln -s `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` ../common/`basename 'usb_descriptors.a51'` board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'bits' board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'mask' sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_io.rel `test -f 'eeprom_io.c' || echo './'`eeprom_io.c sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o eeprom_boot.ihx eeprom_boot.rel eeprom_init.rel _startup.rel sdas8051 -plosgff `basename 'usb_descriptors.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_main.rel `test -f 'usrp_main.c' || echo './'`usrp_main.c ./../common/build_eeprom.py -p -r2 eeprom_boot.ihx > burn-usrp2-eeprom ./../common/build_eeprom.py -p -r4 eeprom_boot.ihx > burn-usrp4-eeprom sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_gpif.rel `test -f 'usrp_gpif.c' || echo './'`usrp_gpif.c usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion chmod +x burn-usrp2-eeprom chmod +x burn-usrp4-eeprom usrp_main.c:223: warning 112: function 'setup_flowstate_common' implicit declaration usrp_main.c:260: warning 112: function 'setup_flowstate_write' implicit declaration usrp_main.c:282: warning 112: function 'setup_flowstate_read' implicit declaration usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o std.ihx vectors.rel usrp_main.rel usrp_common.rel board_specific.rel fpga_load.rel fpga_rev2.rel init_gpif.rel usrp_gpif.rel usb_descriptors.rel spi.rel eeprom_io.rel _startup.rel ?ASlink-Warning-Undefined Global '_setup_flowstate_read' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_write' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_common' referenced by module 'usrp_main' Makefile:688: recipe for target 'std.ihx' failed make[4]: *** [std.ihx] Error 1 make[4]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory ' Makefile:628: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:925: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Fri Mar 1 10:14:38 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 10:14:38 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate configuration generator In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13081 to look at the new patch set (#3). Change subject: gsm0808_utils: fix gsm48 multirate configuration generator ...................................................................... gsm0808_utils: fix gsm48 multirate configuration generator The function gsm0808_sc_cfg_from_gsm48_mr_cfg() takes an S15 to S0 bitmask and converts that bitmask into an AMR multirate configuration struct. Unfortunately the current implementation implements 3GPP TS 28.062, Table 7.11.3.1.3-2 wrongly in some aspects. Lets fix this. - Fix wrong interpretation of the bitpatterns - 5,15K is invalid and must never be selected - Make sure that no more than 4 rates are selected in the active set - Extend unit-test Change-Id: I6fd7f4073b84093742c322752f2fd878d1071e15 Related: SYS#4470 --- M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/protocol/gsm_08_08.h M src/gsm/gsm0808_utils.c M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 5 files changed, 318 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/13081/3 -- To view, visit https://gerrit.osmocom.org/13081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6fd7f4073b84093742c322752f2fd878d1071e15 Gerrit-Change-Number: 13081 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 10:14:39 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 10:14:39 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate to S-bit converter Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13089 Change subject: gsm0808_utils: fix gsm48 multirate to S-bit converter ...................................................................... gsm0808_utils: fix gsm48 multirate to S-bit converter The function gsm0808_sc_cfg_from_gsm48_mr_cfg() is used to convert a gsm48 multirate struct into a set of S-bits (S0 to S15). However, the conversion function currently does not take into account that bit S1 actually stands for four rates at once (Config-NB-Code = 1). Lets make sure that S1 is only set when the multirate configuration permits all four required rates. Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Related: SYS#4470 --- M src/gsm/gsm0808_utils.c M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 3 files changed, 53 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/13089/1 diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 4c9c9a2..c5e08dc 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1340,6 +1340,14 @@ else s15_s0 &= GSM0808_SC_CFG_DEFAULT_HR_AMR; + /* The mode that is encoded by S1 (Config-NB-Code = 1), takes a special + * role as it does not stand for a single rate, but for for rates + * at once (12.2, 7.4, 5.9, 4.75). We must check if the supllied cfg + * covers this mode. If not, we need to make sure that the related + * bit is removed. (See also 3GPP TS 28.062, Table 7.11.3.1.3-2) */ + if (!(cfg->m12_2 && cfg->m7_40 && cfg->m5_90 && cfg->m4_75)) + s15_s0 &= ~GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20; + return s15_s0; } diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index def7771..347898f 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -1902,6 +1902,17 @@ cfg.m10_2 = 1; cfg.m12_2 = 1; test_gsm0808_sc_cfg_from_gsm48_mr_cfg_single(&cfg); + + /* Test 3GPP TS 28.062, Table 7.11.3.1.3-2, Config-NB-Code = 1 */ + cfg.m4_75 = 1; + cfg.m5_15 = 0; + cfg.m5_90 = 1; + cfg.m6_70 = 0; + cfg.m7_40 = 1; + cfg.m7_95 = 0; + cfg.m10_2 = 0; + cfg.m12_2 = 1; + test_gsm0808_sc_cfg_from_gsm48_mr_cfg_single(&cfg); } static void test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(uint16_t s15_s0) diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok index b749f14..f92c6b2 100644 --- a/tests/gsm0808/gsm0808_test.ok +++ b/tests/gsm0808/gsm0808_test.ok @@ -110,9 +110,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 5703 = 0b0101011100000011 + S15-S0 = 5701 = 0b0101011100000001 Result (hr): - S15-S0 = 0703 = 0b0000011100000011 + S15-S0 = 0701 = 0b0000011100000001 Input: m4_75= 0 smod= 0 @@ -138,9 +138,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 5706 = 0b0101011100000110 + S15-S0 = 5704 = 0b0101011100000100 Result (hr): - S15-S0 = 0706 = 0b0000011100000110 + S15-S0 = 0704 = 0b0000011100000100 Input: m4_75= 0 smod= 0 @@ -166,9 +166,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 0412 = 0b0000010000010010 + S15-S0 = 0410 = 0b0000010000010000 Result (hr): - S15-S0 = 0412 = 0b0000010000010010 + S15-S0 = 0410 = 0b0000010000010000 Input: m4_75= 0 smod= 0 @@ -208,9 +208,9 @@ m10_2= 0 m12_2= 1 Result (fr): - S15-S0 = 4082 = 0b0100000010000010 + S15-S0 = 4080 = 0b0100000010000000 Result (hr): - S15-S0 = 0002 = 0b0000000000000010 + S15-S0 = 0000 = 0b0000000000000000 Input: m4_75= 1 smod= 0 @@ -222,9 +222,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 570f = 0b0101011100001111 + S15-S0 = 570d = 0b0101011100001101 Result (hr): - S15-S0 = 070f = 0b0000011100001111 + S15-S0 = 070d = 0b0000011100001101 Input: m4_75= 0 smod= 0 @@ -236,9 +236,9 @@ m10_2= 1 m12_2= 1 Result (fr): - S15-S0 = 54f2 = 0b0101010011110010 + S15-S0 = 54f0 = 0b0101010011110000 Result (hr): - S15-S0 = 0432 = 0b0000010000110010 + S15-S0 = 0430 = 0b0000010000110000 Input: m4_75= 0 smod= 0 @@ -250,9 +250,9 @@ m10_2= 1 m12_2= 1 Result (fr): - S15-S0 = 57ce = 0b0101011111001110 + S15-S0 = 57cc = 0b0101011111001100 Result (hr): - S15-S0 = 070e = 0b0000011100001110 + S15-S0 = 070c = 0b0000011100001100 Input: m4_75= 1 smod= 0 @@ -264,9 +264,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 5733 = 0b0101011100110011 + S15-S0 = 5731 = 0b0101011100110001 Result (hr): - S15-S0 = 0733 = 0b0000011100110011 + S15-S0 = 0731 = 0b0000011100110001 Input: m4_75= 0 smod= 0 @@ -278,9 +278,9 @@ m10_2= 0 m12_2= 1 Result (fr): - S15-S0 = 56aa = 0b0101011010101010 + S15-S0 = 56a8 = 0b0101011010101000 Result (hr): - S15-S0 = 062a = 0b0000011000101010 + S15-S0 = 0628 = 0b0000011000101000 Input: m4_75= 1 smod= 0 @@ -292,9 +292,9 @@ m10_2= 1 m12_2= 0 Result (fr): - S15-S0 = 5757 = 0b0101011101010111 + S15-S0 = 5755 = 0b0101011101010101 Result (hr): - S15-S0 = 0717 = 0b0000011100010111 + S15-S0 = 0715 = 0b0000011100010101 Input: m4_75= 1 smod= 0 @@ -310,6 +310,20 @@ Result (hr): S15-S0 = 073f = 0b0000011100111111 +Input: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 0 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 0 + m7_95= 0 + m10_2= 0 + m12_2= 1 +Result (fr): + S15-S0 = 5797 = 0b0101011110010111 +Result (hr): + S15-S0 = 0717 = 0b0000011100010111 + Testing gsm48_mr_cfg_from_gsm0808_sc_cfg(): Input: S15-S0 = ff03 = 0b1111111100000011 -- To view, visit https://gerrit.osmocom.org/13089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Gerrit-Change-Number: 13089 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 12:08:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 12:08:56 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate configuration generator In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13081 ) Change subject: gsm0808_utils: fix gsm48 multirate configuration generator ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6fd7f4073b84093742c322752f2fd878d1071e15 Gerrit-Change-Number: 13081 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 01 Mar 2019 12:08:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 12:09:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 12:09:49 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate to S-bit converter In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13089 ) Change subject: gsm0808_utils: fix gsm48 multirate to S-bit converter ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Gerrit-Change-Number: 13089 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 01 Mar 2019 12:09:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 12:11:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 12:11:19 +0000 Subject: Change in osmo-gsm-tester[master]: process: Introduce and use an asyncio strategy for killing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13088 ) Change subject: process: Introduce and use an asyncio strategy for killing ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3441e280241a5ee1404623f1f0b5faf56271227d Gerrit-Change-Number: 13088 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 12:11:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 12:57:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 12:57:43 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13087 ) Change subject: process: Make killing processes non-sequential ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 12:57:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 12:58:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 12:58:01 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make sending signals (kill) externally visible In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13086 ) Change subject: process: Make sending signals (kill) externally visible ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8 Gerrit-Change-Number: 13086 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 12:58:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 12:58:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 12:58:29 +0000 Subject: Change in osmo-gsm-tester[master]: process: Speed-up terminating lots of processes by batching it In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13085 ) Change subject: process: Speed-up terminating lots of processes by batching it ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d Gerrit-Change-Number: 13085 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 12:58:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 13:43:21 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 13:43:21 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove imports of unused modules In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13070 ) Change subject: pyflakes: Remove imports of unused modules ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7496030e5857078cd66a36a5e46c9a50217ce6e3 Gerrit-Change-Number: 13070 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 13:43:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 13:44:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 13:44:30 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove assigned but unread variables In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13071 ) Change subject: pyflakes: Remove assigned but unread variables ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie257ac051739ea6f846d1aac2c8f778638b5f8a6 Gerrit-Change-Number: 13071 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 13:44:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 13:45:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 13:45:53 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove occurrences of using undefined variables In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13072 ) Change subject: pyflakes: Remove occurrences of using undefined variables ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iba18a96ff804780e66c69b459e112f9d42b7b2ff Gerrit-Change-Number: 13072 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 13:45:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 13:46:13 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 13:46:13 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Rename local variable to not shadow import In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13073 ) Change subject: pyflakes: Rename local variable to not shadow import ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib70130dbbeeeb9813eaea707bf66f1db91088b92 Gerrit-Change-Number: 13073 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 13:46:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 14:04:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 14:04:09 +0000 Subject: Change in libosmo-netif[master]: AMR: add functions to convert between bw-efficient and octet-aligned In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13049 ) Change subject: AMR: add functions to convert between bw-efficient and octet-aligned ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Gerrit-Change-Number: 13049 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 14:04:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Mar 1 14:22:38 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 1 Mar 2019 14:22:38 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_:_master-osmo-trx_=C2=BB_--wit?= =?UTF-8?Q?h-sse,1,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#913?= In-Reply-To: <1455969381.560.1551433320484.JavaMail.jenkins@jenkins.osmocom.org> References: <1455969381.560.1551433320484.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1323144386.562.1551450158147.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:08:29 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:08:29 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove imports of unused modules In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13070 ) Change subject: pyflakes: Remove imports of unused modules ...................................................................... pyflakes: Remove imports of unused modules Change-Id: I7496030e5857078cd66a36a5e46c9a50217ce6e3 --- M src/osmo_gsm_tester/osmo_ggsn.py M src/osmo_gsm_tester/osmo_hlr.py M src/osmo_gsm_tester/osmo_mgcpgw.py M src/osmo_gsm_tester/osmo_mgw.py M src/osmo_gsm_tester/osmo_sgsn.py M src/osmo_gsm_tester/pcap_recorder.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/template.py M src/osmo_gsm_tester/util.py 9 files changed, 7 insertions(+), 18 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Holger Freyther: Verified diff --git a/src/osmo_gsm_tester/osmo_ggsn.py b/src/osmo_gsm_tester/osmo_ggsn.py index 2fdc792..0ece596 100644 --- a/src/osmo_gsm_tester/osmo_ggsn.py +++ b/src/osmo_gsm_tester/osmo_ggsn.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process, pcap_recorder class OsmoGgsn(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/osmo_hlr.py index a4633e3..1c361dd 100644 --- a/src/osmo_gsm_tester/osmo_hlr.py +++ b/src/osmo_gsm_tester/osmo_hlr.py @@ -18,11 +18,10 @@ # along with this program. If not, see . import os -import re import pprint import sqlite3 -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process, pcap_recorder class OsmoHlr(log.Origin): run_dir = None diff --git a/src/osmo_gsm_tester/osmo_mgcpgw.py b/src/osmo_gsm_tester/osmo_mgcpgw.py index 668e4ce..20bb689 100644 --- a/src/osmo_gsm_tester/osmo_mgcpgw.py +++ b/src/osmo_gsm_tester/osmo_mgcpgw.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process, pcap_recorder class OsmoMgcpgw(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_mgw.py b/src/osmo_gsm_tester/osmo_mgw.py index 1d5596e..ca7bd51 100644 --- a/src/osmo_gsm_tester/osmo_mgw.py +++ b/src/osmo_gsm_tester/osmo_mgw.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process, pcap_recorder class OsmoMgw(log.Origin): diff --git a/src/osmo_gsm_tester/osmo_sgsn.py b/src/osmo_gsm_tester/osmo_sgsn.py index 07cf059..9ffaaed 100644 --- a/src/osmo_gsm_tester/osmo_sgsn.py +++ b/src/osmo_gsm_tester/osmo_sgsn.py @@ -20,7 +20,7 @@ import os import pprint -from . import log, util, config, template, process, osmo_ctrl, pcap_recorder +from . import log, util, config, template, process, pcap_recorder class OsmoSgsn(log.Origin): diff --git a/src/osmo_gsm_tester/pcap_recorder.py b/src/osmo_gsm_tester/pcap_recorder.py index 70833d0..e0f0098 100644 --- a/src/osmo_gsm_tester/pcap_recorder.py +++ b/src/osmo_gsm_tester/pcap_recorder.py @@ -18,11 +18,8 @@ # along with this program. If not, see . import os -import random -import re -import socket -from . import log, util, config, template, process, osmo_ctrl +from . import log, process class PcapRecorder(log.Origin): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 4f48dc4..29f641e 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -18,7 +18,6 @@ # along with this program. If not, see . import os -import time import copy import atexit import pprint @@ -27,8 +26,6 @@ from . import config from . import util from . import schema -from . import modem -from . import osmo_nitb from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts from .util import is_dict, is_list diff --git a/src/osmo_gsm_tester/template.py b/src/osmo_gsm_tester/template.py index 0ddfc84..c890963 100644 --- a/src/osmo_gsm_tester/template.py +++ b/src/osmo_gsm_tester/template.py @@ -18,8 +18,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import os, sys -from mako.template import Template +import os from mako.lookup import TemplateLookup from . import log diff --git a/src/osmo_gsm_tester/util.py b/src/osmo_gsm_tester/util.py index 27c71cf..930c86a 100644 --- a/src/osmo_gsm_tester/util.py +++ b/src/osmo_gsm_tester/util.py @@ -27,9 +27,6 @@ import atexit import threading import importlib.util -import fcntl -import tty -import readline import subprocess # This mirrors enum osmo_auth_algo in libosmocore/include/osmocom/crypt/auth.h -- To view, visit https://gerrit.osmocom.org/13070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7496030e5857078cd66a36a5e46c9a50217ce6e3 Gerrit-Change-Number: 13070 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:08:41 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:08:41 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove assigned but unread variables In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13071 ) Change subject: pyflakes: Remove assigned but unread variables ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/13071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie257ac051739ea6f846d1aac2c8f778638b5f8a6 Gerrit-Change-Number: 13071 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:08:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:08:52 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:08:52 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove assigned but unread variables In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13071 ) Change subject: pyflakes: Remove assigned but unread variables ...................................................................... pyflakes: Remove assigned but unread variables Change-Id: Ie257ac051739ea6f846d1aac2c8f778638b5f8a6 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/osmo_nitb.py M src/osmo_gsm_tester/template.py M src/osmo_gsm_tester/util.py 4 files changed, 8 insertions(+), 11 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Holger Freyther: Verified diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index f9b827a..95ebb6b 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -125,7 +125,7 @@ user_data = (result_handler, error_handler, user_data) # See https://lazka.github.io/pgi-docs/Gio-2.0/classes/DBusProxy.html#Gio.DBusProxy.call - ret = instance._bus.con.call( + instance._bus.con.call( instance._bus_name, instance._path, proxymethod._iface_name, proxymethod.__name__, GLib.Variant(proxymethod._sinargs, proxymethod_args), @@ -596,14 +596,14 @@ if self.is_attached(): self.detach() connmgr = self.dbus.interface(I_CONNMGR) - prop = connmgr.SetProperty('RoamingAllowed', Variant('b', allow_roaming)) - prop = connmgr.SetProperty('Powered', Variant('b', True)) + connmgr.SetProperty('RoamingAllowed', Variant('b', allow_roaming)) + connmgr.SetProperty('Powered', Variant('b', True)) def detach(self): self.dbg('detach') connmgr = self.dbus.interface(I_CONNMGR) - prop = connmgr.SetProperty('RoamingAllowed', Variant('b', False)) - prop = connmgr.SetProperty('Powered', Variant('b', False)) + connmgr.SetProperty('RoamingAllowed', Variant('b', False)) + connmgr.SetProperty('Powered', Variant('b', False)) connmgr.DeactivateAll() connmgr.ResetContexts() # Requires Powered=false @@ -734,7 +734,7 @@ call_dbus_obj = systembus_get(call_id) props = call_dbus_obj.GetProperties() state = props.get('State') - except Exception as e: + except Exception: self.log('asking call state for non existent call') log.log_exn() state = 'disconnected' diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/osmo_nitb.py index 66ab2a6..e161ccb 100644 --- a/src/osmo_gsm_tester/osmo_nitb.py +++ b/src/osmo_gsm_tester/osmo_nitb.py @@ -176,8 +176,6 @@ return osmo_ctrl.OsmoCtrl(self.nitb.addr(), OsmoNitbCtrl.PORT) def subscriber_add(self, imsi, msisdn, ki=None, algo=None): - created = False - if algo: value = '%s,%s,%s,%s' % (imsi,msisdn,algo,ki) else: diff --git a/src/osmo_gsm_tester/template.py b/src/osmo_gsm_tester/template.py index c890963..6ce7ebd 100644 --- a/src/osmo_gsm_tester/template.py +++ b/src/osmo_gsm_tester/template.py @@ -51,7 +51,6 @@ template = _lookup.get_template(tmpl_name) _logger.dbg('rendering', tmpl_name) - line_info_name = tmpl_name.replace('-', '_').replace('.', '_') return template.render(**dict2obj(values)) # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/util.py b/src/osmo_gsm_tester/util.py index 930c86a..e9a1f30 100644 --- a/src/osmo_gsm_tester/util.py +++ b/src/osmo_gsm_tester/util.py @@ -64,7 +64,7 @@ for line in proc.stdout.readlines(): if 'inet' in line and ' ' + ip + '/' in line: return line.split()[-1] - except Exception as e: + except Exception: pass return None @@ -79,7 +79,7 @@ if words[i] == 'src': return words[i+1] i += 1 - except Exception as e: + except Exception: pass return None -- To view, visit https://gerrit.osmocom.org/13071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie257ac051739ea6f846d1aac2c8f778638b5f8a6 Gerrit-Change-Number: 13071 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:09:03 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:09:03 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove occurrences of using undefined variables In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13072 ) Change subject: pyflakes: Remove occurrences of using undefined variables ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/13072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iba18a96ff804780e66c69b459e112f9d42b7b2ff Gerrit-Change-Number: 13072 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:09:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:09:05 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:09:05 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Remove occurrences of using undefined variables In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13072 ) Change subject: pyflakes: Remove occurrences of using undefined variables ...................................................................... pyflakes: Remove occurrences of using undefined variables Mention the attribute right away and remove a method that looks to have been broken (more vs. more_rules). Change-Id: Iba18a96ff804780e66c69b459e112f9d42b7b2ff --- M src/osmo_gsm_tester/bts_nanobts.py M src/osmo_gsm_tester/resource.py 2 files changed, 1 insertion(+), 6 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Holger Freyther: Verified diff --git a/src/osmo_gsm_tester/bts_nanobts.py b/src/osmo_gsm_tester/bts_nanobts.py index 5fe8bae..4cdb98e 100644 --- a/src/osmo_gsm_tester/bts_nanobts.py +++ b/src/osmo_gsm_tester/bts_nanobts.py @@ -92,7 +92,7 @@ def start(self, keepalive=False): if self.conf.get('ipa_unit_id') is None: - raise log.Error('No attribute %s provided in conf!' % attr) + raise log.Error('No attribute ipa_unit_id provided in conf!') self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self._configure() diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 29f641e..98651ce 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -395,11 +395,6 @@ raise RuntimeError('adding a list of resources to itself?') config.add(self, copy.deepcopy(more)) - def combine(self, more_rules): - if more_rules is self: - raise RuntimeError('combining a list of resource rules with itself?') - config.combine(self, copy.deepcopy(more)) - def mark_reserved_by(self, origin_id): for key, item_list in self.items(): for item in item_list: -- To view, visit https://gerrit.osmocom.org/13072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iba18a96ff804780e66c69b459e112f9d42b7b2ff Gerrit-Change-Number: 13072 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Mar 1 15:10:06 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 1 Mar 2019 15:10:06 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_ma?= =?UTF-8?Q?ster-asn1c_=C2=BB_a1=3Ddefault,a2=3Dd?= =?UTF-8?Q?efault,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#416?= In-Reply-To: <1252247193.542.1551366606650.JavaMail.jenkins@jenkins.osmocom.org> References: <1252247193.542.1551366606650.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1482067124.564.1551453007009.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 3.69 KB...] + ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... no checking for xlf... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for f90... no checking for xlf90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for f95... no checking for fort... no checking for xlf95... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking for autoconf... /usr/bin/autoconf checking for autoheader... /usr/bin/autoheader checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for bison... bison -y checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for ar... /usr/bin/ar checking for ANSI C header files... (cached) yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking whether byte ordering is bigendian... no checking for off_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for intmax_t... yes checking for library containing getopt... none required checking for strtoimax... yes checking for strtoll... yes checking for mergesort... no checking for mkstemps... yes configure: creating ./config.status config.status: creating skeletons/standard-modules/Makefile config.status: creating skeletons/tests/Makefile config.status: creating libasn1compiler/Makefile config.status: creating libasn1parser/Makefile config.status: creating libasn1print/Makefile config.status: creating asn1c/webcgi/Makefile config.status: creating asn1c/tests/Makefile config.status: creating libasn1fix/Makefile config.status: creating skeletons/Makefile config.status: creating examples/Makefile config.status: creating tests/Makefile config.status: creating asn1c/Makefile config.status: creating doc/Makefile config.status: creating asn1c.spec config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands + make -j 8 make all-recursive make[1]: Entering directory ' Making all in libasn1parser make[2]: Entering directory ' if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1parser.lo -MD -MP -MF ".deps/asn1parser.Tpo" -c -o asn1parser.lo asn1parser.c; \ then mv -f ".deps/asn1parser.Tpo" ".deps/asn1parser.Plo"; else rm -f ".deps/asn1parser.Tpo"; exit 1; fi bison -y -p asn1p_ -d asn1p_y.y if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_l.lo -MD -MP -MF ".deps/asn1p_l.Tpo" -c -o asn1p_l.lo asn1p_l.c; \ then mv -f ".deps/asn1p_l.Tpo" ".deps/asn1p_l.Plo"; else rm -f ".deps/asn1p_l.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_module.lo -MD -MP -MF ".deps/asn1p_module.Tpo" -c -o asn1p_module.lo asn1p_module.c; \ then mv -f ".deps/asn1p_module.Tpo" ".deps/asn1p_module.Plo"; else rm -f ".deps/asn1p_module.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_oid.lo -MD -MP -MF ".deps/asn1p_oid.Tpo" -c -o asn1p_oid.lo asn1p_oid.c; \ then mv -f ".deps/asn1p_oid.Tpo" ".deps/asn1p_oid.Plo"; else rm -f ".deps/asn1p_oid.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_value.lo -MD -MP -MF ".deps/asn1p_value.Tpo" -c -o asn1p_value.lo asn1p_value.c; \ then mv -f ".deps/asn1p_value.Tpo" ".deps/asn1p_value.Plo"; else rm -f ".deps/asn1p_value.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_expr.lo -MD -MP -MF ".deps/asn1p_expr.Tpo" -c -o asn1p_expr.lo asn1p_expr.c; \ then mv -f ".deps/asn1p_expr.Tpo" ".deps/asn1p_expr.Plo"; else rm -f ".deps/asn1p_expr.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_xports.lo -MD -MP -MF ".deps/asn1p_xports.Tpo" -c -o asn1p_xports.lo asn1p_xports.c; \ then mv -f ".deps/asn1p_xports.Tpo" ".deps/asn1p_xports.Plo"; else rm -f ".deps/asn1p_xports.Tpo"; exit 1; fi asn1p_y.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr] mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_xports.lo -MD -MP -MF .deps/asn1p_xports.Tpo -c asn1p_xports.c -fPIC -DPIC -o .libs/asn1p_xports.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_value.lo -MD -MP -MF .deps/asn1p_value.Tpo -c asn1p_value.c -fPIC -DPIC -o .libs/asn1p_value.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_expr.lo -MD -MP -MF .deps/asn1p_expr.Tpo -c asn1p_expr.c -fPIC -DPIC -o .libs/asn1p_expr.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1parser.lo -MD -MP -MF .deps/asn1parser.Tpo -c asn1parser.c -fPIC -DPIC -o .libs/asn1parser.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_l.lo -MD -MP -MF .deps/asn1p_l.Tpo -c asn1p_l.c -fPIC -DPIC -o .libs/asn1p_l.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_module.lo -MD -MP -MF .deps/asn1p_module.Tpo -c asn1p_module.c -fPIC -DPIC -o .libs/asn1p_module.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_oid.lo -MD -MP -MF .deps/asn1p_oid.Tpo -c asn1p_oid.c -fPIC -DPIC -o .libs/asn1p_oid.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_xports.lo -MD -MP -MF .deps/asn1p_xports.Tpo -c asn1p_xports.c -o asn1p_xports.o >/dev/null 2>&1 asn1p_l.c:3521:12: warning: 'input' defined but not used [-Wunused-function] static int input() ^~~~~ gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_module.lo -MD -MP -MF .deps/asn1p_module.Tpo -c asn1p_module.c -o asn1p_module.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1parser.lo -MD -MP -MF .deps/asn1parser.Tpo -c asn1parser.c -o asn1parser.o >/dev/null 2>&1 if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_constr.lo -MD -MP -MF ".deps/asn1p_constr.Tpo" -c -o asn1p_constr.lo asn1p_constr.c; \ then mv -f ".deps/asn1p_constr.Tpo" ".deps/asn1p_constr.Plo"; else rm -f ".deps/asn1p_constr.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_oid.lo -MD -MP -MF .deps/asn1p_oid.Tpo -c asn1p_oid.c -o asn1p_oid.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_value.lo -MD -MP -MF .deps/asn1p_value.Tpo -c asn1p_value.c -o asn1p_value.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_expr.lo -MD -MP -MF .deps/asn1p_expr.Tpo -c asn1p_expr.c -o asn1p_expr.o >/dev/null 2>&1 if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_param.lo -MD -MP -MF ".deps/asn1p_param.Tpo" -c -o asn1p_param.lo asn1p_param.c; \ then mv -f ".deps/asn1p_param.Tpo" ".deps/asn1p_param.Plo"; else rm -f ".deps/asn1p_param.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_class.lo -MD -MP -MF ".deps/asn1p_class.Tpo" -c -o asn1p_class.lo asn1p_class.c; \ then mv -f ".deps/asn1p_class.Tpo" ".deps/asn1p_class.Plo"; else rm -f ".deps/asn1p_class.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_ref.lo -MD -MP -MF ".deps/asn1p_ref.Tpo" -c -o asn1p_ref.lo asn1p_ref.c; \ then mv -f ".deps/asn1p_ref.Tpo" ".deps/asn1p_ref.Plo"; else rm -f ".deps/asn1p_ref.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_constr.lo -MD -MP -MF .deps/asn1p_constr.Tpo -c asn1p_constr.c -fPIC -DPIC -o .libs/asn1p_constr.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_param.lo -MD -MP -MF .deps/asn1p_param.Tpo -c asn1p_param.c -fPIC -DPIC -o .libs/asn1p_param.o if test -f y.tab.h; then \ to=`echo "asn1p_y_H" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ sed -e "/^#/!b" -e "s/Y_TAB_H/$to/g" -e "s|y\.tab\.h|asn1p_y.h|" \ y.tab.h >asn1p_y.ht; \ rm -f y.tab.h; \ if cmp -s asn1p_y.ht asn1p_y.h; then \ rm -f asn1p_y.ht ;\ else \ mv asn1p_y.ht asn1p_y.h; \ fi; \ fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_class.lo -MD -MP -MF .deps/asn1p_class.Tpo -c asn1p_class.c -fPIC -DPIC -o .libs/asn1p_class.o if test -f y.output; then \ mv y.output asn1p_y.output; \ fi sed '/^#/ s|y\.tab\.c|asn1p_y.c|' y.tab.c >asn1p_y.ct && mv asn1p_y.ct asn1p_y.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_ref.lo -MD -MP -MF .deps/asn1p_ref.Tpo -c asn1p_ref.c -fPIC -DPIC -o .libs/asn1p_ref.o rm -f y.tab.c if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_y.lo -MD -MP -MF ".deps/asn1p_y.Tpo" -c -o asn1p_y.lo asn1p_y.c; \ then mv -f ".deps/asn1p_y.Tpo" ".deps/asn1p_y.Plo"; else rm -f ".deps/asn1p_y.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_constr.lo -MD -MP -MF .deps/asn1p_constr.Tpo -c asn1p_constr.c -o asn1p_constr.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_param.lo -MD -MP -MF .deps/asn1p_param.Tpo -c asn1p_param.c -o asn1p_param.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_ref.lo -MD -MP -MF .deps/asn1p_ref.Tpo -c asn1p_ref.c -o asn1p_ref.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_class.lo -MD -MP -MF .deps/asn1p_class.Tpo -c asn1p_class.c -o asn1p_class.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_y.lo -MD -MP -MF .deps/asn1p_y.Tpo -c asn1p_y.c -fPIC -DPIC -o .libs/asn1p_y.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_l.lo -MD -MP -MF .deps/asn1p_l.Tpo -c asn1p_l.c -o asn1p_l.o >/dev/null 2>&1 asn1p_y.y: In function 'asn1p_parse': asn1p_y.y:357:13: error: 'param' undeclared (first use in this function) *(void **)param = $1; ^~~~~ asn1p_y.y:357:13: note: each undeclared identifier is reported only once for each function it appears in Makefile:299: recipe for target 'asn1p_y.lo' failed make[2]: *** [asn1p_y.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory ' Makefile:302: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory ' Makefile:212: recipe for target 'all' failed make: *** [all] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:10:48 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:10:48 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Rename local variable to not shadow import In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13073 ) Change subject: pyflakes: Rename local variable to not shadow import ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/13073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib70130dbbeeeb9813eaea707bf66f1db91088b92 Gerrit-Change-Number: 13073 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:10:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:10:51 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:10:51 +0000 Subject: Change in osmo-gsm-tester[master]: pyflakes: Rename local variable to not shadow import In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13073 ) Change subject: pyflakes: Rename local variable to not shadow import ...................................................................... pyflakes: Rename local variable to not shadow import Change-Id: Ib70130dbbeeeb9813eaea707bf66f1db91088b92 --- M src/osmo_gsm_tester/report.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Holger Freyther: Verified diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 224cc46..4919937 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -42,8 +42,8 @@ testsuite.set('time', str(math.ceil(suite.duration))) testsuite.set('tests', str(len(suite.tests))) testsuite.set('failures', str(suite.count_test_results()[2])) - for test in suite.tests: - testcase = test_to_junit(test) + for suite_test in suite.tests: + testcase = test_to_junit(suite_test) testsuite.append(testcase) return testsuite -- To view, visit https://gerrit.osmocom.org/13073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib70130dbbeeeb9813eaea707bf66f1db91088b92 Gerrit-Change-Number: 13073 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:15:30 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Fri, 1 Mar 2019 15:15:30 +0000 Subject: Change in osmo-gsm-tester[master]: process: Introduce and use an asyncio strategy for killing In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13088 ) Change subject: process: Introduce and use an asyncio strategy for killing ...................................................................... Patch Set 1: I think the asyncio approach is easier to understand that my batching? Which one do you think we should merge? -- To view, visit https://gerrit.osmocom.org/13088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3441e280241a5ee1404623f1f0b5faf56271227d Gerrit-Change-Number: 13088 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:15:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:25:38 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 15:25:38 +0000 Subject: Change in osmo-gsm-tester[master]: process: Speed-up terminating lots of processes by batching it In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13085 ) Change subject: process: Speed-up terminating lots of processes by batching it ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d Gerrit-Change-Number: 13085 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:25:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:28:40 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 15:28:40 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13087 ) Change subject: process: Make killing processes non-sequential ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:28:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:28:54 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 15:28:54 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make sending signals (kill) externally visible In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13086 ) Change subject: process: Make sending signals (kill) externally visible ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8 Gerrit-Change-Number: 13086 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:28:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 15:42:40 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 1 Mar 2019 15:42:40 +0000 Subject: Change in osmo-gsm-tester[master]: process: Introduce and use an asyncio strategy for killing In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13088 ) Change subject: process: Introduce and use an asyncio strategy for killing ...................................................................... Patch Set 1: Code-Review+2 I'd prefer having our own mainloop being used instead of asyncio, but fine. -- To view, visit https://gerrit.osmocom.org/13088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3441e280241a5ee1404623f1f0b5faf56271227d Gerrit-Change-Number: 13088 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 01 Mar 2019 15:42:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 16:09:54 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Fri, 1 Mar 2019 16:09:54 +0000 Subject: Change in gr-gsm[master]: Major simplification and some argument changes in grgsm_capture Message-ID: Piotr Krysik has uploaded this change for review. ( https://gerrit.osmocom.org/13090 Change subject: Major simplification and some argument changes in grgsm_capture ...................................................................... Major simplification and some argument changes in grgsm_capture grmgs_capture tried to do too many things for a simple recorder. It was simplified by removing the receiver and ability to save data to bursts files. All other stuff that is not necessary for recording signal to disk was also removed: -setters/getters, -storing of parameters that never will be changed. The 'fc' parameter name was changed to 'freq' to follow GNU Radio guidelines. The 'shiftoff' parameter was removed. 'bb_gain' and 'if_gain' parameters were added. Variables specific to some of SDR's like: -gains at different stages, -bandwidth (not all devices can set it), -antennas (some devices have just one, some not), were moved to separate options group. What is left to be exposed is: -dc_offset_mode, -iq_balance_mode, -gain_mode. Change-Id: I092a43eaddb09a99c6cc05fde13f0ae94d9e0251 --- M apps/helpers/grgsm_capture 1 file changed, 117 insertions(+), 171 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/90/13090/1 diff --git a/apps/helpers/grgsm_capture b/apps/helpers/grgsm_capture index b1b85a7..f698205 100755 --- a/apps/helpers/grgsm_capture +++ b/apps/helpers/grgsm_capture @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- # @file # @author (C) 2015 by Roman Khassraf +# (C) 2019 by Piotr Krysik # @section LICENSE # # Gr-gsm is free software; you can redistribute it and/or modify @@ -26,217 +27,162 @@ from gnuradio import gr from gnuradio.eng_option import eng_option from gnuradio.filter import firdes -from math import pi -from optparse import OptionParser - -import grgsm +from optparse import OptionParser, OptionGroup import osmosdr -import pmt +import time +import grgsm import signal import sys - class grgsm_capture(gr.top_block): - - def __init__(self, fc, gain, samp_rate, ppm, arfcn, cfile=None, burst_file=None, verbose=False, rec_length=None, args=""): - + def __init__(self, + freq, + gain=30, + samp_rate=1e6, + rec_length=float('Inf'), + freq_corr=0, + output_filename=None, + bandwidth=0, + bb_gain=20, + if_gain=20, + antenna="", + device_args=""): gr.top_block.__init__(self, "Gr-gsm Capture") - + ################################################## - # Parameters - ################################################## - self.fc = fc - self.gain = gain - self.samp_rate = samp_rate - self.ppm = ppm - self.arfcn = arfcn - self.cfile = cfile - self.burst_file = burst_file - self.verbose = verbose - self.shiftoff = shiftoff = 400e3 - self.rec_length = rec_length - - ################################################## - # Processing Blocks + # Setting up RF source ################################################## - self.rtlsdr_source = osmosdr.source( args="numchan=" + str(1) + " " + args ) - self.rtlsdr_source.set_sample_rate(samp_rate) - self.rtlsdr_source.set_center_freq(fc - shiftoff, 0) - self.rtlsdr_source.set_freq_corr(ppm, 0) - self.rtlsdr_source.set_dc_offset_mode(2, 0) - self.rtlsdr_source.set_iq_balance_mode(2, 0) - self.rtlsdr_source.set_gain_mode(True, 0) - self.rtlsdr_source.set_gain(gain, 0) - self.rtlsdr_source.set_if_gain(20, 0) - self.rtlsdr_source.set_bb_gain(20, 0) - self.rtlsdr_source.set_antenna("", 0) - self.rtlsdr_source.set_bandwidth(250e3+abs(shiftoff), 0) - self.blocks_rotator = blocks.rotator_cc(-2*pi*shiftoff/samp_rate) - - if self.rec_length is not None: - self.blocks_head_0 = blocks.head(gr.sizeof_gr_complex, int(samp_rate*rec_length)) - - if self.verbose or self.burst_file: - self.gsm_receiver = grgsm.receiver(4, ([self.arfcn]), ([])) - self.gsm_input = grgsm.gsm_input( - ppm=0, - osr=4, - fc=fc, - samp_rate_in=samp_rate, - ) - self.gsm_clock_offset_control = grgsm.clock_offset_control(fc-shiftoff, samp_rate, osr=4) + self.sdr_source = \ + osmosdr.source(args="numchan=1" + device_args ) + self.sdr_source.set_sample_rate(samp_rate) + self.sdr_source.set_center_freq(freq, 0) + self.sdr_source.set_freq_corr(freq_corr, 0) + self.sdr_source.set_dc_offset_mode(2, 0) + self.sdr_source.set_iq_balance_mode(2, 0) + self.sdr_source.set_gain_mode(True, 0) + self.sdr_source.set_gain(gain, 0) + self.sdr_source.set_if_gain(if_gain, 0) + self.sdr_source.set_bb_gain(bb_gain, 0) + self.sdr_source.set_antenna("", 0) + if bandwidth != 0: + self.sdr_source.set_bandwidth(bandwidth, 0) - if self.burst_file: - self.gsm_burst_file_sink = grgsm.burst_file_sink(self.burst_file) + ################################################## + # The rest of processing blocks + ################################################## - if self.cfile: - self.blocks_file_sink = blocks.file_sink(gr.sizeof_gr_complex*1, self.cfile, False) - self.blocks_file_sink.set_unbuffered(False) + if rec_length != float('Inf'): + self.head = \ + blocks.head(gr.sizeof_gr_complex, int(samp_rate*rec_length)) - if self.verbose: - self.gsm_bursts_printer_0 = grgsm.bursts_printer(pmt.intern(""), - False, False, False, False) + self.file_sink = blocks.file_sink(gr.sizeof_gr_complex*1, \ + output_filename, False) + self.file_sink.set_unbuffered(False) ################################################## # Connections ################################################## - if self.rec_length is not None: #if recording length is defined connect head block after the source - self.connect((self.rtlsdr_source, 0), (self.blocks_head_0, 0)) - self.connect((self.blocks_head_0, 0), (self.blocks_rotator, 0)) + if rec_length != float('Inf'): #if recording length is not infinite + #connect head block after the source + self.connect((self.sdr_source, 0), (self.head, 0)) + self.connect((self.head, 0), (self.file_sink, 0)) else: - self.connect((self.rtlsdr_source, 0), (self.blocks_rotator, 0)) - - if self.cfile: - self.connect((self.blocks_rotator, 0), (self.blocks_file_sink, 0)) - - if self.verbose or self.burst_file: - self.connect((self.gsm_input, 0), (self.gsm_receiver, 0)) - self.connect((self.blocks_rotator, 0), (self.gsm_input, 0)) - self.msg_connect(self.gsm_clock_offset_control, "ctrl", self.gsm_input, "ctrl_in") - self.msg_connect(self.gsm_receiver, "measurements", self.gsm_clock_offset_control, "measurements") - - if self.burst_file: - self.msg_connect(self.gsm_receiver, "C0", self.gsm_burst_file_sink, "in") - if self.verbose: - self.msg_connect(self.gsm_receiver, "C0", self.gsm_bursts_printer_0, "bursts") - - def get_fc(self): - return self.fc - - def set_fc(self, fc): - self.fc = fc - if self.verbose or self.burst_file: - self.gsm_input.set_fc(self.fc) - - def get_arfcn(self): - return self.arfcn - - def set_arfcn(self, arfcn): - self.arfcn = arfcn - if self.verbose or self.burst_file: - self.gsm_receiver.set_cell_allocation([self.arfcn]) - new_freq = grgsm.arfcn.arfcn2downlink(self.arfcn) - self.set_fc(new_freq) - - def get_gain(self): - return self.gain - - def set_gain(self, gain): - self.gain = gain - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - self.rtlsdr_source.set_sample_rate(self.samp_rate) - if self.verbose or self.burst_file: - self.gsm_input.set_samp_rate_in(self.samp_rate) - - def get_ppm(self): - return self.ppm - - def set_ppm(self, ppm): - self.ppm = ppm - self.set_ppm_slider(self.ppm) - - def get_rec_length(self): - return self.rec_length - - def set_rec_length(self, rec_length): - self.rec_length = rec_length - self.blocks_head_0.set_length(int(self.samp_rate*self.rec_length)) - + self.connect((self.sdr_source, 0), (self.file_sink, 0)) if __name__ == '__main__': - parser = OptionParser(option_class=eng_option, usage="%prog [options]", + parser = OptionParser(option_class=eng_option, usage="%prog [options] output_filename", description="RTL-SDR capturing app of gr-gsm.") - parser.add_option("-f", "--fc", dest="fc", type="eng_float", + parser.add_option("-f", "--freq", dest="freq", type="eng_float", help="Set frequency [default=%default]") - - parser.add_option("-a", "--arfcn", dest="arfcn", type="intx", - help="Set ARFCN instead of frequency (for PCS1900 add 0x8000 (2**15) to the ARFCN number)") - - parser.add_option("-g", "--gain", dest="gain", type="eng_float", + + parser.add_option("-a", "--arfcn", dest="arfcn", type="intx", + help="Set ARFCN instead of frequency (for PCS1900 add" + "0x8000 (2**15) to the ARFCN number)") + + parser.add_option("-g", "--gain", dest="gain", type="eng_float", default=eng_notation.num_to_str(30), help="Set gain [default=%default]") - - parser.add_option("-s", "--samp-rate", dest="samp_rate", type="eng_float", + + parser.add_option("-s", "--samp-rate", dest="samp_rate", type="eng_float", default=eng_notation.num_to_str(1000000), help="Set samp_rate [default=%default]") - - parser.add_option("-p", "--ppm", dest="ppm", type="intx", default=0, - help="Set ppm [default=%default]") - - parser.add_option("-b", "--burst-file", dest="burst_file", - help="File where the captured bursts are saved") - - parser.add_option("-c", "--cfile", dest="cfile", - help="File where the captured data are saved") - - parser.add_option("", "--args", dest="args", type="string", default="", - help="Set device arguments [default=%default]") - parser.add_option("-v", "--verbose", action="store_true", - help="If set, the captured bursts are printed to stdout") + parser.add_option("-T", "--rec-length", dest="rec_length", type="float", + default='Inf', help="Set length of recording in seconds " + "[default=infinity]") - parser.add_option("-T", "--rec-length", dest="rec_length", type="eng_float", - help="Set length of recording in seconds [default=%default]") + parser.add_option("-p", "--freq-corr", dest="freq_corr", type="eng_float", + default="0", help="Set frequency correction in" + " ppm [default=%default]") + + osmogroup = OptionGroup(parser, 'Additional osmosdr source options', + "Options specific to a subset of SDR receivers " + "supported by osmosdr source.") + + osmogroup.add_option("-w", "--bandwidth", dest="bandwidth", type="eng_float", + default="0", help="Set bandwidth [default=samp_rate]") + + osmogroup.add_option("", "--bb-gain", dest="bb_gain", type="eng_float", + default=eng_notation.num_to_str(20), + help="Set baseband gain [default=%default]") + + osmogroup.add_option("", "--if-gain", dest="if_gain", type="eng_float", + default=eng_notation.num_to_str(20), + help="Set intermediate freque gain [default=%default]") + + osmogroup.add_option("", "--ant", dest="antenna", type="string", + default="", help="Set antenna " + "[default=%default]") + + osmogroup.add_option("", "--args", dest="device_args", type="string", + default="", help="Set device arguments " + "[default=%default]") + + parser.add_option_group(osmogroup) (options, args) = parser.parse_args() - - if options.cfile is None and options.burst_file is None: - parser.error("Please provide a cfile or a burst file (or both) to save the captured data\n") - - if (options.fc is None and options.arfcn is None) or (options.fc is not None and options.arfcn is not None): - parser.error("You have to provide either a frequency or an ARFCN (but not both).\n") - + + if not args: + parser.error("Please provide an output file name to save the captured data\n") + + output_filename = args[0] + + if (options.freq is None and options.arfcn is None) or \ + (options.freq is not None and options.arfcn is not None): + parser.error("You have to provide either a frequency or" + "an ARFCN (but not both).\n") + arfcn = 0 - fc = 939.4e6 + freq = 0 if options.arfcn: if not grgsm.arfcn.is_valid_arfcn(options.arfcn): parser.error("ARFCN is not valid\n") else: - arfcn = options.arfcn - fc = grgsm.arfcn.arfcn2downlink(arfcn) - elif options.fc: - fc = options.fc - arfcn = grgsm.arfcn.downlink2arfcn(options.fc) - - tb = grgsm_capture(fc=fc, gain=options.gain, samp_rate=options.samp_rate, - ppm=options.ppm, arfcn=arfcn, cfile=options.cfile, - burst_file=options.burst_file, verbose=options.verbose, - rec_length=options.rec_length, args=options.args) - + freq = grgsm.arfcn.arfcn2downlink(options.arfcn) + elif options.freq: + freq = options.freq + + tb = grgsm_capture(freq=freq, + gain=options.gain, + freq_corr=options.freq_corr, + samp_rate=options.samp_rate, + output_filename=output_filename, + rec_length=options.rec_length, + bandwidth=options.bandwidth, + bb_gain=options.bb_gain, + if_gain=options.if_gain, + antenna=options.antenna, + device_args=options.device_args) + def signal_handler(signal, frame): tb.stop() - tb.wait() + tb.wait() sys.exit(0) - + signal.signal(signal.SIGINT, signal_handler) tb.start() -- To view, visit https://gerrit.osmocom.org/13090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I092a43eaddb09a99c6cc05fde13f0ae94d9e0251 Gerrit-Change-Number: 13090 Gerrit-PatchSet: 1 Gerrit-Owner: Piotr Krysik -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 16:19:55 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 16:19:55 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate to S-bit converter In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13089 ) Change subject: gsm0808_utils: fix gsm48 multirate to S-bit converter ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Gerrit-Change-Number: 13089 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 01 Mar 2019 16:19:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:02:57 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Fri, 1 Mar 2019 17:02:57 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Use the osr variable in all blocks In-Reply-To: References: Message-ID: Piotr Krysik has posted comments on this change. ( https://gerrit.osmocom.org/13045 ) Change subject: grgsm_livemon: Use the osr variable in all blocks ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4e85b898f05db636f18fdea6e5fee4fed6e0382a Gerrit-Change-Number: 13045 Gerrit-PatchSet: 1 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-CC: Max Gerrit-Comment-Date: Fri, 01 Mar 2019 17:02:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:02:59 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Fri, 1 Mar 2019 17:02:59 +0000 Subject: Change in gr-gsm[master]: grgsm_livemon: Use the osr variable in all blocks In-Reply-To: References: Message-ID: Piotr Krysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/13045 ) Change subject: grgsm_livemon: Use the osr variable in all blocks ...................................................................... grgsm_livemon: Use the osr variable in all blocks In the GSM input adaptor and GSM Receiver blocks the osr was hardcoded to 4 and cannot be changed using the command line parameter. Change-Id: I4e85b898f05db636f18fdea6e5fee4fed6e0382a --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve Piotr Krysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 3d2236d..46b83e2 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -933,7 +933,7 @@ osr - 4 + osr fc @@ -1043,7 +1043,7 @@ osr - 4 + osr tseq_nums diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index f130d71..a1ce284 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -767,7 +767,7 @@ osr - 4 + osr fc @@ -877,7 +877,7 @@ osr - 4 + osr tseq_nums -- To view, visit https://gerrit.osmocom.org/13045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4e85b898f05db636f18fdea6e5fee4fed6e0382a Gerrit-Change-Number: 13045 Gerrit-PatchSet: 1 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:03:12 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Fri, 1 Mar 2019 17:03:12 +0000 Subject: Change in gr-gsm[master]: Major simplification and some argument changes in grgsm_capture In-Reply-To: References: Message-ID: Piotr Krysik has posted comments on this change. ( https://gerrit.osmocom.org/13090 ) Change subject: Major simplification and some argument changes in grgsm_capture ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I092a43eaddb09a99c6cc05fde13f0ae94d9e0251 Gerrit-Change-Number: 13090 Gerrit-PatchSet: 1 Gerrit-Owner: Piotr Krysik Gerrit-Reviewer: Piotr Krysik Gerrit-Comment-Date: Fri, 01 Mar 2019 17:03:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:03:15 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Fri, 1 Mar 2019 17:03:15 +0000 Subject: Change in gr-gsm[master]: Major simplification and some argument changes in grgsm_capture In-Reply-To: References: Message-ID: Piotr Krysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/13090 ) Change subject: Major simplification and some argument changes in grgsm_capture ...................................................................... Major simplification and some argument changes in grgsm_capture grmgs_capture tried to do too many things for a simple recorder. It was simplified by removing the receiver and ability to save data to bursts files. All other stuff that is not necessary for recording signal to disk was also removed: -setters/getters, -storing of parameters that never will be changed. The 'fc' parameter name was changed to 'freq' to follow GNU Radio guidelines. The 'shiftoff' parameter was removed. 'bb_gain' and 'if_gain' parameters were added. Variables specific to some of SDR's like: -gains at different stages, -bandwidth (not all devices can set it), -antennas (some devices have just one, some not), were moved to separate options group. What is left to be exposed is: -dc_offset_mode, -iq_balance_mode, -gain_mode. Change-Id: I092a43eaddb09a99c6cc05fde13f0ae94d9e0251 --- M apps/helpers/grgsm_capture 1 file changed, 117 insertions(+), 171 deletions(-) Approvals: Piotr Krysik: Looks good to me, approved; Verified diff --git a/apps/helpers/grgsm_capture b/apps/helpers/grgsm_capture index b1b85a7..f698205 100755 --- a/apps/helpers/grgsm_capture +++ b/apps/helpers/grgsm_capture @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- # @file # @author (C) 2015 by Roman Khassraf +# (C) 2019 by Piotr Krysik # @section LICENSE # # Gr-gsm is free software; you can redistribute it and/or modify @@ -26,217 +27,162 @@ from gnuradio import gr from gnuradio.eng_option import eng_option from gnuradio.filter import firdes -from math import pi -from optparse import OptionParser - -import grgsm +from optparse import OptionParser, OptionGroup import osmosdr -import pmt +import time +import grgsm import signal import sys - class grgsm_capture(gr.top_block): - - def __init__(self, fc, gain, samp_rate, ppm, arfcn, cfile=None, burst_file=None, verbose=False, rec_length=None, args=""): - + def __init__(self, + freq, + gain=30, + samp_rate=1e6, + rec_length=float('Inf'), + freq_corr=0, + output_filename=None, + bandwidth=0, + bb_gain=20, + if_gain=20, + antenna="", + device_args=""): gr.top_block.__init__(self, "Gr-gsm Capture") - + ################################################## - # Parameters - ################################################## - self.fc = fc - self.gain = gain - self.samp_rate = samp_rate - self.ppm = ppm - self.arfcn = arfcn - self.cfile = cfile - self.burst_file = burst_file - self.verbose = verbose - self.shiftoff = shiftoff = 400e3 - self.rec_length = rec_length - - ################################################## - # Processing Blocks + # Setting up RF source ################################################## - self.rtlsdr_source = osmosdr.source( args="numchan=" + str(1) + " " + args ) - self.rtlsdr_source.set_sample_rate(samp_rate) - self.rtlsdr_source.set_center_freq(fc - shiftoff, 0) - self.rtlsdr_source.set_freq_corr(ppm, 0) - self.rtlsdr_source.set_dc_offset_mode(2, 0) - self.rtlsdr_source.set_iq_balance_mode(2, 0) - self.rtlsdr_source.set_gain_mode(True, 0) - self.rtlsdr_source.set_gain(gain, 0) - self.rtlsdr_source.set_if_gain(20, 0) - self.rtlsdr_source.set_bb_gain(20, 0) - self.rtlsdr_source.set_antenna("", 0) - self.rtlsdr_source.set_bandwidth(250e3+abs(shiftoff), 0) - self.blocks_rotator = blocks.rotator_cc(-2*pi*shiftoff/samp_rate) - - if self.rec_length is not None: - self.blocks_head_0 = blocks.head(gr.sizeof_gr_complex, int(samp_rate*rec_length)) - - if self.verbose or self.burst_file: - self.gsm_receiver = grgsm.receiver(4, ([self.arfcn]), ([])) - self.gsm_input = grgsm.gsm_input( - ppm=0, - osr=4, - fc=fc, - samp_rate_in=samp_rate, - ) - self.gsm_clock_offset_control = grgsm.clock_offset_control(fc-shiftoff, samp_rate, osr=4) + self.sdr_source = \ + osmosdr.source(args="numchan=1" + device_args ) + self.sdr_source.set_sample_rate(samp_rate) + self.sdr_source.set_center_freq(freq, 0) + self.sdr_source.set_freq_corr(freq_corr, 0) + self.sdr_source.set_dc_offset_mode(2, 0) + self.sdr_source.set_iq_balance_mode(2, 0) + self.sdr_source.set_gain_mode(True, 0) + self.sdr_source.set_gain(gain, 0) + self.sdr_source.set_if_gain(if_gain, 0) + self.sdr_source.set_bb_gain(bb_gain, 0) + self.sdr_source.set_antenna("", 0) + if bandwidth != 0: + self.sdr_source.set_bandwidth(bandwidth, 0) - if self.burst_file: - self.gsm_burst_file_sink = grgsm.burst_file_sink(self.burst_file) + ################################################## + # The rest of processing blocks + ################################################## - if self.cfile: - self.blocks_file_sink = blocks.file_sink(gr.sizeof_gr_complex*1, self.cfile, False) - self.blocks_file_sink.set_unbuffered(False) + if rec_length != float('Inf'): + self.head = \ + blocks.head(gr.sizeof_gr_complex, int(samp_rate*rec_length)) - if self.verbose: - self.gsm_bursts_printer_0 = grgsm.bursts_printer(pmt.intern(""), - False, False, False, False) + self.file_sink = blocks.file_sink(gr.sizeof_gr_complex*1, \ + output_filename, False) + self.file_sink.set_unbuffered(False) ################################################## # Connections ################################################## - if self.rec_length is not None: #if recording length is defined connect head block after the source - self.connect((self.rtlsdr_source, 0), (self.blocks_head_0, 0)) - self.connect((self.blocks_head_0, 0), (self.blocks_rotator, 0)) + if rec_length != float('Inf'): #if recording length is not infinite + #connect head block after the source + self.connect((self.sdr_source, 0), (self.head, 0)) + self.connect((self.head, 0), (self.file_sink, 0)) else: - self.connect((self.rtlsdr_source, 0), (self.blocks_rotator, 0)) - - if self.cfile: - self.connect((self.blocks_rotator, 0), (self.blocks_file_sink, 0)) - - if self.verbose or self.burst_file: - self.connect((self.gsm_input, 0), (self.gsm_receiver, 0)) - self.connect((self.blocks_rotator, 0), (self.gsm_input, 0)) - self.msg_connect(self.gsm_clock_offset_control, "ctrl", self.gsm_input, "ctrl_in") - self.msg_connect(self.gsm_receiver, "measurements", self.gsm_clock_offset_control, "measurements") - - if self.burst_file: - self.msg_connect(self.gsm_receiver, "C0", self.gsm_burst_file_sink, "in") - if self.verbose: - self.msg_connect(self.gsm_receiver, "C0", self.gsm_bursts_printer_0, "bursts") - - def get_fc(self): - return self.fc - - def set_fc(self, fc): - self.fc = fc - if self.verbose or self.burst_file: - self.gsm_input.set_fc(self.fc) - - def get_arfcn(self): - return self.arfcn - - def set_arfcn(self, arfcn): - self.arfcn = arfcn - if self.verbose or self.burst_file: - self.gsm_receiver.set_cell_allocation([self.arfcn]) - new_freq = grgsm.arfcn.arfcn2downlink(self.arfcn) - self.set_fc(new_freq) - - def get_gain(self): - return self.gain - - def set_gain(self, gain): - self.gain = gain - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - self.rtlsdr_source.set_sample_rate(self.samp_rate) - if self.verbose or self.burst_file: - self.gsm_input.set_samp_rate_in(self.samp_rate) - - def get_ppm(self): - return self.ppm - - def set_ppm(self, ppm): - self.ppm = ppm - self.set_ppm_slider(self.ppm) - - def get_rec_length(self): - return self.rec_length - - def set_rec_length(self, rec_length): - self.rec_length = rec_length - self.blocks_head_0.set_length(int(self.samp_rate*self.rec_length)) - + self.connect((self.sdr_source, 0), (self.file_sink, 0)) if __name__ == '__main__': - parser = OptionParser(option_class=eng_option, usage="%prog [options]", + parser = OptionParser(option_class=eng_option, usage="%prog [options] output_filename", description="RTL-SDR capturing app of gr-gsm.") - parser.add_option("-f", "--fc", dest="fc", type="eng_float", + parser.add_option("-f", "--freq", dest="freq", type="eng_float", help="Set frequency [default=%default]") - - parser.add_option("-a", "--arfcn", dest="arfcn", type="intx", - help="Set ARFCN instead of frequency (for PCS1900 add 0x8000 (2**15) to the ARFCN number)") - - parser.add_option("-g", "--gain", dest="gain", type="eng_float", + + parser.add_option("-a", "--arfcn", dest="arfcn", type="intx", + help="Set ARFCN instead of frequency (for PCS1900 add" + "0x8000 (2**15) to the ARFCN number)") + + parser.add_option("-g", "--gain", dest="gain", type="eng_float", default=eng_notation.num_to_str(30), help="Set gain [default=%default]") - - parser.add_option("-s", "--samp-rate", dest="samp_rate", type="eng_float", + + parser.add_option("-s", "--samp-rate", dest="samp_rate", type="eng_float", default=eng_notation.num_to_str(1000000), help="Set samp_rate [default=%default]") - - parser.add_option("-p", "--ppm", dest="ppm", type="intx", default=0, - help="Set ppm [default=%default]") - - parser.add_option("-b", "--burst-file", dest="burst_file", - help="File where the captured bursts are saved") - - parser.add_option("-c", "--cfile", dest="cfile", - help="File where the captured data are saved") - - parser.add_option("", "--args", dest="args", type="string", default="", - help="Set device arguments [default=%default]") - parser.add_option("-v", "--verbose", action="store_true", - help="If set, the captured bursts are printed to stdout") + parser.add_option("-T", "--rec-length", dest="rec_length", type="float", + default='Inf', help="Set length of recording in seconds " + "[default=infinity]") - parser.add_option("-T", "--rec-length", dest="rec_length", type="eng_float", - help="Set length of recording in seconds [default=%default]") + parser.add_option("-p", "--freq-corr", dest="freq_corr", type="eng_float", + default="0", help="Set frequency correction in" + " ppm [default=%default]") + + osmogroup = OptionGroup(parser, 'Additional osmosdr source options', + "Options specific to a subset of SDR receivers " + "supported by osmosdr source.") + + osmogroup.add_option("-w", "--bandwidth", dest="bandwidth", type="eng_float", + default="0", help="Set bandwidth [default=samp_rate]") + + osmogroup.add_option("", "--bb-gain", dest="bb_gain", type="eng_float", + default=eng_notation.num_to_str(20), + help="Set baseband gain [default=%default]") + + osmogroup.add_option("", "--if-gain", dest="if_gain", type="eng_float", + default=eng_notation.num_to_str(20), + help="Set intermediate freque gain [default=%default]") + + osmogroup.add_option("", "--ant", dest="antenna", type="string", + default="", help="Set antenna " + "[default=%default]") + + osmogroup.add_option("", "--args", dest="device_args", type="string", + default="", help="Set device arguments " + "[default=%default]") + + parser.add_option_group(osmogroup) (options, args) = parser.parse_args() - - if options.cfile is None and options.burst_file is None: - parser.error("Please provide a cfile or a burst file (or both) to save the captured data\n") - - if (options.fc is None and options.arfcn is None) or (options.fc is not None and options.arfcn is not None): - parser.error("You have to provide either a frequency or an ARFCN (but not both).\n") - + + if not args: + parser.error("Please provide an output file name to save the captured data\n") + + output_filename = args[0] + + if (options.freq is None and options.arfcn is None) or \ + (options.freq is not None and options.arfcn is not None): + parser.error("You have to provide either a frequency or" + "an ARFCN (but not both).\n") + arfcn = 0 - fc = 939.4e6 + freq = 0 if options.arfcn: if not grgsm.arfcn.is_valid_arfcn(options.arfcn): parser.error("ARFCN is not valid\n") else: - arfcn = options.arfcn - fc = grgsm.arfcn.arfcn2downlink(arfcn) - elif options.fc: - fc = options.fc - arfcn = grgsm.arfcn.downlink2arfcn(options.fc) - - tb = grgsm_capture(fc=fc, gain=options.gain, samp_rate=options.samp_rate, - ppm=options.ppm, arfcn=arfcn, cfile=options.cfile, - burst_file=options.burst_file, verbose=options.verbose, - rec_length=options.rec_length, args=options.args) - + freq = grgsm.arfcn.arfcn2downlink(options.arfcn) + elif options.freq: + freq = options.freq + + tb = grgsm_capture(freq=freq, + gain=options.gain, + freq_corr=options.freq_corr, + samp_rate=options.samp_rate, + output_filename=output_filename, + rec_length=options.rec_length, + bandwidth=options.bandwidth, + bb_gain=options.bb_gain, + if_gain=options.if_gain, + antenna=options.antenna, + device_args=options.device_args) + def signal_handler(signal, frame): tb.stop() - tb.wait() + tb.wait() sys.exit(0) - + signal.signal(signal.SIGINT, signal_handler) tb.start() -- To view, visit https://gerrit.osmocom.org/13090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I092a43eaddb09a99c6cc05fde13f0ae94d9e0251 Gerrit-Change-Number: 13090 Gerrit-PatchSet: 2 Gerrit-Owner: Piotr Krysik Gerrit-Reviewer: Piotr Krysik -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:06:26 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 17:06:26 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13091 Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on MSC level The current default configuration for permitted AMR rates on MSC level is not very useful since it only supports a single rate and neglects Config-NB-Code = 1, which includes the four most common AMR rates (12.2, 7.4, 5.9, 4.75) Lets make sure that those rates are are the default for the MSC configuration. Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Related: SYS#4470 --- M src/osmo-bsc/osmo_bsc_msc.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/13091/1 diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 71931e6..3a20a61 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -92,8 +92,12 @@ msc_data->allow_emerg = 1; msc_data->a.asp_proto = OSMO_SS7_ASP_PROT_M3UA; - /* Defaults for the audio setup */ + /* Defaults (Config-NB-Code = 1) for the audio setup, see also + * 3GPP TS 28.062, Table 7.11.3.1.3-2 */ + msc_data->amr_conf.m4_75 = 1; msc_data->amr_conf.m5_90 = 1; + msc_data->amr_conf.m7_40 = 1; + msc_data->amr_conf.m12_2 = 1; /* Allow the full set of possible codecs by default */ msc_data->audio_length = 5; -- To view, visit https://gerrit.osmocom.org/13091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Gerrit-Change-Number: 13091 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:06:26 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 17:06:26 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13092 Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on BTS level The current configuration for permittet AMR rates on BTS level contradicts the default settings of the AMR rates for MSC level. Lets make sure that the BTS default matches the default config on MSC level. Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Related: SYS#4470 --- M src/osmo-bsc/gsm_data.c 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/13092/1 diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 5d667bb..2bb22eb 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -896,26 +896,25 @@ }; /* Set reasonable defaults for AMR-FR and AMR-HR rate configuration. - * It is possible to set up to 4 codecs per active set, while 5,15K must - * be selected. */ + * (see also 3GPP TS 28.062, Table 7.11.3.1.3-2) */ mr_cfg = (struct gsm48_multi_rate_conf) { - .m4_75 = 0, - .m5_15 = 1, + .m4_75 = 1, + .m5_15 = 0, .m5_90 = 1, .m6_70 = 0, - .m7_40 = 0, + .m7_40 = 1, .m7_95 = 0, - .m10_2 = 1, + .m10_2 = 0, .m12_2 = 1 }; memcpy(bts->mr_full.gsm48_ie, &mr_cfg, sizeof(bts->mr_full.gsm48_ie)); - bts->mr_full.ms_mode[0].mode = 1; + bts->mr_full.ms_mode[0].mode = 0; bts->mr_full.ms_mode[1].mode = 2; - bts->mr_full.ms_mode[2].mode = 6; + bts->mr_full.ms_mode[2].mode = 4; bts->mr_full.ms_mode[3].mode = 7; - bts->mr_full.bts_mode[0].mode = 1; + bts->mr_full.bts_mode[0].mode = 0; bts->mr_full.bts_mode[1].mode = 2; - bts->mr_full.bts_mode[2].mode = 6; + bts->mr_full.bts_mode[2].mode = 4; bts->mr_full.bts_mode[3].mode = 7; for (i = 0; i < 3; i++) { bts->mr_full.ms_mode[i].hysteresis = 8; @@ -926,31 +925,31 @@ bts->mr_full.num_modes = 4; mr_cfg = (struct gsm48_multi_rate_conf) { - .m4_75 = 0, - .m5_15 = 1, + .m4_75 = 1, + .m5_15 = 0, .m5_90 = 1, .m6_70 = 0, .m7_40 = 1, - .m7_95 = 1, + .m7_95 = 0, .m10_2 = 0, .m12_2 = 0 }; memcpy(bts->mr_half.gsm48_ie, &mr_cfg, sizeof(bts->mr_half.gsm48_ie)); - bts->mr_half.ms_mode[0].mode = 1; + bts->mr_half.ms_mode[0].mode = 0; bts->mr_half.ms_mode[1].mode = 2; bts->mr_half.ms_mode[2].mode = 4; - bts->mr_half.ms_mode[3].mode = 5; - bts->mr_half.bts_mode[0].mode = 1; + bts->mr_half.ms_mode[3].mode = 7; + bts->mr_half.bts_mode[0].mode = 0; bts->mr_half.bts_mode[1].mode = 2; bts->mr_half.bts_mode[2].mode = 4; - bts->mr_half.bts_mode[3].mode = 5; + bts->mr_half.bts_mode[3].mode = 7; for (i = 0; i < 3; i++) { bts->mr_half.ms_mode[i].hysteresis = 8; bts->mr_half.ms_mode[i].threshold = 32; bts->mr_half.bts_mode[i].hysteresis = 8; bts->mr_half.bts_mode[i].threshold = 32; } - bts->mr_half.num_modes = 4; + bts->mr_half.num_modes = 3; return bts; } -- To view, visit https://gerrit.osmocom.org/13092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Gerrit-Change-Number: 13092 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:06:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 17:06:27 +0000 Subject: Change in osmo-bsc[master]: codec_pref: purify S-Bits Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13093 Change subject: codec_pref: purify S-Bits ...................................................................... codec_pref: purify S-Bits WHen the resulting intersection (MSC/BSC) of the S15 to S0 bits indicates that "Config-NB-Code = 1" (S1 = 1) shall be used, then make sure that all other single rate modes are set to zero. Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Related: SYS#4470 --- M src/osmo-bsc/codec_pref.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/13093/1 diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index a94d6a8..a0a3cfc 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -355,6 +355,14 @@ } else ch_mode_rate->s15_s0 = 0; + /* Prefer "Config-NB-Code = 1" (S1) over all other AMR rates setttings. + * When S1 is set, the active set will automatically include 12.2k, 7.4k, + * 5.9k, 4.75k, in case of HR 12,2k is left out. */ + if (ch_mode_rate->s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20) { + ch_mode_rate->s15_s0 &= 0xff00; + ch_mode_rate->s15_s0 |= GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20; + } + return 0; } -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:06:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 17:06:27 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make sure multi rate configuration is valid Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13094 Change subject: lchan_fsm: make sure multi rate configuration is valid ...................................................................... lchan_fsm: make sure multi rate configuration is valid When gsm48_mr_cfg_from_gsm0808_sc_cfg() is used to generate the AMR multirate configuration IE, make sure that lchan allocation fails in cases where the multirate configuration IE can not be generated. Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Depends: libosmocore I6fd7f4073b84093742c322752f2fd878d1071e15 Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/13094/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 8b4cf6d..0c54efb 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -539,7 +539,12 @@ } if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0); + if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0) < 0) { + lchan_fail("Can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", + info->s15_s0); + return; + } + if (lchan_mr_config(lchan, &mr_conf) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; -- To view, visit https://gerrit.osmocom.org/13094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Gerrit-Change-Number: 13094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:06:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 1 Mar 2019 17:06:27 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: do not include 12.2k in active set on HR channels Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13095 Change subject: lchan_fsm: do not include 12.2k in active set on HR channels ...................................................................... lchan_fsm: do not include 12.2k in active set on HR channels When "Config-NB-Code = 1" is set via the S-bits, then the resulting multirate configuration IE will contain 12.2K. Since the generator function is not aware if the lchan is activated for HR or FR it sets the flag for 12.2k always. We have to add a check here in order to set the 12.2k flag in the IE back to 0 so that the active set contains a set of useable rates. Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/13095/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 0c54efb..7cbba44 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -545,6 +545,15 @@ return; } + /* Do not include 12.2 kbps rate when S1 is set. */ + if (lchan->type == GSM_LCHAN_TCH_H && (info->s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { + /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration + * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR + * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) + * not included. */ + mr_conf.m12_2 = 0; + } + if (lchan_mr_config(lchan, &mr_conf) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; -- To view, visit https://gerrit.osmocom.org/13095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Gerrit-Change-Number: 13095 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 17:58:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 17:58:01 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate to S-bit converter In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13089 ) Change subject: gsm0808_utils: fix gsm48 multirate to S-bit converter ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Gerrit-Change-Number: 13089 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 01 Mar 2019 17:58:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 18:02:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 18:02:26 +0000 Subject: Change in osmo-mgw[master]: AMR: Add option to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13082 ) Change subject: AMR: Add option to convert between bw-effient and octet aligned mode ...................................................................... Patch Set 2: architecture-wise I'm wondering if there isn't a better way to do this. AFAIR, there's separeate codec/ptype/mime types for octet-aligned and bandwidth-efficient. So what about introducing a new type like "amr-auto"? This way, OsmoBSC could use octet-aligned on the BTS side connection, and "amr-auto" on the AoIP side connection and we'd avoid having more VTY config options that re different to understand? -- To view, visit https://gerrit.osmocom.org/13082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id46a3622a6b1995d5fce4bc611d409bcb4aef13b Gerrit-Change-Number: 13082 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 18:02:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 18:04:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 18:04:05 +0000 Subject: Change in osmo-mgw[master]: AMR: Add option to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13082 ) Change subject: AMR: Add option to convert between bw-effient and octet aligned mode ...................................................................... Patch Set 2: Code-Review-1 what I don't like here is that this implements "blind" change from one type to another type, on a global scope for the entire MGW. I'd much rather see this more fine-grained: Only on the AoIP-facing connections, and only if the BSC actually asks us to. See my other comment. -- To view, visit https://gerrit.osmocom.org/13082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id46a3622a6b1995d5fce4bc611d409bcb4aef13b Gerrit-Change-Number: 13082 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 01 Mar 2019 18:04:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 18:06:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 18:06:03 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13091 ) Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level ...................................................................... Patch Set 1: I like having a more sane default. However, that's the kind of change that needs a BIG FAT warning in documentation, change log, etc. We do have users that rely on the current behavior (in fact, it was implemented the current way for one of our main contributors). Please make sure the manuals and TODO-RELEASE mention it. -- To view, visit https://gerrit.osmocom.org/13091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Gerrit-Change-Number: 13091 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 18:06:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 18:07:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 18:07:38 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make sure multi rate configuration is valid In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13094 ) Change subject: lchan_fsm: make sure multi rate configuration is valid ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13094/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/#/c/13094/1/src/osmo-bsc/lchan_fsm.c at 542 PS1, Line 542: if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0) < 0) { do we have a test case for this? Can we actually reasonably have one? Is it possible to send S-bits from the MSC in a TTCN-3 test that trigger this? I basically want to see some validation that this really fails gracefully. -- To view, visit https://gerrit.osmocom.org/13094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Gerrit-Change-Number: 13094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 18:07:38 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 18:08:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 18:08:24 +0000 Subject: Change in osmo-bsc[master]: codec_pref: purify S-Bits In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13093 ) Change subject: codec_pref: purify S-Bits ...................................................................... Patch Set 1: I guess this makes sure that the error path of the other patch is never possible to trigger? -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 01 Mar 2019 18:08:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 18:09:27 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 18:09:27 +0000 Subject: Change in libosmo-netif[master]: AMR: add define constants for AMR payload length In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13078 ) Change subject: AMR: add define constants for AMR payload length ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65b5da920d58015b875d6dcf17aacdc04b58955e Gerrit-Change-Number: 13078 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 01 Mar 2019 18:09:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 23:05:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 23:05:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF_Types: Add enumerated PCUIF_BurstType Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13096 Change subject: PCUIF_Types: Add enumerated PCUIF_BurstType ...................................................................... PCUIF_Types: Add enumerated PCUIF_BurstType Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0 --- M library/PCUIF_Types.ttcn 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/13096/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 3215c4b..83e32fc 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -108,6 +108,13 @@ uint8_t block_nr } with { variant "" }; +type enumerated PCUIF_BurstType { + BURST_TYPE_NONE (0), + BURST_TYPE_0 (1), + BURST_TYPE_1 (2), + BURST_TYPE_2 (3) +} with { variant "FIELDLENGTH(8)" }; + type record PCUIF_rach_ind { PCUIF_Sapi sapi, uint16_t ra, @@ -115,7 +122,7 @@ uint32_t fn, uint16_t arfcn, uint8_t is_11bit, - uint8_t burst_type + PCUIF_BurstType burst_type } with { variant "" }; type record PCUIF_InfoTrx { @@ -531,7 +538,7 @@ template (value) PCUIF_Message ts_PCUIF_RACH_IND(template (value) uint8_t bts_nr, template (value) uint16_t ra, template (value) uint8_t is_11bit, - template (value) uint8_t burst_type, + template (value) PCUIF_BurstType burst_type, template (value) uint32_t fn, template (value) uint16_t arfcn, template (value) int16_t qta := 0 @@ -554,7 +561,7 @@ template PCUIF_Message tr_PCUIF_RACH_IND(template uint8_t bts_nr := ?, template uint16_t ra := ?, template uint8_t is_11bit := ?, - template uint8_t burst_type := ?, + template PCUIF_BurstType burst_type := ?, template uint32_t fn := ?) := { msg_type := PCU_IF_MSG_RACH_IND, bts_nr := bts_nr, -- To view, visit https://gerrit.osmocom.org/13096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0 Gerrit-Change-Number: 13096 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 23:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 23:05:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Split RAW_PCU_CT from RAW_NS_CT Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13097 Change subject: PCU: Split RAW_PCU_CT from RAW_NS_CT ...................................................................... PCU: Split RAW_PCU_CT from RAW_NS_CT Let's split the PCUIF-side component from the NS-side component and create a new RAW_Test_CT which derives from both. Change-Id: I15021c5dea16e39a530d8d9080e37a7f2a6c4fa7 --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 24 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/13097/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 397e895..923b086 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -34,12 +34,17 @@ var ConnectionId g_ns_conn_id[4] := {-1, -1, -1, -1}; var NSConfiguration g_nsconfig[4]; timer g_T_guard; +} +type component RAW_PCU_CT { /* PCUIF (we emulate the BTS part) */ port PCUIF_CODEC_PT PCU; var ConnectionId g_pcu_conn_id := -1; } +type component RAW_Test_CT extends RAW_NS_CT, RAW_PCU_CT { +} + private altstep as_Tguard() runs on RAW_NS_CT { [] g_T_guard.timeout { setverdict(fail, "Timeout of T_guard"); @@ -47,7 +52,7 @@ } } -function f_init_pcuif() runs on RAW_NS_CT { +function f_init_pcuif() runs on RAW_PCU_CT { map(self:PCU, system:PCU); /* Connect the Unix Domain Socket */ @@ -202,7 +207,7 @@ } /* test the NS-RESET procedure */ -testcase TC_ns_reset() runs on RAW_NS_CT { +testcase TC_ns_reset() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -213,7 +218,7 @@ } /* ensure NS-RESET are re-transmitted */ -testcase TC_ns_reset_retrans() runs on RAW_NS_CT { +testcase TC_ns_reset_retrans() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -229,7 +234,7 @@ } /* test the inbound NS-ALIVE procedure after NS-RESET */ -testcase TC_ns_alive() runs on RAW_NS_CT { +testcase TC_ns_alive() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -242,7 +247,7 @@ } /* Test for NS-RESET after NS-ALIVE timeout */ -testcase TC_ns_alive_timeout_reset() runs on RAW_NS_CT { +testcase TC_ns_alive_timeout_reset() runs on RAW_Test_CT { f_init_ns_codec(guard_secs := 100.0); f_init_pcuif(); @@ -260,7 +265,7 @@ } /* test for NS-RESET/NS-ALIVE/NS-UNBLOCK */ -testcase TC_ns_unblock() runs on RAW_NS_CT { +testcase TC_ns_unblock() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -276,7 +281,7 @@ } /* test for NS-UNBLOCK re-transmissions */ -testcase TC_ns_unblock_retrans() runs on RAW_NS_CT { +testcase TC_ns_unblock_retrans() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -296,7 +301,7 @@ } /* full bring-up of the Gb link for NS and BSSGP layer up to BVC-FC */ -testcase TC_ns_full_bringup() runs on RAW_NS_CT { +testcase TC_ns_full_bringup() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -323,7 +328,7 @@ } /* test outbound (SGSN-originated) NS-BLOCK procedure */ -testcase TC_ns_so_block() runs on RAW_NS_CT { +testcase TC_ns_so_block() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 2369b04..5a370d9 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -105,7 +105,7 @@ /* PCU-originated SNS-SIZE: successful case */ -testcase TC_sns_po_size_success() runs on RAW_NS_CT { +testcase TC_sns_po_size_success() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -114,7 +114,7 @@ } /* PCU-originated SNS-SIZE: NACK from our side */ -testcase TC_sns_po_size_nack() runs on RAW_NS_CT { +testcase TC_sns_po_size_nack() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(NS_CAUSE_PROTOCOL_ERROR_UNSPEIFIED); @@ -125,7 +125,7 @@ } /* PCU-originated SNS-CONFIG: successful case */ -testcase TC_sns_po_config_success() runs on RAW_NS_CT { +testcase TC_sns_po_config_success() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -135,7 +135,7 @@ } /* PCU-originated SNS-CONFIG: successful case */ -testcase TC_sns_po_config_nack() runs on RAW_NS_CT { +testcase TC_sns_po_config_nack() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -147,7 +147,7 @@ /* SGSN-originated SNS-SIZE: successful case */ -testcase TC_sns_so_config_success() runs on RAW_NS_CT { +testcase TC_sns_so_config_success() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -171,7 +171,7 @@ setverdict(pass); } -private function f_sns_bringup_1c1u() runs on RAW_NS_CT { +private function f_sns_bringup_1c1u() runs on RAW_Test_CT { /* Activate two NS codec ports */ f_init_ns_codec(); f_init_ns_codec(1); @@ -206,13 +206,13 @@ } /* Test full IP-SNS bring-up with two NS-VCs, one sig-only and one user-only */ -testcase TC_sns_1c1u() runs on RAW_NS_CT { +testcase TC_sns_1c1u() runs on RAW_Test_CT { f_sns_bringup_1c1u(); setverdict(pass); } /* Test adding new IP endpoints at runtime */ -testcase TC_sns_add() runs on RAW_NS_CT { +testcase TC_sns_add() runs on RAW_Test_CT { f_sns_bringup_1c1u(); /* crate another NS codec port on the tester side */ @@ -230,7 +230,7 @@ } /* Test deleting IP endpoints at runtime */ -testcase TC_sns_del() runs on RAW_NS_CT { +testcase TC_sns_del() runs on RAW_Test_CT { f_sns_bringup_1c1u(); f_outgoing_sns_del(idx_del := 1, w_sig := 0, w_user := 1, idx := 0); @@ -239,7 +239,7 @@ } /* Test changing weights at runtime */ -testcase TC_sns_chg_weight() runs on RAW_NS_CT { +testcase TC_sns_chg_weight() runs on RAW_Test_CT { f_sns_bringup_1c1u(); /* change w_user from 1 to 200 */ -- To view, visit https://gerrit.osmocom.org/13097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I15021c5dea16e39a530d8d9080e37a7f2a6c4fa7 Gerrit-Change-Number: 13097 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 23:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 23:05:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13098 Change subject: PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ ...................................................................... PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ Change-Id: Ic334d8809baea86ea93f429b200204861b989030 --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/13098/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 83e32fc..b744ebc 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -468,7 +468,7 @@ len := ?, data := data, fn := fn, - arfcn := 0, /* unused in BTS */ + arfcn := ?, /* unused in BTS */ trx_nr := trx_nr, ts_nr := ts_nr, block_nr := block_nr, -- To view, visit https://gerrit.osmocom.org/13098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic334d8809baea86ea93f429b200204861b989030 Gerrit-Change-Number: 13098 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 23:05:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 23:05:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Add send + receive templates for TIME_IND Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13099 Change subject: PCUIF: Add send + receive templates for TIME_IND ...................................................................... PCUIF: Add send + receive templates for TIME_IND Change-Id: I57d776d8d2d8300805b8b8e724c288ba29c4b284 --- M library/PCUIF_Types.ttcn 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/13099/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index b744ebc..5644431 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -749,5 +749,27 @@ } } +template (value) PCUIF_Message ts_PCUIF_TIME_IND(template (value) uint8_t bts_nr, + template (value) uint32_t fn) := { + msg_type := PCU_IF_MSG_TIME_IND, + bts_nr := bts_nr, + spare := '0000'O, + u := { + time_ind := { + fn := fn + } + } +} +template PCUIF_Message tr_PCUIF_TIME_IND(template uint8_t bts_nr, + template uint32_t fn) := { + msg_type := PCU_IF_MSG_TIME_IND, + bts_nr := bts_nr, + spare := ?, + u := { + time_ind := { + fn := fn + } + } +} } with { encode "RAW" variant "BYTEORDER(first)" }; -- To view, visit https://gerrit.osmocom.org/13099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I57d776d8d2d8300805b8b8e724c288ba29c4b284 Gerrit-Change-Number: 13099 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 1 23:05:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 1 Mar 2019 23:05:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Add simple test for PCUIF RACH Indication Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13100 Change subject: PCU: Add simple test for PCUIF RACH Indication ...................................................................... PCU: Add simple test for PCUIF RACH Indication Change-Id: I8fa6de711391837ed16888c48b22cd29892f222f --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/13100/1 diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 5a370d9..26d8011 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -247,6 +247,24 @@ setverdict(pass); } +import from PCUIF_Types all; +import from PCUIF_CodecPort all; + +private function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { + PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); +} + +testcase TC_pcuif_rach() runs on RAW_Test_CT { + f_sns_bringup_1c1u(); + + f_pcuif_tx(ts_PCUIF_RACH_IND(bts_nr:=0, ra:=23, is_11bit:=0, burst_type:=BURST_TYPE_0, + fn:=42, arfcn:=871, qta:=0)); + PCU.receive(t_SD_PCUIF(g_pcu_conn_id, + tr_PCUIF_DATA_REQ(bts_nr:=0, trx_nr:=0, ts_nr:=0, block_nr:=?, fn:=?, + sapi:=PCU_IF_SAPI_AGCH, data:=?))); + setverdict(pass); +} + control { @@ -259,6 +277,8 @@ execute( TC_sns_add() ); execute( TC_sns_del() ); execute( TC_sns_chg_weight() ); + + execute( TC_pcuif_rach() ); } } -- To view, visit https://gerrit.osmocom.org/13100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8fa6de711391837ed16888c48b22cd29892f222f Gerrit-Change-Number: 13100 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Mar 1 23:59:16 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 1 Mar 2019 23:59:16 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master-o?= =?UTF-8?Q?penbsc_=C2=BB_--disable-iu,--disable-m?= =?UTF-8?Q?gcp-transcoding,--enable-smpp,def?= =?UTF-8?Q?ault,osmocom-master-debian9_#3979?= Message-ID: <1024964981.566.1551484756375.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 678.18 KB...] test_pdu/Makefile.am:76: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:76: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:76: warning: source file '$(TESTPDU_SOURCE_DIR)/outbind_test.c' is in a subdirectory, test_pdu/Makefile.am:76: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:80: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:80: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:80: warning: source file '$(TESTPDU_SOURCE_DIR)/query_sm_resp_test.c' is in a subdirectory, test_pdu/Makefile.am:80: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:84: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:84: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:84: warning: source file '$(TESTPDU_SOURCE_DIR)/query_sm_test.c' is in a subdirectory, test_pdu/Makefile.am:84: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:88: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:88: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:88: warning: source file '$(TESTPDU_SOURCE_DIR)/replace_sm_resp_test.c' is in a subdirectory, test_pdu/Makefile.am:88: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:92: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:92: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:92: warning: source file '$(TESTPDU_SOURCE_DIR)/replace_sm_test.c' is in a subdirectory, test_pdu/Makefile.am:92: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_apps/Makefile.am:4: warning: source file '$(TESTAPPS_SOURCE_DIR)/tcp.c' is in a subdirectory, test_apps/Makefile.am:4: but option 'subdir-objects' is disabled binaries/Makefile.am:9: 'test_apps/Makefile.am' included from here test_apps/Makefile.am:4: warning: source file '$(TESTAPPS_SOURCE_DIR)/smpp.c' is in a subdirectory, test_apps/Makefile.am:4: but option 'subdir-objects' is disabled binaries/Makefile.am:9: 'test_apps/Makefile.am' included from here test_apps/Makefile.am:4: warning: source file '$(TESTAPPS_SOURCE_DIR)/sendwp.c' is in a subdirectory, test_apps/Makefile.am:4: but option 'subdir-objects' is disabled binaries/Makefile.am:9: 'test_apps/Makefile.am' included from here test_pdu/Makefile.am:4: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:4: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:4: warning: source file '$(TESTPDU_SOURCE_DIR)/submit_multi_resp_test.c' is in a subdirectory, test_pdu/Makefile.am:4: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:8: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:8: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:8: warning: source file '$(TESTPDU_SOURCE_DIR)/submit_multi_test.c' is in a subdirectory, test_pdu/Makefile.am:8: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:96: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:96: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:96: warning: source file '$(TESTPDU_SOURCE_DIR)/submit_sm_resp_test.c' is in a subdirectory, test_pdu/Makefile.am:96: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:100: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:100: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:100: warning: source file '$(TESTPDU_SOURCE_DIR)/submit_sm_test.c' is in a subdirectory, test_pdu/Makefile.am:100: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:104: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:104: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:104: warning: source file '$(TESTPDU_SOURCE_DIR)/unbind_resp_test.c' is in a subdirectory, test_pdu/Makefile.am:104: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:108: warning: source file '$(TESTPDU_SOURCE_DIR)/core.c' is in a subdirectory, test_pdu/Makefile.am:108: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here test_pdu/Makefile.am:108: warning: source file '$(TESTPDU_SOURCE_DIR)/unbind_test.c' is in a subdirectory, test_pdu/Makefile.am:108: but option 'subdir-objects' is disabled binaries/Makefile.am:8: 'test_pdu/Makefile.am' included from here binaries/Makefile.am: installing 'aux_config/depcomp' test_apps/Makefile.am:26: warning: variable 'analizer_SOURCES' is defined but no program or test_apps/Makefile.am:26: library has 'analizer' as canonical name (possible typo) test_apps/Makefile.am:17: warning: variable 'esme_SOURCES' is defined but no program or test_apps/Makefile.am:17: library has 'esme' as canonical name (possible typo) test_apps/Makefile.am:4: warning: variable 'sendwp_SOURCES' is defined but no program or test_apps/Makefile.am:4: library has 'sendwp' as canonical name (possible typo) test_apps/Makefile.am:30: warning: variable 'analizer_LDFLAGS' is defined but no program or test_apps/Makefile.am:30: library has 'analizer' as canonical name (possible typo) test_apps/Makefile.am:24: warning: variable 'esme_LDFLAGS' is defined but no program or test_apps/Makefile.am:24: library has 'esme' as canonical name (possible typo) test_apps/Makefile.am:11: warning: variable 'sendwp_LDFLAGS' is defined but no program or test_apps/Makefile.am:11: library has 'sendwp' as canonical name (possible typo) + ./configure --prefix=/build/deps/install/stow/libsmpp34 --with-systemdsystemunitdir=/build/deps/install/stow/libsmpp34/lib/systemd/system configure: WARNING: unrecognized options: --with-systemdsystemunitdir checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for pkg-config... /usr/bin/pkg-config checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.20... yes checking for ANSI C header files... (cached) yes checking for stdlib.h... (cached) yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for stdint.h... (cached) yes checking for string.h... (cached) yes checking for LIBXML2... no checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for memset... yes CFLAGS="-g -O2" CPPFLAGS="" checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating def_frame/Makefile config.status: creating def_list/Makefile config.status: creating binaries/Makefile config.status: creating test_apps/Makefile config.status: creating libsmpp34.pc config.status: creating aux_config/config.h config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --with-systemdsystemunitdir + make -j1 install echo 1.13.0.3-3cf5 > .version-t && mv .version-t .version make install-recursive make[1]: Entering directory '/build/deps/libsmpp34' Making install in binaries make[2]: Entering directory '/build/deps/libsmpp34/binaries' /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_dumpBuf.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpBuf.Tpo -c -o libsmpp34_la-smpp34_dumpBuf.lo `test -f '../src/smpp34_dumpBuf.c' || echo './'`../src/smpp34_dumpBuf.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_dumpBuf.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpBuf.Tpo -c ../src/smpp34_dumpBuf.c -fPIC -DPIC -o .libs/libsmpp34_la-smpp34_dumpBuf.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_dumpBuf.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpBuf.Tpo -c ../src/smpp34_dumpBuf.c -o libsmpp34_la-smpp34_dumpBuf.o >/dev/null 2>&1 mv -f .deps/libsmpp34_la-smpp34_dumpBuf.Tpo .deps/libsmpp34_la-smpp34_dumpBuf.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_dumpPdu.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpPdu.Tpo -c -o libsmpp34_la-smpp34_dumpPdu.lo `test -f '../src/smpp34_dumpPdu.c' || echo './'`../src/smpp34_dumpPdu.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_dumpPdu.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpPdu.Tpo -c ../src/smpp34_dumpPdu.c -fPIC -DPIC -o .libs/libsmpp34_la-smpp34_dumpPdu.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_dumpPdu.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_dumpPdu.Tpo -c ../src/smpp34_dumpPdu.c -o libsmpp34_la-smpp34_dumpPdu.o >/dev/null 2>&1 mv -f .deps/libsmpp34_la-smpp34_dumpPdu.Tpo .deps/libsmpp34_la-smpp34_dumpPdu.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_pack.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_pack.Tpo -c -o libsmpp34_la-smpp34_pack.lo `test -f '../src/smpp34_pack.c' || echo './'`../src/smpp34_pack.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_pack.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_pack.Tpo -c ../src/smpp34_pack.c -fPIC -DPIC -o .libs/libsmpp34_la-smpp34_pack.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_pack.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_pack.Tpo -c ../src/smpp34_pack.c -o libsmpp34_la-smpp34_pack.o >/dev/null 2>&1 mv -f .deps/libsmpp34_la-smpp34_pack.Tpo .deps/libsmpp34_la-smpp34_pack.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_unpack.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_unpack.Tpo -c -o libsmpp34_la-smpp34_unpack.lo `test -f '../src/smpp34_unpack.c' || echo './'`../src/smpp34_unpack.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_unpack.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_unpack.Tpo -c ../src/smpp34_unpack.c -fPIC -DPIC -o .libs/libsmpp34_la-smpp34_unpack.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_unpack.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_unpack.Tpo -c ../src/smpp34_unpack.c -o libsmpp34_la-smpp34_unpack.o >/dev/null 2>&1 mv -f .deps/libsmpp34_la-smpp34_unpack.Tpo .deps/libsmpp34_la-smpp34_unpack.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_structs.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_structs.Tpo -c -o libsmpp34_la-smpp34_structs.lo `test -f '../src/smpp34_structs.c' || echo './'`../src/smpp34_structs.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_structs.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_structs.Tpo -c ../src/smpp34_structs.c -fPIC -DPIC -o .libs/libsmpp34_la-smpp34_structs.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_structs.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_structs.Tpo -c ../src/smpp34_structs.c -o libsmpp34_la-smpp34_structs.o >/dev/null 2>&1 mv -f .deps/libsmpp34_la-smpp34_structs.Tpo .deps/libsmpp34_la-smpp34_structs.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_params.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_params.Tpo -c -o libsmpp34_la-smpp34_params.lo `test -f '../src/smpp34_params.c' || echo './'`../src/smpp34_params.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_params.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_params.Tpo -c ../src/smpp34_params.c -fPIC -DPIC -o .libs/libsmpp34_la-smpp34_params.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -MT libsmpp34_la-smpp34_params.lo -MD -MP -MF .deps/libsmpp34_la-smpp34_params.Tpo -c ../src/smpp34_params.c -o libsmpp34_la-smpp34_params.o >/dev/null 2>&1 mv -f .deps/libsmpp34_la-smpp34_params.Tpo .deps/libsmpp34_la-smpp34_params.Plo /bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -Wall -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -version-info 1:0:0 -no-undefined -lrt -lpthread -o libsmpp34.la -rpath /build/deps/install/stow/libsmpp34/lib libsmpp34_la-smpp34_dumpBuf.lo libsmpp34_la-smpp34_dumpPdu.lo libsmpp34_la-smpp34_pack.lo libsmpp34_la-smpp34_unpack.lo libsmpp34_la-smpp34_structs.lo libsmpp34_la-smpp34_params.lo libtool: link: gcc -shared -fPIC -DPIC .libs/libsmpp34_la-smpp34_dumpBuf.o .libs/libsmpp34_la-smpp34_dumpPdu.o .libs/libsmpp34_la-smpp34_pack.o .libs/libsmpp34_la-smpp34_unpack.o .libs/libsmpp34_la-smpp34_structs.o .libs/libsmpp34_la-smpp34_params.o -lrt -lpthread -O2 -O2 -Wl,-soname -Wl,libsmpp34.so.1 -o .libs/libsmpp34.so.1.0.0 libtool: link: (cd ".libs" && rm -f "libsmpp34.so.1" && ln -s "libsmpp34.so.1.0.0" "libsmpp34.so.1") libtool: link: (cd ".libs" && rm -f "libsmpp34.so" && ln -s "libsmpp34.so.1.0.0" "libsmpp34.so") libtool: link: ar cru .libs/libsmpp34.a libsmpp34_la-smpp34_dumpBuf.o libsmpp34_la-smpp34_dumpPdu.o libsmpp34_la-smpp34_pack.o libsmpp34_la-smpp34_unpack.o libsmpp34_la-smpp34_structs.o libsmpp34_la-smpp34_params.o libtool: link: ranlib .libs/libsmpp34.a libtool: link: ( cd ".libs" && rm -f "libsmpp34.la" && ln -s "../libsmpp34.la" "libsmpp34.la" ) gcc -DHAVE_CONFIG_H -I. -I../aux_config -I../src -I.. -D_REENTRANT -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS -g -O2 -Wall -fPIC -g -O2 -MT core.o -MD -MP -MF .deps/core.Tpo -c -o core.o `test -f '../test_pdu/core.c' || echo './'`../test_pdu/core.c In file included from ../test_pdu/core.c:26:0: /usr/include/string.h:361:6: internal compiler error: Segmentation fault __THROW __nonnull ((2, 3)); ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. The bug is not reproducible, so it is likely a hardware or OS problem. make[2]: *** [core.o] Error 1 Makefile:1059: recipe for target 'core.o' failed make[2]: Leaving directory '/build/deps/libsmpp34/binaries' make[1]: *** [install-recursive] Error 1 Makefile:460: recipe for target 'install-recursive' failed make[1]: Leaving directory '/build/deps/libsmpp34' Makefile:760: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sat Mar 2 00:16:59 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 2 Mar 2019 00:16:59 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_:_m?= =?UTF-8?Q?aster-openbsc_=C2=BB_--disable-iu,--disa?= =?UTF-8?Q?ble-mgcp-transcoding,--enable-smpp,?= =?UTF-8?Q?default,osmocom-master-debian9_#3980?= In-Reply-To: <1024964981.566.1551484756375.JavaMail.jenkins@jenkins.osmocom.org> References: <1024964981.566.1551484756375.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <774842466.567.1551485819324.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Sat Mar 2 07:44:49 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 2 Mar 2019 07:44:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF_Types: Add enumerated PCUIF_BurstType In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13096 ) Change subject: PCUIF_Types: Add enumerated PCUIF_BurstType ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0 Gerrit-Change-Number: 13096 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 02 Mar 2019 07:44:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Sat Mar 2 09:42:00 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 2 Mar 2019 09:42:00 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master-osmo-trx_=C2=BB_--with-ss?= =?UTF-8?Q?e,1,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#914?= Message-ID: <1445675574.582.1551519720143.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 107.49 KB...] Searching INPUT for files to process... Reading and parsing tag files Parsing files Building group list... Building directory list... Building namespace list... Building file list... Building class list... Associating documentation with classes... Computing nesting relations for classes... Building example list... Searching for enumerations... Searching for documented typedefs... Searching for members imported via using declarations... Searching for included using directives... Searching for documented variables... Building interface member list... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Freeing entry tree Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Sorting member lists... Computing dependencies between directories... Generating citations page... Counting data structures... Resolving user defined references... Finding anchors and sections in the documentation... Transferring function references... Combining using relations... Adding members to index pages... Generating style sheet... Generating search indices... Generating example documentation... Generating file sources... Generating file documentation... Generating page documentation... Generating group documentation... Generating class documentation... Generating namespace index... Generating graph info page... Generating directory documentation... Generating index page... Generating page index... Generating module index... Generating namespace index... Generating namespace member index... Generating annotated compound index... Generating alphabetical compound index... Generating hierarchical class index... Generating graphical class hierarchy... Generating member index... Generating file index... Generating file member index... Generating example index... finalizing index lists... writing tag file... Running dot... Running dot for graph 1/1 lookup cache used 0/65536 hits=0 misses=0 finished... make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_guide.html /usr/bin/install -c -m 644 ../README ' cp -r html make[5]: Leaving directory ' make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in firmware make[2]: Entering directory ' Making install in include make[3]: Entering directory ' make[4]: Entering directory ' make[4]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_i2c_addr.h usrp_spi_defs.h fpga_regs_common.h fpga_regs_standard.h ' make[4]: Leaving directory ' make[3]: Leaving directory ' Making install in lib make[3]: Entering directory ' sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c delay.c -o delay.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c fx2utils.c -o fx2utils.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c i2c.c -o i2c.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c isr.c -o isr.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c timer.c -o timer.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c usb_common.c -o usb_common.rel timer.c:45: warning 158: overflow in implicit constant conversion isr.c:73: warning 94: comparison is always false due to limited range of data type usb_common.c:65: warning 196: pointer target lost const qualifier usb_common.c:66: warning 196: pointer target lost const qualifier usb_common.c:67: warning 196: pointer target lost const qualifier usb_common.c:68: warning 196: pointer target lost const qualifier usb_common.c:71: warning 196: pointer target lost const qualifier usb_common.c:72: warning 196: pointer target lost const qualifier usb_common.c:73: warning 196: pointer target lost const qualifier usb_common.c:74: warning 196: pointer target lost const qualifier isr.c:100: warning 94: comparison is always false due to limited range of data type -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'int fixed' to type 'volatile-unsigned-char xdata* xdata' usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:217: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:226: warning 126: unreachable code usb_common.c:184: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG usb_common.c:315: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG rm -f libfx2.lib touch libfx2.lib for obj in delay.rel fx2utils.rel i2c.rel isr.rel timer.rel usb_common.rel; do basename $obj .rel >> libfx2.lib ; done make[3]: Leaving directory ' Making install in src make[3]: Entering directory ' Making install in common make[4]: Entering directory ' make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory ' make[4]: Leaving directory ' Making install in usrp2 make[4]: Entering directory ' test -f `basename 'eeprom_boot.a51'` || ln -s 'eeprom_boot.a51' . sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_init.rel `test -f 'eeprom_init.c' || echo './'`eeprom_init.c test -f `basename '_startup.a51'` || ln -s '_startup.a51' . test -f `basename 'vectors.a51'` || ln -s 'vectors.a51' . srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_common.rel `test -f 'usrp_common.c' || echo './'`usrp_common.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o board_specific.rel `test -f 'board_specific.c' || echo './'`board_specific.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_load.rel `test -f 'fpga_load.c' || echo './'`fpga_load.c test -f ../common/`basename 'eeprom_boot.a51'` -o \ \! -f `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` \ || ln -s `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` ../common/`basename 'eeprom_boot.a51'` test -f ../common/`basename '_startup.a51'` -o \ \! -f `dirname '_startup.a51'`/../common/`basename '_startup.a51'` \ || ln -s `dirname '_startup.a51'`/../common/`basename '_startup.a51'` ../common/`basename '_startup.a51'` test -f ../common/`basename 'vectors.a51'` -o \ \! -f `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` \ || ln -s `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` ../common/`basename 'vectors.a51'` sdas8051 -plosgff `basename 'eeprom_boot.a51'` sdas8051 -plosgff `basename 'vectors.a51'` sdas8051 -plosgff `basename '_startup.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_rev2.rel `test -f 'fpga_rev2.c' || echo './'`fpga_rev2.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o init_gpif.rel `test -f 'init_gpif.c' || echo './'`init_gpif.c board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'bits' board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'mask' ../common/fpga_load.c:139: warning 85: in function clock_out_config_byte unreferenced function argument : 'bits' srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h ../common/fpga_load.c:181: warning 126: unreachable code test -f `basename 'usb_descriptors.a51'` || ln -s 'usb_descriptors.a51' . test -f ../common/`basename 'usb_descriptors.a51'` -o \ \! -f `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` \ || ln -s `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` ../common/`basename 'usb_descriptors.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o spi.rel `test -f 'spi.c' || echo './'`spi.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_io.rel `test -f 'eeprom_io.c' || echo './'`eeprom_io.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_main.rel `test -f 'usrp_main.c' || echo './'`usrp_main.c sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o eeprom_boot.ihx eeprom_boot.rel eeprom_init.rel _startup.rel sdas8051 -plosgff `basename 'usb_descriptors.a51'` ./../common/build_eeprom.py -p -r2 eeprom_boot.ihx > burn-usrp2-eeprom ./../common/build_eeprom.py -p -r4 eeprom_boot.ihx > burn-usrp4-eeprom sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_gpif.rel `test -f 'usrp_gpif.c' || echo './'`usrp_gpif.c usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion chmod +x burn-usrp2-eeprom chmod +x burn-usrp4-eeprom usrp_main.c:223: warning 112: function 'setup_flowstate_common' implicit declaration usrp_main.c:260: warning 112: function 'setup_flowstate_write' implicit declaration usrp_main.c:282: warning 112: function 'setup_flowstate_read' implicit declaration usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o std.ihx vectors.rel usrp_main.rel usrp_common.rel board_specific.rel fpga_load.rel fpga_rev2.rel init_gpif.rel usrp_gpif.rel usb_descriptors.rel spi.rel eeprom_io.rel _startup.rel ?ASlink-Warning-Undefined Global '_setup_flowstate_read' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_write' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_common' referenced by module 'usrp_main' Makefile:688: recipe for target 'std.ihx' failed make[4]: *** [std.ihx] Error 1 make[4]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory ' Makefile:628: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:925: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sat Mar 2 14:18:34 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 2 Mar 2019 14:18:34 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master-osmo-trx_=C2=BB_--with-ss?= =?UTF-8?Q?e,1,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#915?= In-Reply-To: <1445675574.582.1551519720143.JavaMail.jenkins@jenkins.osmocom.org> References: <1445675574.582.1551519720143.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1573354152.583.1551536314077.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 123.41 KB...] Searching INPUT for files to process... Reading and parsing tag files Parsing files Building group list... Building directory list... Building namespace list... Building file list... Building class list... Associating documentation with classes... Computing nesting relations for classes... Building example list... Searching for enumerations... Searching for documented typedefs... Searching for members imported via using declarations... Searching for included using directives... Searching for documented variables... Building interface member list... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Freeing entry tree Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Sorting member lists... Computing dependencies between directories... Generating citations page... Counting data structures... Resolving user defined references... Finding anchors and sections in the documentation... Transferring function references... Combining using relations... Adding members to index pages... Generating style sheet... Generating search indices... Generating example documentation... Generating file sources... Generating file documentation... Generating page documentation... Generating group documentation... Generating class documentation... Generating namespace index... Generating graph info page... Generating directory documentation... Generating index page... Generating page index... Generating module index... Generating namespace index... Generating namespace member index... Generating annotated compound index... Generating alphabetical compound index... Generating hierarchical class index... Generating graphical class hierarchy... Generating member index... Generating file index... Generating file member index... Generating example index... finalizing index lists... writing tag file... Running dot... Running dot for graph 1/1 lookup cache used 0/65536 hits=0 misses=0 finished... make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_guide.html /usr/bin/install -c -m 644 ../README ' cp -r html make[5]: Leaving directory ' make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in firmware make[2]: Entering directory ' Making install in include make[3]: Entering directory ' make[4]: Entering directory ' make[4]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_i2c_addr.h usrp_spi_defs.h fpga_regs_common.h fpga_regs_standard.h ' make[4]: Leaving directory ' make[3]: Leaving directory ' Making install in lib make[3]: Entering directory ' sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c delay.c -o delay.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c fx2utils.c -o fx2utils.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c i2c.c -o i2c.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c isr.c -o isr.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c timer.c -o timer.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c usb_common.c -o usb_common.rel usb_common.c:65: warning 196: pointer target lost const qualifier usb_common.c:66: warning 196: pointer target lost const qualifier usb_common.c:67: warning 196: pointer target lost const qualifier usb_common.c:68: warning 196: pointer target lost const qualifier usb_common.c:71: warning 196: pointer target lost const qualifier usb_common.c:72: warning 196: pointer target lost const qualifier usb_common.c:73: warning 196: pointer target lost const qualifier usb_common.c:74: warning 196: pointer target lost const qualifier timer.c:45: warning 158: overflow in implicit constant conversion isr.c:73: warning 94: comparison is always false due to limited range of data type -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'int fixed' to type 'volatile-unsigned-char xdata* xdata' isr.c:100: warning 94: comparison is always false due to limited range of data type usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:217: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:226: warning 126: unreachable code usb_common.c:184: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG usb_common.c:315: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG rm -f libfx2.lib touch libfx2.lib for obj in delay.rel fx2utils.rel i2c.rel isr.rel timer.rel usb_common.rel; do basename $obj .rel >> libfx2.lib ; done make[3]: Leaving directory ' Making install in src make[3]: Entering directory ' Making install in common make[4]: Entering directory ' make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory ' make[4]: Leaving directory ' Making install in usrp2 make[4]: Entering directory ' test -f `basename 'eeprom_boot.a51'` || ln -s 'eeprom_boot.a51' . sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_init.rel `test -f 'eeprom_init.c' || echo './'`eeprom_init.c test -f `basename '_startup.a51'` || ln -s '_startup.a51' . test -f `basename 'vectors.a51'` || ln -s 'vectors.a51' . srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_common.rel `test -f 'usrp_common.c' || echo './'`usrp_common.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o board_specific.rel `test -f 'board_specific.c' || echo './'`board_specific.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_load.rel `test -f 'fpga_load.c' || echo './'`fpga_load.c test -f ../common/`basename 'eeprom_boot.a51'` -o \ \! -f `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` \ || ln -s `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` ../common/`basename 'eeprom_boot.a51'` test -f ../common/`basename '_startup.a51'` -o \ \! -f `dirname '_startup.a51'`/../common/`basename '_startup.a51'` \ || ln -s `dirname '_startup.a51'`/../common/`basename '_startup.a51'` ../common/`basename '_startup.a51'` test -f ../common/`basename 'vectors.a51'` -o \ \! -f `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` \ || ln -s `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` ../common/`basename 'vectors.a51'` sdas8051 -plosgff `basename '_startup.a51'` sdas8051 -plosgff `basename 'eeprom_boot.a51'` sdas8051 -plosgff `basename 'vectors.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_rev2.rel `test -f 'fpga_rev2.c' || echo './'`fpga_rev2.c board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'bits' board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'mask' sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o init_gpif.rel `test -f 'init_gpif.c' || echo './'`init_gpif.c srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h ../common/fpga_load.c:139: warning 85: in function clock_out_config_byte unreferenced function argument : 'bits' test -f `basename 'usb_descriptors.a51'` || ln -s 'usb_descriptors.a51' . ../common/fpga_load.c:181: warning 126: unreachable code test -f ../common/`basename 'usb_descriptors.a51'` -o \ \! -f `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` \ || ln -s `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` ../common/`basename 'usb_descriptors.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o spi.rel `test -f 'spi.c' || echo './'`spi.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_io.rel `test -f 'eeprom_io.c' || echo './'`eeprom_io.c sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o eeprom_boot.ihx eeprom_boot.rel eeprom_init.rel _startup.rel sdas8051 -plosgff `basename 'usb_descriptors.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_main.rel `test -f 'usrp_main.c' || echo './'`usrp_main.c ./../common/build_eeprom.py -p -r2 eeprom_boot.ihx > burn-usrp2-eeprom ./../common/build_eeprom.py -p -r4 eeprom_boot.ihx > burn-usrp4-eeprom sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_gpif.rel `test -f 'usrp_gpif.c' || echo './'`usrp_gpif.c usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion chmod +x burn-usrp2-eeprom chmod +x burn-usrp4-eeprom usrp_main.c:223: warning 112: function 'setup_flowstate_common' implicit declaration usrp_main.c:260: warning 112: function 'setup_flowstate_write' implicit declaration usrp_main.c:282: warning 112: function 'setup_flowstate_read' implicit declaration usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o std.ihx vectors.rel usrp_main.rel usrp_common.rel board_specific.rel fpga_load.rel fpga_rev2.rel init_gpif.rel usrp_gpif.rel usb_descriptors.rel spi.rel eeprom_io.rel _startup.rel ?ASlink-Warning-Undefined Global '_setup_flowstate_read' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_write' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_common' referenced by module 'usrp_main' Makefile:688: recipe for target 'std.ihx' failed make[4]: *** [std.ihx] Error 1 make[4]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory ' Makefile:628: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:925: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sat Mar 2 15:10:06 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sat, 2 Mar 2019 15:10:06 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_ma?= =?UTF-8?Q?ster-asn1c_=C2=BB_a1=3Ddefault,a2=3Dd?= =?UTF-8?Q?efault,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#417?= In-Reply-To: <1482067124.564.1551453007009.JavaMail.jenkins@jenkins.osmocom.org> References: <1482067124.564.1551453007009.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1696910836.584.1551539406880.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 3.76 KB...] checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... no checking for xlf... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for f90... no checking for xlf90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for f95... no checking for fort... no checking for xlf95... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking for autoconf... /usr/bin/autoconf checking for autoheader... /usr/bin/autoheader checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for bison... bison -y checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for ar... /usr/bin/ar checking for ANSI C header files... (cached) yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking whether byte ordering is bigendian... no checking for off_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for intmax_t... yes checking for library containing getopt... none required checking for strtoimax... yes checking for strtoll... yes checking for mergesort... no checking for mkstemps... yes configure: creating ./config.status config.status: creating skeletons/standard-modules/Makefile config.status: creating skeletons/tests/Makefile config.status: creating libasn1compiler/Makefile config.status: creating libasn1parser/Makefile config.status: creating libasn1print/Makefile config.status: creating asn1c/webcgi/Makefile config.status: creating asn1c/tests/Makefile config.status: creating libasn1fix/Makefile config.status: creating skeletons/Makefile config.status: creating examples/Makefile config.status: creating tests/Makefile config.status: creating asn1c/Makefile config.status: creating doc/Makefile config.status: creating asn1c.spec config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands + make -j 8 make all-recursive make[1]: Entering directory ' Making all in libasn1parser make[2]: Entering directory ' if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1parser.lo -MD -MP -MF ".deps/asn1parser.Tpo" -c -o asn1parser.lo asn1parser.c; \ then mv -f ".deps/asn1parser.Tpo" ".deps/asn1parser.Plo"; else rm -f ".deps/asn1parser.Tpo"; exit 1; fi bison -y -p asn1p_ -d asn1p_y.y if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_l.lo -MD -MP -MF ".deps/asn1p_l.Tpo" -c -o asn1p_l.lo asn1p_l.c; \ then mv -f ".deps/asn1p_l.Tpo" ".deps/asn1p_l.Plo"; else rm -f ".deps/asn1p_l.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_module.lo -MD -MP -MF ".deps/asn1p_module.Tpo" -c -o asn1p_module.lo asn1p_module.c; \ then mv -f ".deps/asn1p_module.Tpo" ".deps/asn1p_module.Plo"; else rm -f ".deps/asn1p_module.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_oid.lo -MD -MP -MF ".deps/asn1p_oid.Tpo" -c -o asn1p_oid.lo asn1p_oid.c; \ then mv -f ".deps/asn1p_oid.Tpo" ".deps/asn1p_oid.Plo"; else rm -f ".deps/asn1p_oid.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_value.lo -MD -MP -MF ".deps/asn1p_value.Tpo" -c -o asn1p_value.lo asn1p_value.c; \ then mv -f ".deps/asn1p_value.Tpo" ".deps/asn1p_value.Plo"; else rm -f ".deps/asn1p_value.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_expr.lo -MD -MP -MF ".deps/asn1p_expr.Tpo" -c -o asn1p_expr.lo asn1p_expr.c; \ then mv -f ".deps/asn1p_expr.Tpo" ".deps/asn1p_expr.Plo"; else rm -f ".deps/asn1p_expr.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_xports.lo -MD -MP -MF ".deps/asn1p_xports.Tpo" -c -o asn1p_xports.lo asn1p_xports.c; \ then mv -f ".deps/asn1p_xports.Tpo" ".deps/asn1p_xports.Plo"; else rm -f ".deps/asn1p_xports.Tpo"; exit 1; fi asn1p_y.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr] mkdir .libs mkdir .libs mkdir: cannot create directory '.libs': File exists gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_oid.lo -MD -MP -MF .deps/asn1p_oid.Tpo -c asn1p_oid.c -fPIC -DPIC -o .libs/asn1p_oid.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_expr.lo -MD -MP -MF .deps/asn1p_expr.Tpo -c asn1p_expr.c -fPIC -DPIC -o .libs/asn1p_expr.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1parser.lo -MD -MP -MF .deps/asn1parser.Tpo -c asn1parser.c -fPIC -DPIC -o .libs/asn1parser.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_module.lo -MD -MP -MF .deps/asn1p_module.Tpo -c asn1p_module.c -fPIC -DPIC -o .libs/asn1p_module.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_value.lo -MD -MP -MF .deps/asn1p_value.Tpo -c asn1p_value.c -fPIC -DPIC -o .libs/asn1p_value.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_l.lo -MD -MP -MF .deps/asn1p_l.Tpo -c asn1p_l.c -fPIC -DPIC -o .libs/asn1p_l.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_xports.lo -MD -MP -MF .deps/asn1p_xports.Tpo -c asn1p_xports.c -fPIC -DPIC -o .libs/asn1p_xports.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_xports.lo -MD -MP -MF .deps/asn1p_xports.Tpo -c asn1p_xports.c -o asn1p_xports.o >/dev/null 2>&1 asn1p_l.c:3521:12: warning: 'input' defined but not used [-Wunused-function] static int input() ^~~~~ gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_module.lo -MD -MP -MF .deps/asn1p_module.Tpo -c asn1p_module.c -o asn1p_module.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_oid.lo -MD -MP -MF .deps/asn1p_oid.Tpo -c asn1p_oid.c -o asn1p_oid.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1parser.lo -MD -MP -MF .deps/asn1parser.Tpo -c asn1parser.c -o asn1parser.o >/dev/null 2>&1 if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_constr.lo -MD -MP -MF ".deps/asn1p_constr.Tpo" -c -o asn1p_constr.lo asn1p_constr.c; \ then mv -f ".deps/asn1p_constr.Tpo" ".deps/asn1p_constr.Plo"; else rm -f ".deps/asn1p_constr.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_value.lo -MD -MP -MF .deps/asn1p_value.Tpo -c asn1p_value.c -o asn1p_value.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_expr.lo -MD -MP -MF .deps/asn1p_expr.Tpo -c asn1p_expr.c -o asn1p_expr.o >/dev/null 2>&1 if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_param.lo -MD -MP -MF ".deps/asn1p_param.Tpo" -c -o asn1p_param.lo asn1p_param.c; \ then mv -f ".deps/asn1p_param.Tpo" ".deps/asn1p_param.Plo"; else rm -f ".deps/asn1p_param.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_class.lo -MD -MP -MF ".deps/asn1p_class.Tpo" -c -o asn1p_class.lo asn1p_class.c; \ then mv -f ".deps/asn1p_class.Tpo" ".deps/asn1p_class.Plo"; else rm -f ".deps/asn1p_class.Tpo"; exit 1; fi if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_ref.lo -MD -MP -MF ".deps/asn1p_ref.Tpo" -c -o asn1p_ref.lo asn1p_ref.c; \ then mv -f ".deps/asn1p_ref.Tpo" ".deps/asn1p_ref.Plo"; else rm -f ".deps/asn1p_ref.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_constr.lo -MD -MP -MF .deps/asn1p_constr.Tpo -c asn1p_constr.c -fPIC -DPIC -o .libs/asn1p_constr.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_param.lo -MD -MP -MF .deps/asn1p_param.Tpo -c asn1p_param.c -fPIC -DPIC -o .libs/asn1p_param.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_class.lo -MD -MP -MF .deps/asn1p_class.Tpo -c asn1p_class.c -fPIC -DPIC -o .libs/asn1p_class.o if test -f y.tab.h; then \ to=`echo "asn1p_y_H" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ sed -e "/^#/!b" -e "s/Y_TAB_H/$to/g" -e "s|y\.tab\.h|asn1p_y.h|" \ y.tab.h >asn1p_y.ht; \ rm -f y.tab.h; \ if cmp -s asn1p_y.ht asn1p_y.h; then \ rm -f asn1p_y.ht ;\ else \ mv asn1p_y.ht asn1p_y.h; \ fi; \ fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_ref.lo -MD -MP -MF .deps/asn1p_ref.Tpo -c asn1p_ref.c -fPIC -DPIC -o .libs/asn1p_ref.o if test -f y.output; then \ mv y.output asn1p_y.output; \ fi sed '/^#/ s|y\.tab\.c|asn1p_y.c|' y.tab.c >asn1p_y.ct && mv asn1p_y.ct asn1p_y.c rm -f y.tab.c if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_y.lo -MD -MP -MF ".deps/asn1p_y.Tpo" -c -o asn1p_y.lo asn1p_y.c; \ then mv -f ".deps/asn1p_y.Tpo" ".deps/asn1p_y.Plo"; else rm -f ".deps/asn1p_y.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_param.lo -MD -MP -MF .deps/asn1p_param.Tpo -c asn1p_param.c -o asn1p_param.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_constr.lo -MD -MP -MF .deps/asn1p_constr.Tpo -c asn1p_constr.c -o asn1p_constr.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_class.lo -MD -MP -MF .deps/asn1p_class.Tpo -c asn1p_class.c -o asn1p_class.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_ref.lo -MD -MP -MF .deps/asn1p_ref.Tpo -c asn1p_ref.c -o asn1p_ref.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_y.lo -MD -MP -MF .deps/asn1p_y.Tpo -c asn1p_y.c -fPIC -DPIC -o .libs/asn1p_y.o asn1p_y.y: In function 'asn1p_parse': asn1p_y.y:357:13: error: 'param' undeclared (first use in this function) *(void **)param = $1; ^~~~~ asn1p_y.y:357:13: note: each undeclared identifier is reported only once for each function it appears in gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wshadow -Wcast-qual -Wcast-align -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -MT asn1p_l.lo -MD -MP -MF .deps/asn1p_l.Tpo -c asn1p_l.c -o asn1p_l.o >/dev/null 2>&1 Makefile:299: recipe for target 'asn1p_y.lo' failed make[2]: *** [asn1p_y.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory ' Makefile:302: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory ' Makefile:212: recipe for target 'all' failed make: *** [all] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sun Mar 3 09:42:01 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 3 Mar 2019 09:42:01 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master-osmo-trx_=C2=BB_--with-ss?= =?UTF-8?Q?e,1,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#916?= In-Reply-To: <1573354152.583.1551536314077.JavaMail.jenkins@jenkins.osmocom.org> References: <1573354152.583.1551536314077.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <1017431337.601.1551606121790.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 105.65 KB...] Searching INPUT for files to process... Reading and parsing tag files Parsing files Building group list... Building directory list... Building namespace list... Building file list... Building class list... Associating documentation with classes... Computing nesting relations for classes... Building example list... Searching for enumerations... Searching for documented typedefs... Searching for members imported via using declarations... Searching for included using directives... Searching for documented variables... Building interface member list... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Freeing entry tree Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Sorting member lists... Computing dependencies between directories... Generating citations page... Counting data structures... Resolving user defined references... Finding anchors and sections in the documentation... Transferring function references... Combining using relations... Adding members to index pages... Generating style sheet... Generating search indices... Generating example documentation... Generating file sources... Generating file documentation... Generating page documentation... Generating group documentation... Generating class documentation... Generating namespace index... Generating graph info page... Generating directory documentation... Generating index page... Generating page index... Generating module index... Generating namespace index... Generating namespace member index... Generating annotated compound index... Generating alphabetical compound index... Generating hierarchical class index... Generating graphical class hierarchy... Generating member index... Generating file index... Generating file member index... Generating example index... finalizing index lists... writing tag file... Running dot... Running dot for graph 1/1 lookup cache used 0/65536 hits=0 misses=0 finished... make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_guide.html /usr/bin/install -c -m 644 ../README ' cp -r html make[5]: Leaving directory ' make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in firmware make[2]: Entering directory ' Making install in include make[3]: Entering directory ' make[4]: Entering directory ' make[4]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p ' /usr/bin/install -c -m 644 usrp_i2c_addr.h usrp_spi_defs.h fpga_regs_common.h fpga_regs_standard.h ' make[4]: Leaving directory ' make[3]: Leaving directory ' Making install in lib make[3]: Entering directory ' sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c delay.c -o delay.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c fx2utils.c -o fx2utils.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c i2c.c -o i2c.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c isr.c -o isr.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c timer.c -o timer.rel sdcc -mmcs51 --no-xinit-opt -I../../firmware/include -c usb_common.c -o usb_common.rel usb_common.c:65: warning 196: pointer target lost const qualifier usb_common.c:66: warning 196: pointer target lost const qualifier usb_common.c:67: warning 196: pointer target lost const qualifier usb_common.c:68: warning 196: pointer target lost const qualifier usb_common.c:71: warning 196: pointer target lost const qualifier usb_common.c:72: warning 196: pointer target lost const qualifier usb_common.c:73: warning 196: pointer target lost const qualifier usb_common.c:74: warning 196: pointer target lost const qualifier timer.c:45: warning 158: overflow in implicit constant conversion -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'volatile-unsigned-char xdata' to type 'volatile-unsigned-char xdata* xdata' -:0: warning 154: converting integral to pointer without a cast from type 'int fixed' to type 'volatile-unsigned-char xdata* xdata' isr.c:73: warning 94: comparison is always false due to limited range of data type isr.c:100: warning 94: comparison is always false due to limited range of data type usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:216: warning 126: unreachable code usb_common.c:217: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:225: warning 126: unreachable code usb_common.c:226: warning 126: unreachable code usb_common.c:184: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG usb_common.c:315: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG rm -f libfx2.lib touch libfx2.lib for obj in delay.rel fx2utils.rel i2c.rel isr.rel timer.rel usb_common.rel; do basename $obj .rel >> libfx2.lib ; done make[3]: Leaving directory ' Making install in src make[3]: Entering directory ' Making install in common make[4]: Entering directory ' make[5]: Entering directory ' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory ' make[4]: Leaving directory ' Making install in usrp2 make[4]: Entering directory ' test -f `basename 'eeprom_boot.a51'` || ln -s 'eeprom_boot.a51' . sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_init.rel `test -f 'eeprom_init.c' || echo './'`eeprom_init.c test -f `basename '_startup.a51'` || ln -s '_startup.a51' . test -f `basename 'vectors.a51'` || ln -s 'vectors.a51' . srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_common.rel `test -f 'usrp_common.c' || echo './'`usrp_common.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o board_specific.rel `test -f 'board_specific.c' || echo './'`board_specific.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_load.rel `test -f 'fpga_load.c' || echo './'`fpga_load.c test -f ../common/`basename 'eeprom_boot.a51'` -o \ \! -f `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` \ || ln -s `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` ../common/`basename 'eeprom_boot.a51'` test -f ../common/`basename '_startup.a51'` -o \ \! -f `dirname '_startup.a51'`/../common/`basename '_startup.a51'` \ || ln -s `dirname '_startup.a51'`/../common/`basename '_startup.a51'` ../common/`basename '_startup.a51'` test -f ../common/`basename 'vectors.a51'` -o \ \! -f `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` \ || ln -s `dirname 'vectors.a51'`/../common/`basename 'vectors.a51'` ../common/`basename 'vectors.a51'` sdas8051 -plosgff `basename 'eeprom_boot.a51'` sdas8051 -plosgff `basename 'vectors.a51'` sdas8051 -plosgff `basename '_startup.a51'` sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o fpga_rev2.rel `test -f 'fpga_rev2.c' || echo './'`fpga_rev2.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o init_gpif.rel `test -f 'init_gpif.c' || echo './'`init_gpif.c srcdir=. ./edit-gpif ./gpif.c usrp_gpif.c usrp_gpif_inline.h ../common/fpga_load.c:139: warning 85: in function clock_out_config_byte unreferenced function argument : 'bits' ../common/fpga_load.c:181: warning 126: unreachable code board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'bits' board_specific.c:65: warning 85: in function set_sleep_bits unreferenced function argument : 'mask' test -f `basename 'usb_descriptors.a51'` || ln -s 'usb_descriptors.a51' . sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o spi.rel `test -f 'spi.c' || echo './'`spi.c sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o eeprom_io.rel `test -f 'eeprom_io.c' || echo './'`eeprom_io.c test -f ../common/`basename 'usb_descriptors.a51'` -o \ \! -f `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` \ || ln -s `dirname 'usb_descriptors.a51'`/../common/`basename 'usb_descriptors.a51'` ../common/`basename 'usb_descriptors.a51'` sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o eeprom_boot.ihx eeprom_boot.rel eeprom_init.rel _startup.rel sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_main.rel `test -f 'usrp_main.c' || echo './'`usrp_main.c sdas8051 -plosgff `basename 'usb_descriptors.a51'` ./../common/build_eeprom.py -p -r2 eeprom_boot.ihx > burn-usrp2-eeprom ./../common/build_eeprom.py -p -r4 eeprom_boot.ihx > burn-usrp4-eeprom sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \ -c -o usrp_gpif.rel `test -f 'usrp_gpif.c' || echo './'`usrp_gpif.c usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:194: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion usrp_gpif.c:201: warning 158: overflow in implicit constant conversion chmod +x burn-usrp2-eeprom chmod +x burn-usrp4-eeprom usrp_main.c:223: warning 112: function 'setup_flowstate_common' implicit declaration usrp_main.c:260: warning 112: function 'setup_flowstate_write' implicit declaration usrp_main.c:282: warning 112: function 'setup_flowstate_read' implicit declaration usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization usrp_main.c:223: warning 84: 'auto' variable 'setup_flowstate_common' may be used before initialization usrp_main.c:260: warning 84: 'auto' variable 'setup_flowstate_write' may be used before initialization usrp_main.c:282: warning 84: 'auto' variable 'setup_flowstate_read' may be used before initialization sdcc -mmcs51 --no-xinit-opt --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../../lib libfx2.lib -o std.ihx vectors.rel usrp_main.rel usrp_common.rel board_specific.rel fpga_load.rel fpga_rev2.rel init_gpif.rel usrp_gpif.rel usb_descriptors.rel spi.rel eeprom_io.rel _startup.rel ?ASlink-Warning-Undefined Global '_setup_flowstate_read' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_write' referenced by module 'usrp_main' ?ASlink-Warning-Undefined Global '_setup_flowstate_common' referenced by module 'usrp_main' Makefile:688: recipe for target 'std.ihx' failed make[4]: *** [std.ihx] Error 1 make[4]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[3]: *** [install-recursive] Error 1 make[3]: Leaving directory ' Makefile:404: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory ' Makefile:628: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:925: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Sun Mar 3 14:22:40 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Sun, 3 Mar 2019 14:22:40 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_:_master-osmo-trx_=C2=BB_--wit?= =?UTF-8?Q?h-sse,1,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#917?= In-Reply-To: <1017431337.601.1551606121790.JavaMail.jenkins@jenkins.osmocom.org> References: <1017431337.601.1551606121790.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <400006297.602.1551622960862.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:47:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:47:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF_Types: Add enumerated PCUIF_BurstType In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13096 ) Change subject: PCUIF_Types: Add enumerated PCUIF_BurstType ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0 Gerrit-Change-Number: 13096 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 03 Mar 2019 14:47:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Split RAW_PCU_CT from RAW_NS_CT In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13097 ) Change subject: PCU: Split RAW_PCU_CT from RAW_NS_CT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I15021c5dea16e39a530d8d9080e37a7f2a6c4fa7 Gerrit-Change-Number: 13097 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 03 Mar 2019 14:48:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13098 ) Change subject: PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic334d8809baea86ea93f429b200204861b989030 Gerrit-Change-Number: 13098 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 03 Mar 2019 14:48:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Add send + receive templates for TIME_IND In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13099 ) Change subject: PCUIF: Add send + receive templates for TIME_IND ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I57d776d8d2d8300805b8b8e724c288ba29c4b284 Gerrit-Change-Number: 13099 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 03 Mar 2019 14:48:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Add simple test for PCUIF RACH Indication In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13100 ) Change subject: PCU: Add simple test for PCUIF RACH Indication ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8fa6de711391837ed16888c48b22cd29892f222f Gerrit-Change-Number: 13100 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 03 Mar 2019 14:48:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF_Types: Add enumerated PCUIF_BurstType In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13096 ) Change subject: PCUIF_Types: Add enumerated PCUIF_BurstType ...................................................................... PCUIF_Types: Add enumerated PCUIF_BurstType Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0 --- M library/PCUIF_Types.ttcn 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 3215c4b..83e32fc 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -108,6 +108,13 @@ uint8_t block_nr } with { variant "" }; +type enumerated PCUIF_BurstType { + BURST_TYPE_NONE (0), + BURST_TYPE_0 (1), + BURST_TYPE_1 (2), + BURST_TYPE_2 (3) +} with { variant "FIELDLENGTH(8)" }; + type record PCUIF_rach_ind { PCUIF_Sapi sapi, uint16_t ra, @@ -115,7 +122,7 @@ uint32_t fn, uint16_t arfcn, uint8_t is_11bit, - uint8_t burst_type + PCUIF_BurstType burst_type } with { variant "" }; type record PCUIF_InfoTrx { @@ -531,7 +538,7 @@ template (value) PCUIF_Message ts_PCUIF_RACH_IND(template (value) uint8_t bts_nr, template (value) uint16_t ra, template (value) uint8_t is_11bit, - template (value) uint8_t burst_type, + template (value) PCUIF_BurstType burst_type, template (value) uint32_t fn, template (value) uint16_t arfcn, template (value) int16_t qta := 0 @@ -554,7 +561,7 @@ template PCUIF_Message tr_PCUIF_RACH_IND(template uint8_t bts_nr := ?, template uint16_t ra := ?, template uint8_t is_11bit := ?, - template uint8_t burst_type := ?, + template PCUIF_BurstType burst_type := ?, template uint32_t fn := ?) := { msg_type := PCU_IF_MSG_RACH_IND, bts_nr := bts_nr, -- To view, visit https://gerrit.osmocom.org/13096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0 Gerrit-Change-Number: 13096 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Split RAW_PCU_CT from RAW_NS_CT In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13097 ) Change subject: PCU: Split RAW_PCU_CT from RAW_NS_CT ...................................................................... PCU: Split RAW_PCU_CT from RAW_NS_CT Let's split the PCUIF-side component from the NS-side component and create a new RAW_Test_CT which derives from both. Change-Id: I15021c5dea16e39a530d8d9080e37a7f2a6c4fa7 --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 24 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 397e895..923b086 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -34,12 +34,17 @@ var ConnectionId g_ns_conn_id[4] := {-1, -1, -1, -1}; var NSConfiguration g_nsconfig[4]; timer g_T_guard; +} +type component RAW_PCU_CT { /* PCUIF (we emulate the BTS part) */ port PCUIF_CODEC_PT PCU; var ConnectionId g_pcu_conn_id := -1; } +type component RAW_Test_CT extends RAW_NS_CT, RAW_PCU_CT { +} + private altstep as_Tguard() runs on RAW_NS_CT { [] g_T_guard.timeout { setverdict(fail, "Timeout of T_guard"); @@ -47,7 +52,7 @@ } } -function f_init_pcuif() runs on RAW_NS_CT { +function f_init_pcuif() runs on RAW_PCU_CT { map(self:PCU, system:PCU); /* Connect the Unix Domain Socket */ @@ -202,7 +207,7 @@ } /* test the NS-RESET procedure */ -testcase TC_ns_reset() runs on RAW_NS_CT { +testcase TC_ns_reset() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -213,7 +218,7 @@ } /* ensure NS-RESET are re-transmitted */ -testcase TC_ns_reset_retrans() runs on RAW_NS_CT { +testcase TC_ns_reset_retrans() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -229,7 +234,7 @@ } /* test the inbound NS-ALIVE procedure after NS-RESET */ -testcase TC_ns_alive() runs on RAW_NS_CT { +testcase TC_ns_alive() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -242,7 +247,7 @@ } /* Test for NS-RESET after NS-ALIVE timeout */ -testcase TC_ns_alive_timeout_reset() runs on RAW_NS_CT { +testcase TC_ns_alive_timeout_reset() runs on RAW_Test_CT { f_init_ns_codec(guard_secs := 100.0); f_init_pcuif(); @@ -260,7 +265,7 @@ } /* test for NS-RESET/NS-ALIVE/NS-UNBLOCK */ -testcase TC_ns_unblock() runs on RAW_NS_CT { +testcase TC_ns_unblock() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -276,7 +281,7 @@ } /* test for NS-UNBLOCK re-transmissions */ -testcase TC_ns_unblock_retrans() runs on RAW_NS_CT { +testcase TC_ns_unblock_retrans() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -296,7 +301,7 @@ } /* full bring-up of the Gb link for NS and BSSGP layer up to BVC-FC */ -testcase TC_ns_full_bringup() runs on RAW_NS_CT { +testcase TC_ns_full_bringup() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); @@ -323,7 +328,7 @@ } /* test outbound (SGSN-originated) NS-BLOCK procedure */ -testcase TC_ns_so_block() runs on RAW_NS_CT { +testcase TC_ns_so_block() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 2369b04..5a370d9 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -105,7 +105,7 @@ /* PCU-originated SNS-SIZE: successful case */ -testcase TC_sns_po_size_success() runs on RAW_NS_CT { +testcase TC_sns_po_size_success() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -114,7 +114,7 @@ } /* PCU-originated SNS-SIZE: NACK from our side */ -testcase TC_sns_po_size_nack() runs on RAW_NS_CT { +testcase TC_sns_po_size_nack() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(NS_CAUSE_PROTOCOL_ERROR_UNSPEIFIED); @@ -125,7 +125,7 @@ } /* PCU-originated SNS-CONFIG: successful case */ -testcase TC_sns_po_config_success() runs on RAW_NS_CT { +testcase TC_sns_po_config_success() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -135,7 +135,7 @@ } /* PCU-originated SNS-CONFIG: successful case */ -testcase TC_sns_po_config_nack() runs on RAW_NS_CT { +testcase TC_sns_po_config_nack() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -147,7 +147,7 @@ /* SGSN-originated SNS-SIZE: successful case */ -testcase TC_sns_so_config_success() runs on RAW_NS_CT { +testcase TC_sns_so_config_success() runs on RAW_Test_CT { f_init_ns_codec(); f_init_pcuif(); f_incoming_sns_size(); @@ -171,7 +171,7 @@ setverdict(pass); } -private function f_sns_bringup_1c1u() runs on RAW_NS_CT { +private function f_sns_bringup_1c1u() runs on RAW_Test_CT { /* Activate two NS codec ports */ f_init_ns_codec(); f_init_ns_codec(1); @@ -206,13 +206,13 @@ } /* Test full IP-SNS bring-up with two NS-VCs, one sig-only and one user-only */ -testcase TC_sns_1c1u() runs on RAW_NS_CT { +testcase TC_sns_1c1u() runs on RAW_Test_CT { f_sns_bringup_1c1u(); setverdict(pass); } /* Test adding new IP endpoints at runtime */ -testcase TC_sns_add() runs on RAW_NS_CT { +testcase TC_sns_add() runs on RAW_Test_CT { f_sns_bringup_1c1u(); /* crate another NS codec port on the tester side */ @@ -230,7 +230,7 @@ } /* Test deleting IP endpoints at runtime */ -testcase TC_sns_del() runs on RAW_NS_CT { +testcase TC_sns_del() runs on RAW_Test_CT { f_sns_bringup_1c1u(); f_outgoing_sns_del(idx_del := 1, w_sig := 0, w_user := 1, idx := 0); @@ -239,7 +239,7 @@ } /* Test changing weights at runtime */ -testcase TC_sns_chg_weight() runs on RAW_NS_CT { +testcase TC_sns_chg_weight() runs on RAW_Test_CT { f_sns_bringup_1c1u(); /* change w_user from 1 to 200 */ -- To view, visit https://gerrit.osmocom.org/13097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I15021c5dea16e39a530d8d9080e37a7f2a6c4fa7 Gerrit-Change-Number: 13097 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13098 ) Change subject: PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ ...................................................................... PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ Change-Id: Ic334d8809baea86ea93f429b200204861b989030 --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 83e32fc..b744ebc 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -468,7 +468,7 @@ len := ?, data := data, fn := fn, - arfcn := 0, /* unused in BTS */ + arfcn := ?, /* unused in BTS */ trx_nr := trx_nr, ts_nr := ts_nr, block_nr := block_nr, -- To view, visit https://gerrit.osmocom.org/13098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic334d8809baea86ea93f429b200204861b989030 Gerrit-Change-Number: 13098 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Add send + receive templates for TIME_IND In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13099 ) Change subject: PCUIF: Add send + receive templates for TIME_IND ...................................................................... PCUIF: Add send + receive templates for TIME_IND Change-Id: I57d776d8d2d8300805b8b8e724c288ba29c4b284 --- M library/PCUIF_Types.ttcn 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index b744ebc..5644431 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -749,5 +749,27 @@ } } +template (value) PCUIF_Message ts_PCUIF_TIME_IND(template (value) uint8_t bts_nr, + template (value) uint32_t fn) := { + msg_type := PCU_IF_MSG_TIME_IND, + bts_nr := bts_nr, + spare := '0000'O, + u := { + time_ind := { + fn := fn + } + } +} +template PCUIF_Message tr_PCUIF_TIME_IND(template uint8_t bts_nr, + template uint32_t fn) := { + msg_type := PCU_IF_MSG_TIME_IND, + bts_nr := bts_nr, + spare := ?, + u := { + time_ind := { + fn := fn + } + } +} } with { encode "RAW" variant "BYTEORDER(first)" }; -- To view, visit https://gerrit.osmocom.org/13099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I57d776d8d2d8300805b8b8e724c288ba29c4b284 Gerrit-Change-Number: 13099 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: Add simple test for PCUIF RACH Indication In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13100 ) Change subject: PCU: Add simple test for PCUIF RACH Indication ...................................................................... PCU: Add simple test for PCUIF RACH Indication Change-Id: I8fa6de711391837ed16888c48b22cd29892f222f --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 20 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 5a370d9..26d8011 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -247,6 +247,24 @@ setverdict(pass); } +import from PCUIF_Types all; +import from PCUIF_CodecPort all; + +private function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { + PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); +} + +testcase TC_pcuif_rach() runs on RAW_Test_CT { + f_sns_bringup_1c1u(); + + f_pcuif_tx(ts_PCUIF_RACH_IND(bts_nr:=0, ra:=23, is_11bit:=0, burst_type:=BURST_TYPE_0, + fn:=42, arfcn:=871, qta:=0)); + PCU.receive(t_SD_PCUIF(g_pcu_conn_id, + tr_PCUIF_DATA_REQ(bts_nr:=0, trx_nr:=0, ts_nr:=0, block_nr:=?, fn:=?, + sapi:=PCU_IF_SAPI_AGCH, data:=?))); + setverdict(pass); +} + control { @@ -259,6 +277,8 @@ execute( TC_sns_add() ); execute( TC_sns_del() ); execute( TC_sns_chg_weight() ); + + execute( TC_pcuif_rach() ); } } -- To view, visit https://gerrit.osmocom.org/13100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8fa6de711391837ed16888c48b22cd29892f222f Gerrit-Change-Number: 13100 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:53 +0000 Subject: Change in simtrace2[master]: Add freq_ctr app In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13084 ) Change subject: Add freq_ctr app ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2249bfb8dd6a88d85d406f3b33537377133d0939 Gerrit-Change-Number: 13084 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 03 Mar 2019 14:48:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:55 +0000 Subject: Change in simtrace2[master]: Add minimal board-support for Olimex SAM3-P256 In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13083 ) Change subject: Add minimal board-support for Olimex SAM3-P256 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85aea8f1441158f991493c5fc767fdcad405545e Gerrit-Change-Number: 13083 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 03 Mar 2019 14:48:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:57 +0000 Subject: Change in simtrace2[master]: Add minimal board-support for Olimex SAM3-P256 In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13083 ) Change subject: Add minimal board-support for Olimex SAM3-P256 ...................................................................... Add minimal board-support for Olimex SAM3-P256 This is a general purpose evaluation board, and it makes sense to support it particularly for the DFU bootloader. Change-Id: I85aea8f1441158f991493c5fc767fdcad405545e --- A firmware/libboard/sam3p256/include/board.h A firmware/libboard/sam3p256/source/board_sam3p256.c M hardware/board_gpio.gnumeric 3 files changed, 605 insertions(+), 33 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/firmware/libboard/sam3p256/include/board.h b/firmware/libboard/sam3p256/include/board.h new file mode 100644 index 0000000..bd2ab49 --- /dev/null +++ b/firmware/libboard/sam3p256/include/board.h @@ -0,0 +1,148 @@ +/* Olimiex SAM3S-P256 board definition + * + * (C) 2019 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once +#include "board_common.h" +#include "simtrace_usb.h" + +/* Name of the board */ +#define BOARD_NAME "SAM3S-P256" +/* Board definition */ +#define simtrace + +/** oscillator used as main clock source (in Hz) */ +#define BOARD_MAINOSC 12000000 +/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ +#define BOARD_MCK 58000000 + +/** Pin configuration **/ +/* Button to force bootloader start (shorted to ground when pressed */ +#define PIN_BOOTLOADER_SW {PIO_PA20, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +#if 0 +/* Enable powering the card using the second 3.3 V output of the LDO (active high) */ +#define SIM_PWEN_PIN {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/* Enable powering the SIM card */ +#define PWR_PINS SIM_PWEN_PIN +/* Card presence pin */ +#define SW_SIM PIO_PA8 +/* Pull card presence pin high (shorted to ground in card slot when card is present) */ +#define SMARTCARD_CONNECT_PIN {SW_SIM, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_DEGLITCH | PIO_IT_EDGE } + +/** Smart card connection **/ +/* Card RST reset signal input (active low; RST_SIM in schematic) */ +#define PIN_SIM_RST {PIO_PA7, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +/* Card I/O data signal input/output (I/O_SIM in schematic) */ +#define PIN_SIM_IO {PIO_PA6A_TXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Card CLK clock input (CLK_SIM in schematic) */ +#define PIN_SIM_CLK {PIO_PA2B_SCK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pin to measure card I/O timing (to start measuring the ETU on I/O activity; connected I/O_SIM in schematic) */ +#define PIN_SIM_IO_INPUT {PIO_PA1B_TIOB0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pin used as clock input (to measure the ETU duration; connected to CLK_SIM in schematic) */ +#define PIN_SIM_CLK_INPUT {PIO_PA4B_TCLK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pins used to measure ETU timing (using timer counter) */ +#define PINS_TC PIN_SIM_IO_INPUT, PIN_SIM_CLK_INPUT + +/** Phone connection **/ +/* Phone USIM slot 1 VCC pin (VCC_PHONE in schematic) */ +#define PIN_USIM1_VCC {PIO_PA25, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +/* Phone USIM slot 1 RST pin (active low; RST_PHONE in schematic) */ +#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_IT_RISE_EDGE | PIO_DEGLITCH } +/* Phone I/O data signal input/output (I/O_PHONE in schematic) */ +#define PIN_PHONE_IO {PIO_PA22A_TXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Phone CLK clock input (CLK_PHONE in schematic) */ +#define PIN_PHONE_CLK {PIO_PA23A_SCK1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Pin used for phone USIM slot 1 communication */ +#define PINS_USIM1 PIN_PHONE_IO, PIN_PHONE_CLK, PIN_PHONE_CLK_INPUT, PIN_USIM1_VCC, PIN_PHONE_IO_INPUT, PIN_USIM1_nRST +/* Phone I/O data signal input/output (unused USART RX input; connected to I/O_PHONE in schematic) */ +#define PIN_PHONE_IO_INPUT {PIO_PA21A_RXD1, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Pin used as clock input (to measure the ETU duration; connected to CLK_PHONE in schematic) */ +#define PIN_PHONE_CLK_INPUT {PIO_PA29B_TCLK2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} + +/** Default pin configuration **/ +/* Disconnect VPP, CLK, and RST lines between card and phone using bus switch (high sets bus switch to high-impedance) */ +#define PIN_SC_SW_DEFAULT {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/* Disconnect I/O line between card and phone using bus switch (high sets bus switch to high-impedance) */ +#define PIN_IO_SW_DEFAULT {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/* Disconnect all lines (VPP, CLK, RST, and I/O) between card and phone */ +#define PINS_BUS_DEFAULT PIN_SC_SW_DEFAULT, PIN_IO_SW_DEFAULT + +/** Sniffer configuration **/ +/* Connect VPP, CLK, and RST lines between card and phone using bus switch (low connects signals on bus switch) */ +#define PIN_SC_SW_SNIFF {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +/* Connect I/O line between card and phone using bus switch (low connects signals on bus switch) */ +#define PIN_IO_SW_SNIFF {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +/* Connect all lines (VPP, CLK, RST, and I/O) between card and phone */ +#define PINS_BUS_SNIFF PIN_SC_SW_SNIFF, PIN_IO_SW_SNIFF +/* Card RST reset signal input (use as input since the phone will drive it) */ +#define PIN_SIM_RST_SNIFF {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE} +/* Pins used to sniff phone-card communication */ +#define PINS_SIM_SNIFF PIN_SIM_IO, PIN_SIM_CLK, PIN_SIM_RST_SNIFF +/* Disable power converter 4.5-6V to 3.3V (active high) */ +#define PIN_SIM_PWEN_SNIFF {SIM_PWEN, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +/* Enable power switch to forward VCC_PHONE to VCC_SIM (active high) */ +#define PIN_VCC_FWD_SNIFF {VCC_FWD, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/* Use phone VCC to power card */ +#define PINS_PWR_SNIFF PIN_SIM_PWEN_SNIFF, PIN_VCC_FWD_SNIFF + +/** CCID configuration */ +/* Card RST reset signal input (active low; RST_SIM in schematic) */ +#define PIN_ISO7816_RSTMC {PIO_PA7, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +/* ISO7816-communication related pins */ +#define PINS_ISO7816 PIN_SIM_IO, PIN_SIM_CLK, PIN_ISO7816_RSTMC // SIM_PWEN_PIN, PIN_SIM_IO2, PIN_SIM_CLK2 + +/** External SPI flash interface **/ +/* SPI MISO pin definition */ +#define PIN_SPI_MISO {PIO_PA12A_MISO, PIOA, PIOA, PIO_PERIPH_A, PIO_PULLUP} +/* SPI MOSI pin definition */ +#define PIN_SPI_MOSI {PIO_PA13A_MOSI, PIOA, PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* SPI SCK pin definition */ +#define PIN_SPI_SCK {PIO_PA14A_SPCK, PIOA, PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* SPI pins definition. Contains MISO, MOSI & SCK */ +#define PINS_SPI PIN_SPI_MISO, PIN_SPI_MOSI, PIN_SPI_SCK +/* SPI chip select 0 pin definition */ +#define PIN_SPI_NPCS0 {PIO_PA11A_NPCS0, PIOA, PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* SPI flash write protect pin (active low, pulled low) */ +#define PIN_SPI_WP {PA15, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#endif + +/** Pin configuration to control USB pull-up on D+ + * @details the USB pull-up on D+ is enable by default on the board but can be disabled by setting PA16 high + */ +#define PIN_USB_PULLUP {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +/** USB definitions */ +/* OpenMoko SIMtrace 2 USB vendor ID */ +#define BOARD_USB_VENDOR_ID USB_VENDOR_OPENMOKO +/* OpenMoko SIMtrace 2 USB product ID (main application/runtime mode) */ +#define BOARD_USB_PRODUCT_ID USB_PRODUCT_SIMTRACE2 +/* OpenMoko SIMtrace 2 DFU USB product ID (DFU bootloader/DFU mode) */ +#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_SIMTRACE2_DFU +/* USB release number (bcdDevice, shown as 0.00) */ +#define BOARD_USB_RELEASE 0x000 +/* Indicate SIMtrace is bus power in USB attributes */ +#define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_BUSPOWERED_NORWAKEUP + +/** Supported modes */ +/* SIMtrace board supports sniffer mode */ +#define HAVE_SNIFFER +/* SIMtrace board supports CCID mode */ +//#define HAVE_CCID +/* SIMtrace board supports card emulation mode */ +//#define HAVE_CARDEM +/* SIMtrace board supports man-in-the-middle mode */ +//#define HAVE_MITM diff --git a/firmware/libboard/sam3p256/source/board_sam3p256.c b/firmware/libboard/sam3p256/source/board_sam3p256.c new file mode 100644 index 0000000..4b6a451 --- /dev/null +++ b/firmware/libboard/sam3p256/source/board_sam3p256.c @@ -0,0 +1,68 @@ +/* Olimex SAM3S-P256 specific application code + * + * (C) 2017,2019 by Harald Welte + * (C) 2018 by sysmocom -s.f.m.c. GmbH, Author: Kevin Redon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include "board.h" +#include "simtrace.h" +#include "utils.h" +#include "sim_switch.h" +#include +#include "usb_buf.h" + +void board_exec_dbg_cmd(int ch) +{ + switch (ch) { + case '?': + printf("\t?\thelp\n\r"); + printf("\tR\treset SAM3\n\r"); + break; + case 'R': + printf("Asking NVIC to reset us\n\r"); + USBD_Disconnect(); + NVIC_SystemReset(); + break; + default: + printf("Unknown command '%c'\n\r", ch); + break; + } +} + +void board_main_top(void) +{ +#ifndef APPLICATION_dfu + usb_buf_init(); + + /* Initialize checking for card insert/remove events */ + //card_present_init(); +#endif +} + +int board_override_enter_dfu(void) +{ + const Pin bl_sw_pin = PIN_BOOTLOADER_SW; + + PIO_Configure(&bl_sw_pin, 1); + + /* Enter DFU bootloader in case the respective button is pressed */ + if (PIO_Get(&bl_sw_pin) == 0) { + /* do not print to early since the console is not initialized yet */ + //printf("BOOTLOADER switch pressed -> Force DFU\n\r"); + return 1; + } else + return 0; +} diff --git a/hardware/board_gpio.gnumeric b/hardware/board_gpio.gnumeric index 3d76b0a..1ec9ff6 100644 --- a/hardware/board_gpio.gnumeric +++ b/hardware/board_gpio.gnumeric @@ -1,6 +1,6 @@ - + WorkbookView::show_horizontal_scrollbar @@ -25,7 +25,7 @@ - 2017-05-05T14:31:27Z + 2019-02-28T17:12:35Z 2017-03-05T18:42:38Z @@ -35,11 +35,11 @@ Sheet2 Sheet3 - + Sheet1 - 7 + 9 67 1 @@ -1057,127 +1057,452 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1190,15 +1515,27 @@ - - - + + + + + + + + + + + + + + Pins / Ios of SAM3 based devices SIMtrace v1.x Quad Modem OWHW + SAM3-P256 Pin Number Pin Name Used Function @@ -1207,6 +1544,8 @@ Signal Name Used Function Signal Name + Used Function + Signal Name 1 ADVREF ADVREF @@ -1245,6 +1584,7 @@ LED_RED PA17 LED_RED + LED2 10 PA18 PA18 @@ -1253,6 +1593,7 @@ LED_GREEN PA18 LED_GREEN + LED1 11 PA21/RXD1/PCK1 RXD1 @@ -1261,6 +1602,7 @@ ST_USIM1_IO RXD1 ST_USIM1_IO + RXD1 12 VDDCORE 13 @@ -1270,6 +1612,7 @@ AD2 VERSION_DETECT12 NC + B1 14 PA22/TXD1/NPCS3 TXD1 @@ -1278,6 +1621,7 @@ ST_USIM1_IO TXD1 ST_USIM1_IO + TXD1 15 PA23/SCK1/PWM0 SCK1 @@ -1293,6 +1637,7 @@ PA20 !CONNECT_ST_USIM1 NC + B2 17 GND 18 @@ -1305,6 +1650,7 @@ WWAN2 PA16 UDP_PUP_CTL + DP_PUP 20 PA15/TF/TIOA1 PA15 @@ -1320,6 +1666,7 @@ ST12_ST34_SELECT PA14 SET_USIM2_PRES + SPCK 22 PA13/MOSI/PWM2 MOSI @@ -1327,6 +1674,7 @@ PA13 HUB_RESET NC + MOSI 23 PA24/RTS1/PWM1 PA24 @@ -1359,6 +1707,7 @@ SIMPRES1 PA12 SET_USIM1_PRES + MISO 28 PA11/NPCS0/PWM0 NPCS0 @@ -1366,6 +1715,7 @@ PA11 _SIMTRACE34_ERASE NC + NPCS0 29 PA10/DTXD/NCPS2 DTXD @@ -1374,6 +1724,7 @@ SIMTRACE1_DTXD DTXD SIMTRACE_DTXD + DTXD 30 PA9/DRXDNPCS1 DRXD @@ -1382,6 +1733,7 @@ SIMTRACE1_DRXD DRXD SIMTRACE_DRXD + DRXD 31 PA8/CTS0/ADTRG PA8 @@ -1389,6 +1741,7 @@ PA8 SIMPRES2 / ST12_PRTPWR-OVERRIDE NC + DM_PUP 32 PA7/RTS0/PWM3 PA7 @@ -1424,6 +1777,7 @@ ST_USIM2_CLK TCLK0 ST_USIM2_CLK + TWCK 37 PA27/DTR1/TIOB2 NC @@ -1470,6 +1824,7 @@ NC NC NC + TWD 44 PA2/PWM2/SCK0 SCK0 @@ -1522,6 +1877,7 @@ BOTLOADER_SW PA31 SCL + NPCS1 53 TCK TCK @@ -1565,7 +1921,7 @@ 64 VDDPLL - + -- To view, visit https://gerrit.osmocom.org/13083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I85aea8f1441158f991493c5fc767fdcad405545e Gerrit-Change-Number: 13083 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 14:48:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 14:48:58 +0000 Subject: Change in simtrace2[master]: Add freq_ctr app In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13084 ) Change subject: Add freq_ctr app ...................................................................... Add freq_ctr app The freq_ctr app is a small application that is implementing a simplistic direct-mode frequency counter using the internal 32.768kHz oscillator and two TC blocks. One of them is used to generate a 1Hz signal, which is then subsequently used by the other TC to trigger a counter read after exactly 1s. This is in itself not something useful on a simtrace2 device. However, it is a separate 'app' and I prefer to have the code here in master over some obscure branch that's easy to forget about. Change-Id: I2249bfb8dd6a88d85d406f3b33537377133d0939 --- A firmware/apps/freq_ctr/Makefile A firmware/apps/freq_ctr/freq_ctr.c A firmware/apps/freq_ctr/main.c A firmware/apps/freq_ctr/usb_strings.txt 4 files changed, 122 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/firmware/apps/freq_ctr/Makefile b/firmware/apps/freq_ctr/Makefile new file mode 100644 index 0000000..1097e9c --- /dev/null +++ b/firmware/apps/freq_ctr/Makefile @@ -0,0 +1,3 @@ +C_FILES += $(C_LIBUSB_RT) + +C_FILES += freq_ctr.c diff --git a/firmware/apps/freq_ctr/freq_ctr.c b/firmware/apps/freq_ctr/freq_ctr.c new file mode 100644 index 0000000..ad6497c --- /dev/null +++ b/firmware/apps/freq_ctr/freq_ctr.c @@ -0,0 +1,55 @@ +#include +#include "utils.h" +#include "tc_etu.h" +#include "chip.h" + + +/* pins for Channel 0 of TC-block 0 */ +#define PIN_TIOA0 {PIO_PA0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} + +/* pins for Channel 1 of TC-block 0 */ +#define PIN_TIOA1 {PIO_PA15, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_TCLK1 {PIO_PA28, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} + +static const Pin pins_tc[] = { PIN_TIOA0, PIN_TIOA1, PIN_TCLK1 }; + +static TcChannel *tc1 = &TC0->TC_CHANNEL[1]; + +void TC1_IrqHandler(void) +{ + uint32_t sr = tc1->TC_SR; + printf("TC1=%lu; SR=0x%08lx\r\n", tc1->TC_RA, sr); +} + +void freq_ctr_init(void) +{ + TcChannel *tc0 = &TC0->TC_CHANNEL[0]; + + PIO_Configure(pins_tc, ARRAY_SIZE(pins_tc)); + + PMC_EnablePeripheral(ID_TC0); + PMC_EnablePeripheral(ID_TC1); + + /* route TCLK1 to XC1 */ + TC0->TC_BMR &= ~TC_BMR_TC1XC1S_Msk; + TC0->TC_BMR |= TC_BMR_TC1XC1S_TCLK1; + + /* TC0 in wveform mode: Run from SCLK. Raise TIOA on RA; lower TIOA on RC + trigger */ + tc0->TC_CMR = TC_CMR_TCCLKS_TIMER_CLOCK5 | TC_CMR_BURST_NONE | + TC_CMR_EEVTEDG_NONE | TC_CMR_WAVSEL_UP_RC | TC_CMR_WAVE | + TC_CMR_ACPA_SET | TC_CMR_ACPC_CLEAR; + tc0->TC_RA = 16384; /* set high at 16384 */ + tc0->TC_RC = 32786; /* set low at 32786 */ + + /* TC1 in capture mode: Run from XC1. Trigger on TIOA rising. Load RA on rising */ + tc1->TC_CMR = TC_CMR_TCCLKS_XC1 | TC_CMR_BURST_NONE | + TC_CMR_ETRGEDG_RISING | TC_CMR_ABETRG | TC_CMR_LDRA_RISING; + /* Interrupt us if the external trigger happens */ + tc1->TC_IER = TC_IER_ETRGS; + NVIC_EnableIRQ(TC1_IRQn); + + TC0->TC_BCR = TC_BCR_SYNC; + + tc0->TC_CCR = TC_CCR_CLKEN|TC_CCR_SWTRG; + tc1->TC_CCR = TC_CCR_CLKEN|TC_CCR_SWTRG; +} diff --git a/firmware/apps/freq_ctr/main.c b/firmware/apps/freq_ctr/main.c new file mode 100644 index 0000000..761bc17 --- /dev/null +++ b/firmware/apps/freq_ctr/main.c @@ -0,0 +1,54 @@ + +#include "board.h" +#include "utils.h" +#include "osmocom/core/timer.h" + +extern void freq_ctr_init(void); + +/* returns '1' in case we should break any endless loop */ +static void check_exec_dbg_cmd(void) +{ + int ch; + + if (!UART_IsRxReady()) + return; + + ch = UART_GetChar(); + + board_exec_dbg_cmd(ch); +} + + +extern int main(void) +{ + led_init(); + led_blink(LED_RED, BLINK_ALWAYS_ON); + led_blink(LED_GREEN, BLINK_ALWAYS_ON); + + /* Enable watchdog for 2000 ms, with no window */ + WDT_Enable(WDT, WDT_MR_WDRSTEN | WDT_MR_WDDBGHLT | WDT_MR_WDIDLEHLT | + (WDT_GetPeriod(2000) << 16) | WDT_GetPeriod(2000)); + + PIO_InitializeInterrupts(0); + + + printf("\n\r\n\r" + "=============================================================================\n\r" + "Freq Ctr firmware " GIT_VERSION " (C) 2019 by Harald Welte\n\r" + "=============================================================================\n\r"); + + board_main_top(); + + TRACE_INFO("starting frequency counter...\n\r"); + freq_ctr_init(); + + TRACE_INFO("entering main loop...\n\r"); + while (1) { + WDT_Restart(WDT); + + check_exec_dbg_cmd(); + osmo_timers_prepare(); + osmo_timers_update(); + } + +} diff --git a/firmware/apps/freq_ctr/usb_strings.txt b/firmware/apps/freq_ctr/usb_strings.txt new file mode 100644 index 0000000..0e797ac --- /dev/null +++ b/firmware/apps/freq_ctr/usb_strings.txt @@ -0,0 +1,10 @@ +sysmocom - s.f.m.c. GmbH +SIMtrace 2 compatible device +SIMtrace Sniffer +SIMtrace CCID +SIMtrace Phone +SIMtrace MITM +CardEmulator Modem 1 +CardEmulator Modem 2 +CardEmulator Modem 3 +CardEmulator Modem 4 -- To view, visit https://gerrit.osmocom.org/13084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2249bfb8dd6a88d85d406f3b33537377133d0939 Gerrit-Change-Number: 13084 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 15:04:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 15:04:47 +0000 Subject: Change in osmo-ci[master]: jenkins: Send build failures to jenkins-notifications mailing list Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13101 Change subject: jenkins: Send build failures to jenkins-notifications mailing list ...................................................................... jenkins: Send build failures to jenkins-notifications mailing list Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927 --- M jobs/coverity.yml M jobs/master-builds.yml M jobs/osmo-gsm-tester-builder.yml M jobs/osmocom-debian-install.yml M jobs/osmocom-depcheck.yml M jobs/osmocom-obs.yml 6 files changed, 20 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/13101/1 diff --git a/jobs/coverity.yml b/jobs/coverity.yml index b37d4a4..576fa29 100644 --- a/jobs/coverity.yml +++ b/jobs/coverity.yml @@ -33,5 +33,9 @@ - 'origin/master' triggers: - timed: "@daily" + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' # vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c908ed9..3bac7b6 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -22,7 +22,7 @@ cmd: ./contrib/jenkins.sh wrappers: [] trigger: - email: gerrit-log at lists.osmocom.org laforge at gnumonks.org + email: jenkins-notifications at lists.osmocom.org laforge at gnumonks.org git_base_url: git.osmocom.org # in alphabetical order diff --git a/jobs/osmo-gsm-tester-builder.yml b/jobs/osmo-gsm-tester-builder.yml index 89ca203..470aed0 100644 --- a/jobs/osmo-gsm-tester-builder.yml +++ b/jobs/osmo-gsm-tester-builder.yml @@ -59,7 +59,7 @@ only-if-success: 'true' default-excludes: false - email: - recipients: 'pespin at sysmocom.de' + recipients: pespin at sysmocom.de jenkins-notifications at lists.osmocom.org notify-every-unstable-build: true properties: - build-discarder: diff --git a/jobs/osmocom-debian-install.yml b/jobs/osmocom-debian-install.yml index 823db3c..2e88cbf 100644 --- a/jobs/osmocom-debian-install.yml +++ b/jobs/osmocom-debian-install.yml @@ -26,5 +26,9 @@ git-config-email: 'jenkins at osmocom.org' triggers: - timed: "@midnight" + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' # vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/osmocom-depcheck.yml b/jobs/osmocom-depcheck.yml index fd2432e..1e5533d 100644 --- a/jobs/osmocom-depcheck.yml +++ b/jobs/osmocom-depcheck.yml @@ -69,4 +69,9 @@ git-config-name: 'Jenkins Builder' git-config-email: 'jenkins at osmocom.org' + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + # vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/osmocom-obs.yml b/jobs/osmocom-obs.yml index 9b9f989..3682d0b 100644 --- a/jobs/osmocom-obs.yml +++ b/jobs/osmocom-obs.yml @@ -24,4 +24,9 @@ triggers: - timed: "@midnight" + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + # vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/13101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927 Gerrit-Change-Number: 13101 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 15:05:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 15:05:01 +0000 Subject: Change in osmo-ci[master]: osmocom-debian-install: notify myself on error In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/12978 ) Change subject: osmocom-debian-install: notify myself on error ...................................................................... Patch Set 1: might be superseded by https://gerrit.osmocom.org/#/c/osmo-ci/+/13101 ? -- To view, visit https://gerrit.osmocom.org/12978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iefa5047abb6264f13a856039f47e009139fcc794 Gerrit-Change-Number: 12978 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Sun, 03 Mar 2019 15:05:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 15:05:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 15:05:12 +0000 Subject: Change in osmo-ci[master]: jenkins: Send build failures to jenkins-notifications mailing list In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13101 ) Change subject: jenkins: Send build failures to jenkins-notifications mailing list ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927 Gerrit-Change-Number: 13101 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Sun, 03 Mar 2019 15:05:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 15:05:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 15:05:13 +0000 Subject: Change in osmo-ci[master]: jenkins: Send build failures to jenkins-notifications mailing list In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13101 ) Change subject: jenkins: Send build failures to jenkins-notifications mailing list ...................................................................... jenkins: Send build failures to jenkins-notifications mailing list Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927 --- M jobs/coverity.yml M jobs/master-builds.yml M jobs/osmo-gsm-tester-builder.yml M jobs/osmocom-debian-install.yml M jobs/osmocom-depcheck.yml M jobs/osmocom-obs.yml 6 files changed, 20 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/jobs/coverity.yml b/jobs/coverity.yml index b37d4a4..576fa29 100644 --- a/jobs/coverity.yml +++ b/jobs/coverity.yml @@ -33,5 +33,9 @@ - 'origin/master' triggers: - timed: "@daily" + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' # vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c908ed9..3bac7b6 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -22,7 +22,7 @@ cmd: ./contrib/jenkins.sh wrappers: [] trigger: - email: gerrit-log at lists.osmocom.org laforge at gnumonks.org + email: jenkins-notifications at lists.osmocom.org laforge at gnumonks.org git_base_url: git.osmocom.org # in alphabetical order diff --git a/jobs/osmo-gsm-tester-builder.yml b/jobs/osmo-gsm-tester-builder.yml index 89ca203..470aed0 100644 --- a/jobs/osmo-gsm-tester-builder.yml +++ b/jobs/osmo-gsm-tester-builder.yml @@ -59,7 +59,7 @@ only-if-success: 'true' default-excludes: false - email: - recipients: 'pespin at sysmocom.de' + recipients: pespin at sysmocom.de jenkins-notifications at lists.osmocom.org notify-every-unstable-build: true properties: - build-discarder: diff --git a/jobs/osmocom-debian-install.yml b/jobs/osmocom-debian-install.yml index 823db3c..2e88cbf 100644 --- a/jobs/osmocom-debian-install.yml +++ b/jobs/osmocom-debian-install.yml @@ -26,5 +26,9 @@ git-config-email: 'jenkins at osmocom.org' triggers: - timed: "@midnight" + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' # vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/osmocom-depcheck.yml b/jobs/osmocom-depcheck.yml index fd2432e..1e5533d 100644 --- a/jobs/osmocom-depcheck.yml +++ b/jobs/osmocom-depcheck.yml @@ -69,4 +69,9 @@ git-config-name: 'Jenkins Builder' git-config-email: 'jenkins at osmocom.org' + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + # vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/osmocom-obs.yml b/jobs/osmocom-obs.yml index 9b9f989..3682d0b 100644 --- a/jobs/osmocom-obs.yml +++ b/jobs/osmocom-obs.yml @@ -24,4 +24,9 @@ triggers: - timed: "@midnight" + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + # vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/13101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927 Gerrit-Change-Number: 13101 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 21:01:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 21:01:42 +0000 Subject: Change in osmo-remsim[master]: update .gitignore to include .libs and executable names Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13102 Change subject: update .gitignore to include .libs and executable names ...................................................................... update .gitignore to include .libs and executable names Change-Id: I46baac93985c4a608738e85e2bcc65b94937e6db --- M .gitignore 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/02/13102/1 diff --git a/.gitignore b/.gitignore index 281367f..d543602 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *~ .*.swp .deps +.libs .version .tarball-version autom4te.cache @@ -27,3 +28,8 @@ tags m4 gen_rspro.stamp + +src/pcsc_test +src/remsim-bankd +src/remsim-client +src/simtrace2-remsim-client -- To view, visit https://gerrit.osmocom.org/13102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I46baac93985c4a608738e85e2bcc65b94937e6db Gerrit-Change-Number: 13102 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 21:01:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 21:01:43 +0000 Subject: Change in osmo-remsim[master]: Add dotty graphs on osmo-remsim to 'doc' subdirectory Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13103 Change subject: Add dotty graphs on osmo-remsim to 'doc' subdirectory ...................................................................... Add dotty graphs on osmo-remsim to 'doc' subdirectory Change-Id: Ib0478f1afb17c490cc3ac5a7bbbe3f4de1b30406 --- A doc/osmo-remsim-simple.dot A doc/osmo-remsim.dot A doc/remote-sim.dot 3 files changed, 96 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/03/13103/1 diff --git a/doc/osmo-remsim-simple.dot b/doc/osmo-remsim-simple.dot new file mode 100644 index 0000000..1757502 --- /dev/null +++ b/doc/osmo-remsim-simple.dot @@ -0,0 +1,23 @@ +digraph { + rankdir=LR; + + subgraph cluster_0 { + label="Data Center"; + SIM [shape=rect]; + Reader [shape=rect]; + bankd [label="remsim-bankd"]; + } + + subgraph cluster_1 { + label="Remote Site"; + client [label="remsim-client"]; + SIMtrace [label="SIMtrace2\nAPP=cardem",shape=rect]; + Phone [label="Phone/Modem",shape=rect]; + } + + SIM -> Reader [label="ISO-7816-2/3",dir=both]; + Reader -> bankd [label="USB CCID",dir=both]; + bankd -> client [label="RSPRO/IPA/TCP/IP",dir=both]; + client -> SIMtrace [label="USB",dir=both]; + SIMtrace -> Phone [label="ISO-7816-2/3",dir=both]; +} diff --git a/doc/osmo-remsim.dot b/doc/osmo-remsim.dot new file mode 100644 index 0000000..c1cd911 --- /dev/null +++ b/doc/osmo-remsim.dot @@ -0,0 +1,58 @@ +digraph { + rankdir=LR; + + subgraph cluster_0 { + label="Data Center"; + SIM0 [shape=rect]; + SIM1 [shape=rect]; + SIM2 [shape=rect]; + SIM3 [shape=rect]; + SIM4 [shape=rect]; + SIM5 [shape=rect]; + SIM6 [shape=rect]; + SIM7 [shape=rect]; + sysmoOCTSIM [shape=rect]; + { + rank=same; + bankd [label="remsim-bankd"]; + server [label="remsim-server"]; + } + + SIM0 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM1 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM2 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM3 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM4 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM5 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM6 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM7 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + + sysmoOCTSIM -> bankd [label="USB CCID",dir=both]; + + bankd -> server [label="RSPRO/IPA/TCP"]; + } + + subgraph cluster_1 { + label="Remote Site A"; + client1 [label="remsim-client"]; + SIMtrace1 [label="SIMtrace2\nAPP=cardem",shape=rect]; + Phone1 [label="Phone/Modem",shape=rect]; + client1 -> SIMtrace1 [label="USB",dir=both]; + SIMtrace1 -> Phone1 [label="ISO-7816-2/3",dir=both]; + bankd -> client1 [label="RSPRO/IPA/TCP/IP",dir=both]; + client1 -> server [label="RSPRO/IPA/TCP"]; + } + + subgraph cluster_2 { + label="Remote Site B"; + client2 [label="remsim-client"]; + SIMtrace2 [label="SIMtrace2\nAPP=cardem",shape=rect]; + Phone2 [label="Phone/Modem",shape=rect]; + client2 -> SIMtrace2 [label="USB",dir=both]; + SIMtrace2 -> Phone2 [label="ISO-7816-2/3",dir=both]; + bankd -> client2 [label="RSPRO/IPA/TCP/IP",dir=both]; + client2 -> server [label="RSPRO/IPA/TCP"]; + } + + +} diff --git a/doc/remote-sim.dot b/doc/remote-sim.dot new file mode 100644 index 0000000..70f26d7 --- /dev/null +++ b/doc/remote-sim.dot @@ -0,0 +1,15 @@ +digraph { + rankdir=LR; + SIM [shape=rect]; + Reader [shape=rect]; + Computer [shape=rect]; + ComputerB [shape=rect]; + SIMtrace [shape=rect]; + Phone [shape=rect]; + + SIM -> Reader [label="ISO-7816-2/3",dir=both]; + Reader -> Computer [label="USB CCID",dir=both]; + Computer -> ComputerB [label="IP based transport",dir=both]; + ComputerB -> SIMtrace [label="USB",dir=both]; + SIMtrace -> Phone [label="ISO-7816-2/3",dir=both]; +} -- To view, visit https://gerrit.osmocom.org/13103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib0478f1afb17c490cc3ac5a7bbbe3f4de1b30406 Gerrit-Change-Number: 13103 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 21:01:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 21:01:43 +0000 Subject: Change in osmo-remsim[master]: move osmo_fsm_register() into constructor function Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13104 Change subject: move osmo_fsm_register() into constructor function ...................................................................... move osmo_fsm_register() into constructor function This way each application doesn't have to explicitly call it. Change-Id: I20753d7f7f485e7e495b64fa74b24858cd22ffa9 --- M src/remsim_client.c M src/remsim_client_fsm.c M src/simtrace2-remsim_client.c 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/04/13104/1 diff --git a/src/remsim_client.c b/src/remsim_client.c index b60059d..62f65f9 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -88,9 +88,6 @@ { g_tall_ctx = talloc_named_const(NULL, 0, "global"); - osmo_fsm_register(&remsim_client_bankd_fsm); - osmo_fsm_register(&remsim_client_server_fsm); - g_client = talloc_zero(g_tall_ctx, struct bankd_client); g_client->bankd_host = "localhost"; g_client->bankd_port = 9999; diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c index 0776937..d361659 100644 --- a/src/remsim_client_fsm.c +++ b/src/remsim_client_fsm.c @@ -464,3 +464,9 @@ srvc_st_init_onenter(fi, 0); return 0; } + +static __attribute__((constructor)) void on_dso_load(void) +{ + osmo_fsm_register(&remsim_client_bankd_fsm); + osmo_fsm_register(&remsim_client_server_fsm); +} diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 1cf09a6..6d31d32 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -749,9 +749,6 @@ // initialize remote SIM client g_tall_ctx = talloc_named_const(NULL, 0, "global"); - osmo_fsm_register(&remsim_client_bankd_fsm); - osmo_fsm_register(&remsim_client_server_fsm); - g_client = talloc_zero(g_tall_ctx, struct bankd_client); g_client->bankd_host = bankd_host; g_client->bankd_port = bankd_port; -- To view, visit https://gerrit.osmocom.org/13104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I20753d7f7f485e7e495b64fa74b24858cd22ffa9 Gerrit-Change-Number: 13104 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 21:01:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 21:01:43 +0000 Subject: Change in osmo-remsim[master]: respro_util: Add rspro_gen_ConfigClientRes() function Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13105 Change subject: respro_util: Add rspro_gen_ConfigClientRes() function ...................................................................... respro_util: Add rspro_gen_ConfigClientRes() function Change-Id: Ib14bc617ed60c64d3b69094f30901f78cafba3b3 --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/05/13105/1 diff --git a/src/rspro_util.c b/src/rspro_util.c index c8f4589..7001db8 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -203,6 +203,18 @@ return pdu; } +RsproPDU_t *rspro_gen_ConfigClientRes(e_ResultCode res) +{ + RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); + if (!pdu) + return NULL; + pdu->version = 2; + pdu->msg.present = RsproPDUchoice_PR_configClientRes; + pdu->msg.choice.configClientRes.result = res; + + return pdu; +} + RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr, unsigned int atr_len) { diff --git a/src/rspro_util.h b/src/rspro_util.h index bb2cf00..0e9a026 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -29,6 +29,7 @@ RsproPDU_t *rspro_gen_RemoveMappingReq(const ClientSlot_t *client, const BankSlot_t *bank); RsproPDU_t *rspro_gen_RemoveMappingRes(e_ResultCode res); RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port); +RsproPDU_t *rspro_gen_ConfigClientRes(e_ResultCode res); RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr, unsigned int atr_len); RsproPDU_t *rspro_gen_TpduModem2Card(const ClientSlot_t *client, const BankSlot_t *bank, -- To view, visit https://gerrit.osmocom.org/13105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib14bc617ed60c64d3b69094f30901f78cafba3b3 Gerrit-Change-Number: 13105 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 21:01:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 21:01:43 +0000 Subject: Change in osmo-remsim[master]: rspro_util: Add rspro_comp_id_retrieve() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13106 Change subject: rspro_util: Add rspro_comp_id_retrieve() ...................................................................... rspro_util: Add rspro_comp_id_retrieve() This function can be used to obtain an 'sturct app_comp_id' from received/decoded asn1c ComponentIdentity_t. Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/06/13106/1 diff --git a/src/rspro_util.c b/src/rspro_util.c index 7001db8..efcc848 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -88,6 +88,32 @@ out->fwVersion = OCTET_STRING_new_fromBuf(&asn_DEF_ComponentName, in->fw_version, -1); } +void string_fromOCTET_STRING(char *out, size_t out_size, const OCTET_STRING_t *in) +{ + if (!in) + out[0] = '\0'; + memcpy(out, in->buf, out_size < in->size ? out_size : in->size); + if (in->size < out_size) + out[in->size] = '\0'; + else + out[out_size-1] = '\0'; +} +#define string_fromOCTET_STRING_ARRAY(out, in) string_fromOCTET_STRING(out, ARRAY_SIZE(out), in) + + +void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in) +{ + memset(out, 0, sizeof(*out)); + out->type = in->type; + string_fromOCTET_STRING_ARRAY(out->name, &in->name); + string_fromOCTET_STRING_ARRAY(out->software, &in->software); + string_fromOCTET_STRING_ARRAY(out->sw_version, &in->swVersion); + string_fromOCTET_STRING_ARRAY(out->hw_manufacturer, in->hwManufacturer); + string_fromOCTET_STRING_ARRAY(out->hw_serial_nr, in->hwSerialNr); + string_fromOCTET_STRING_ARRAY(out->hw_version, in->hwVersion); + string_fromOCTET_STRING_ARRAY(out->fw_version, in->fwVersion); +} + static void fill_ip4_port(IpPort_t *out, uint32_t ip, uint16_t port) { uint32_t ip_n = htonl(ip); diff --git a/src/rspro_util.h b/src/rspro_util.h index 0e9a026..7a0c8ed 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -36,3 +36,5 @@ const uint8_t *tpdu, unsigned int tpdu_len); RsproPDU_t *rspro_gen_TpduCard2Modem(const BankSlot_t *bank, const ClientSlot_t *client, const uint8_t *tpdu, unsigned int tpdu_len); + +void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in); -- To view, visit https://gerrit.osmocom.org/13106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b Gerrit-Change-Number: 13106 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 21:01:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 3 Mar 2019 21:01:44 +0000 Subject: Change in osmo-remsim[master]: rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAd... Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13107 Change subject: rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAddr_t ...................................................................... rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAddr_t Change-Id: Ic6cccb00d1d65bdab84178acb1e0525e11bc1315 --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/07/13107/1 diff --git a/src/rspro_util.c b/src/rspro_util.c index efcc848..ed0678e 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -1,5 +1,8 @@ +#include +#include + #include #include @@ -114,6 +117,20 @@ string_fromOCTET_STRING_ARRAY(out->fw_version, in->fwVersion); } +const char *rspro_IpAddr2str(const IpAddress_t *in) +{ + static char buf[128]; + + switch (in->present) { + case IpAddress_PR_ipv4: + return inet_ntop(AF_INET, in->choice.ipv4.buf, buf, sizeof(buf)); + case IpAddress_PR_ipv6: + return inet_ntop(AF_INET6, in->choice.ipv6.buf, buf, sizeof(buf)); + default: + return NULL; + } +} + static void fill_ip4_port(IpPort_t *out, uint32_t ip, uint16_t port) { uint32_t ip_n = htonl(ip); diff --git a/src/rspro_util.h b/src/rspro_util.h index 7a0c8ed..26b3883 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -38,3 +38,4 @@ const uint8_t *tpdu, unsigned int tpdu_len); void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in); +const char *rspro_IpAddr2str(const IpAddress_t *in); -- To view, visit https://gerrit.osmocom.org/13107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic6cccb00d1d65bdab84178acb1e0525e11bc1315 Gerrit-Change-Number: 13107 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 22:18:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sun, 3 Mar 2019 22:18:31 +0000 Subject: Change in osmo-pcu[master]: MCS: remove dead code In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13063 ) Change subject: MCS: remove dead code ...................................................................... Patch Set 1: Are you sure those are not being used? I'd leave them there in the event they are used, since I see you are leaving the opposite operator. -- To view, visit https://gerrit.osmocom.org/13063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ieef3b095a6732300e5efa395b989843112b9ca78 Gerrit-Change-Number: 13063 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Sun, 03 Mar 2019 22:18:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 22:36:10 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sun, 3 Mar 2019 22:36:10 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a type attribute to the resource definition In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13074 ) Change subject: resource: Introduce a type attribute to the resource definition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie1fd10ec878311b7347118badb1b9dce5b49e976 Gerrit-Change-Number: 13074 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sun, 03 Mar 2019 22:36:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 22:36:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sun, 3 Mar 2019 22:36:14 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Use a factory to initiate a modem In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13075 ) Change subject: resource: Use a factory to initiate a modem ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af Gerrit-Change-Number: 13075 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sun, 03 Mar 2019 22:36:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 22:45:40 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sun, 3 Mar 2019 22:45:40 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13076 ) Change subject: resource: Introduce a base class for the modem ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/modem.py File src/osmo_gsm_tester/modem.py: https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/modem.py at 322 PS3, Line 322: class ModemBase(log.Origin, metaclass=ABCMeta): Create a new ms.py file and name it MS or MSBase like we discussed (MS over modem). https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/modem.py at 339 PS3, Line 339: class Modem(log.Origin): This should be changed to: class Modem(ms.MS): https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/suite.py File src/osmo_gsm_tester/suite.py: https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/suite.py at 26 PS3, Line 26: from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3 Why this line changed here? -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Sun, 03 Mar 2019 22:45:40 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 3 23:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 3 Mar 2019 23:54:01 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13108 Change subject: net/: refactor cfg templates ...................................................................... net/: refactor cfg templates Adopt "foreach" and "common_" features and generally take in the improved templates as used at 35c3. If your config file relies on the tmpl_std that is now removed, you can locally resurrect it with git checkout 2c6a55baa72de0e -- tmpl_std but it's probably better to make a new copy of config_2g3g and insert your local config there. Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 --- M net/README D net/common_bsc_logging D net/common_logging M net/config_2g3g R net/templates/Makefile A net/templates/common_logging_bsc A net/templates/common_logging_gsmtap A net/templates/common_logging_msc A net/templates/common_logging_stderr A net/templates/common_statsd A net/templates/common_template_warning R net/templates/kamailio.cfg A net/templates/nano3G_dmi.txt A net/templates/osmo-bsc.cfg R net/templates/osmo-gbproxy.cfg A net/templates/osmo-ggsn.cfg A net/templates/osmo-hlr.cfg A net/templates/osmo-hnbgw.cfg A net/templates/osmo-mgw-for-bsc.cfg A net/templates/osmo-mgw-for-msc.cfg A net/templates/osmo-msc.cfg R net/templates/osmo-sgsn.cfg A net/templates/osmo-sip-connector.cfg A net/templates/osmo-stp.cfg R net/templates/run.sh D net/tmpl_std/nano3G.txt D net/tmpl_std/nano3G2.txt D net/tmpl_std/osmo-bsc.cfg D net/tmpl_std/osmo-ggsn.cfg D net/tmpl_std/osmo-hlr.cfg D net/tmpl_std/osmo-hnbgw.cfg D net/tmpl_std/osmo-mgw-for-bsc.cfg D net/tmpl_std/osmo-mgw-for-msc.cfg D net/tmpl_std/osmo-msc.cfg D net/tmpl_std/osmo-sip-connector.cfg D net/tmpl_std/osmo-stp.cfg 36 files changed, 377 insertions(+), 310 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/08/13108/1 diff --git a/net/README b/net/README index 1d07775..73a8d2f 100644 --- a/net/README +++ b/net/README @@ -16,7 +16,7 @@ mkdir my_network cd my_network -../fill_config.py ../config_mine ../tmpl_std +../fill_config.py ../config_mine ../templates ./run.sh # Launches numerous x-terminals with one component running in each. @@ -31,27 +31,27 @@ # tweak config? $EDITOR ../config_mine ../fill_config.py -# picks up same ../config_mine and ../tmpl_std from last time +# picks up same ../config_mine and ../templates from last time # own templates? -cp -r ../tmpl_std ../tmpl_mine -$EDITOR ../tmpl_mine/* -../fill_config.py ../tmpl_mine -# picks up same ../config_mine from last time, and ../tmpl_mine from cmdline +cp -r ../templates ../templates_mine +$EDITOR ../templates_mine/* +../fill_config.py ../templates_mine +# picks up same ../config_mine from last time, and ../templates_mine from cmdline If you wanted to change to dynamic timeslots, you can: cd .. -mkdir tmpl_dyn -cd tmpl_dyn -ln -s ../tmpl_std/* . +mkdir templates_dyn +cd templates_dyn +ln -s ../templates/* . rm ./osmo-bsc.cfg -cp ../tmpl_std/osmo-bsc.cfg . +cp ../templates/osmo-bsc.cfg . sed -i 's#TCH/F#TCH/F_TCH/H_PDCH#' osmo-bsc.cfg cd ../my_network -../fill_config.py ../tmpl_dyn +../fill_config.py ../templates_dyn If you moved your laptop to a different location, you can: @@ -64,7 +64,7 @@ === Config file templates A *directory* contains template files that are filled with specific values by the -fill_config.py script. See e.g. tmpl_std/. +fill_config.py script. See e.g. templates/. A *file* contains local config items as name=val pairs that are put into the templates. See e.g. config_2g3g. @@ -83,7 +83,7 @@ === Launch -A run.sh script template (tmpl_std/run.sh) also gets filled with specifics and +A run.sh script template (templates/run.sh) also gets filled with specifics and placed next to the .cfg files. run.sh uses sudo to start tcpdump, configure ip forwarding and masquerading diff --git a/net/common_bsc_logging b/net/common_bsc_logging deleted file mode 100644 index 2f891c7..0000000 --- a/net/common_bsc_logging +++ /dev/null @@ -1,11 +0,0 @@ -${include(common_logging)} -log stderr - logging level lsua notice - logging level lss7 notice - logging level linp notice - logging level hodec notice -log gsmtap 127.0.0.1 - logging level lsua notice - logging level lss7 notice - logging level linp notice - logging level hodec notice diff --git a/net/common_logging b/net/common_logging deleted file mode 100644 index 8d074ab..0000000 --- a/net/common_logging +++ /dev/null @@ -1,23 +0,0 @@ -log stderr - logging filter all 1 - logging color 1 - logging print level 1 - logging print category 1 - logging print category-hex 0 - logging print file basename last - #logging print timestamp date - logging print extended-timestamp 1 - logging level set-all debug -log file current_log/${_name}.log - logging filter all 1 - logging color 1 - logging print level 1 - logging print category 1 - logging print category-hex 0 - logging print file basename last - #logging print timestamp date - logging print extended-timestamp 1 - logging level set-all debug -log gsmtap 127.0.0.1 - logging filter all 1 - logging level set-all debug diff --git a/net/config_2g3g b/net/config_2g3g index 622a4be..891e962 100644 --- a/net/config_2g3g +++ b/net/config_2g3g @@ -1,81 +1,112 @@ ETH_DEV=eth0 APN_DEV=apn0 -PUBLIC_IP="192.168.0.23" -PUBLIC_IP2="192.168.0.42" +TO_RAN_IP="192.168.0.3" +TO_RAN_IP2="192.168.0.4" +TO_SIP_IP="127.0.0.2" + +STATSD_IP="127.0.0.1" MCC=001 MNC=01 -BTS0_BAND=GSM-1800 -BTS0_LAC=23 -BTS0_CI=5 -BTS0_ARFCN=860 -BTS0_MAX_POWER_RED=21 -BTS0_IPA_UNIT="1234 0" -BTS0_NSVCI=1234 -BTS0_NSEI="${BTS0_NSVCI}" -BTS0_BVCI="${BTS0_NSVCI}" +TCH_TYPE=TCH/H -BTS1_BAND=GSM-1800 -BTS1_LAC=42 -BTS1_CI=13 -BTS1_ARFCN=862 -BTS1_MAX_POWER_RED=21 -BTS1_IPA_UNIT="1235 0" -BTS1_NSVCI=1235 -BTS1_NSEI="${BTS1_NSVCI}" -BTS1_BVCI="${BTS1_NSVCI}" +BTS_BAND=GSM-1800 +BTS_LAC=23 +BTS_MAX_POWER_RED=21 +BTS_CODEC_SUPPORT=fr amr +BTS_200mW=23 -HLR_IP="127.0.0.1" +BTS0_DESCRIPTION="my test BTS 0" +BTS0_IPA_UNIT="0 0" +BTS0_ARFCN=123 +BTS0_CI=${BTSn} +BTS0_BSIC=${BTSn} +BTS0_GPRS_MODE=gprs +BTS0_GB_REMOTE_IP=${SGSN_IP} +BTS0_GB_REMOTE_PORT=${SGSN_GB_PORT} +BTS0_NSVCI=${BTSn} +BTS0_NSEI="${BTSn_NSVCI}" +# according to osmo-bsc vty, BVCI must be >= 2 +BTS0_BVCI="100${BTSn}" +BTS0_BAND=${BTS_BAND} +BTS0_LAC=${BTS_LAC} +BTS0_MAX_POWER_RED=${BTS_MAX_POWER_RED} +BTS0_NOMINAL_POWER=${BTS_200mW} +BTS0_CODEC_SUPPORT=${BTS_CODEC_SUPPORT} + +BTS1_DESCRIPTION="my test BTS 1" +BTS1_IPA_UNIT="1 0" +BTS1_ARFCN=125 +BTS1_CI=${BTSn} +BTS1_BSIC=${BTSn} +BTS1_GPRS_MODE=gprs +BTS1_GB_REMOTE_IP=${GBPROXY_IP} +BTS1_GB_REMOTE_PORT=${GBPROXY_GB_PORT} +BTS1_NSVCI=${BTSn} +BTS1_NSEI="${BTSn_NSVCI}" +BTS1_BVCI="100${BTSn}" +BTS1_BAND=${BTS_BAND} +BTS1_LAC=${BTS_LAC} +BTS1_MAX_POWER_RED=${BTS_MAX_POWER_RED} +BTS1_NOMINAL_POWER=${BTS_200mW} +BTS1_CODEC_SUPPORT=${BTS_CODEC_SUPPORT} + +HLR_IP=127.0.0.1 MSC_PC="0.23.1" -MSC_MNCC_SOCKET="${NET_DIR}/msc_mncc_socket" +MSC_MNCC_SOCKET="/tmp/mncc_socket" +MSC_MNCC="internal" +# MSC_MNCC="external ${MSC_MNCC_SOCKET}" -AUTH=optional -ENCR_A5=0 +AUTH=required +ENCR_A5=1 -SGSN_IP="${PUBLIC_IP}" +SGSN_IP="${TO_RAN_IP}" SGSN_PC="0.23.2" SGSN_GB_PORT=23000 -GBPROXY_IP="${PUBLIC_IP}" +GBPROXY_IP="${TO_RAN_IP}" GBPROXY_GB_PORT=7777 -PCU_GB_PORT=23000 +PCU_GB_LOCAL_PORT=23000 -MGW4MSC_IP="${PUBLIC_IP}" +MGW4MSC_IP="${TO_SIP_IP}" +MGW4MSC_PORT="2427" MGW4MSC_VTY_IP="127.0.0.1" -BSC_IP="${PUBLIC_IP}" -BSC_PC="0.42.0" -BSC_CODEC_LIST="fr1 hr1" -MGW4BSC_IP="${PUBLIC_IP2}" +MGW4BSC_IP="${TO_RAN_IP}" MGW4BSC_PORT="2427" MGW4BSC_VTY_IP="127.0.0.2" -HNBGW_PC="0.3.0" -HNBGW_IP="${PUBLIC_IP}" +BSC_IP="${TO_RAN_IP}" +BSC_PC="0.23.3" +BSC_CODEC_LIST="hr3" -GGSN_IP="${PUBLIC_IP2}" +HNBGW_PC="0.3.0" +HNBGW_IP="${TO_RAN_IP}" + +HNODEB0_IP="192.168.0.124" +HNODEB0_UARFCN=4357 +HNODEB0_SCRAMBLE=157 +HNODEB0_LAC=1${HNODEB0_UARFCN} +HNODEB0_RAC=11 + +HNODEB1_IP="192.168.0.23" +HNODEB1_UARFCN=4358 +HNODEB1_SCRAMBLE=258 +HNODEB1_LAC=1${HNODEB1_UARFCN} +HNODEB1_RAC=22 + +GGSN_IP="${TO_RAN_IP2}" GGSN_DNS0="192.168.0.1" GGSN_DNS1="9.9.9.9" GGSN_NET="192.168.42.0/24" +GGSN_GTP_STATE_DIR=/tmp -HNODEB_IP="192.168.0.124" -UARFCN=4357 -SCRAMBLE=157 -LAC=1${UARFCN} -RAC=11 - -HNODEB_IP2="192.168.0.23" -UARFCN2=4358 -SCRAMBLE2=258 -LAC2=2${UARFCN2} -RAC2=22 - -SIPCON_ENABLE="false" -SIPCON_LOCAL="${PUBLIC_IP}" -SIPCON_LOCAL_PORT="5069" -SIPCON_REMOTE="${PUBLIC_IP}" -SIPCON_REMOTE_PORT="5060" +# Enabled only when MSC_MNCC != "internal" +SIPCON_LOCAL="${TO_SIP_IP}" +SIPCON_LOCAL_PORT="5060" +SIPCON_REMOTE="127.0.0.1" +SIPCON_REMOTE_PORT="5069" diff --git a/net/tmpl_std/Makefile b/net/templates/Makefile similarity index 100% rename from net/tmpl_std/Makefile rename to net/templates/Makefile diff --git a/net/templates/common_logging_bsc b/net/templates/common_logging_bsc new file mode 100644 index 0000000..bf60d7a --- /dev/null +++ b/net/templates/common_logging_bsc @@ -0,0 +1,8 @@ + logging level hodec info + logging level ho info + logging level lmi info + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice diff --git a/net/templates/common_logging_gsmtap b/net/templates/common_logging_gsmtap new file mode 100644 index 0000000..f85da41 --- /dev/null +++ b/net/templates/common_logging_gsmtap @@ -0,0 +1,3 @@ +log gsmtap 127.0.0.1 + logging filter all 1 + logging level set-all notice diff --git a/net/templates/common_logging_msc b/net/templates/common_logging_msc new file mode 100644 index 0000000..5100d47 --- /dev/null +++ b/net/templates/common_logging_msc @@ -0,0 +1,5 @@ + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice diff --git a/net/templates/common_logging_stderr b/net/templates/common_logging_stderr new file mode 100644 index 0000000..695d19c --- /dev/null +++ b/net/templates/common_logging_stderr @@ -0,0 +1,9 @@ +log stderr + logging filter all 1 + logging color 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug diff --git a/net/templates/common_statsd b/net/templates/common_statsd new file mode 100644 index 0000000..1c35610 --- /dev/null +++ b/net/templates/common_statsd @@ -0,0 +1,8 @@ +stats reporter statsd + disable + remote-ip ${STATSD_IP} + remote-port 9125 + level global + no prefix + enable +stats interval 5 diff --git a/net/templates/common_template_warning b/net/templates/common_template_warning new file mode 100644 index 0000000..6ce6fae --- /dev/null +++ b/net/templates/common_template_warning @@ -0,0 +1,3 @@ +# DO NET EDIT THIS FILE DIRECTLY! +# This is generated from templates, and manual edits will be overwritten. +# See /etc/osmocom/README diff --git a/net/tmpl_std/kamailio.cfg b/net/templates/kamailio.cfg similarity index 100% rename from net/tmpl_std/kamailio.cfg rename to net/templates/kamailio.cfg diff --git a/net/templates/nano3G_dmi.txt b/net/templates/nano3G_dmi.txt new file mode 100644 index 0000000..ea47f29 --- /dev/null +++ b/net/templates/nano3G_dmi.txt @@ -0,0 +1,20 @@ +${foreach(HNODEB)} + +### nano3G ${HNODEBn} +ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEBn_IP} +telnet ${HNODEBn_IP} 8090 + +set rfParamsCandidateList=({${HNODEBn_UARFCN}, ${HNODEBn_SCRAMBLE}, 1}) +set lacRacCandidateList=({${HNODEBn_LAC}, (${HNODEBn_RAC})}) +set hnbGwAddress="${HNBGW_IP}" +set mcc="${MCC}" +set mnc="${MNC}" +action 2061 +action 1216 +action establishPermanentHnbGwConnection +set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS +set accessControlList = ({"901700000014701",1,"14701"},{"901700000014701",1,"14701"},{"901700000014705",1,"14705"},{"901700000014706",1,"14706"},{"204046848488900",1,"88900"},{"204046848488903",1,"88903"}) + +${foreach_end} + +set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS diff --git a/net/templates/osmo-bsc.cfg b/net/templates/osmo-bsc.cfg new file mode 100644 index 0000000..d0995d5 --- /dev/null +++ b/net/templates/osmo-bsc.cfg @@ -0,0 +1,102 @@ +${include(common_template_warning)} +stats interval 5 +! +stats reporter statsd + disable + remote-ip ${STATSD_IP} + remote-port 9125 + level global + no prefix + enable +! +line vty + no login +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive + ipa bind ${BSC_IP} +cs7 instance 0 + point-code ${BSC_PC} + asp asp-clnt-msc-0 2905 0 m3ua + as as-clnt-msc-0 m3ua + asp asp-clnt-msc-0 + routing-key 4 ${BSC_PC} +network + network country code ${MCC} + mobile network code ${MNC} + encryption a5 ${ENCR_A5} + neci 1 + paging any use tch 0 + handover 0 + periodic location update 12 + meas-feed destination 127.0.0.1 8888 + +${foreach(BTS)} + bts ${BTSn} + description ${BTSn_DESCRIPTION} + type sysmobts + band ${BTS_BAND} + ip.access unit_id ${BTSn_IPA_UNIT} + location_area_code ${BTSn_LAC} + cell_identity ${BTSn_CI} + base_station_id_code ${BTSn_BSIC} + codec-support ${BTSn_CODEC_SUPPORT} + amr tch-f modes 3 + amr tch-f start-mode 3 + amr tch-h modes 3 + amr tch-h start-mode 3 + gprs mode ${BTSn_GPRS_MODE} + gprs nsvc 0 remote ip ${BTSn_GB_REMOTE_IP} + gprs nsvc 0 remote udp port ${BTSn_GB_REMOTE_PORT} + gprs nsvc 0 local udp port ${PCU_GB_LOCAL_PORT} + gprs nsvc 0 nsvci ${BTSn_NSVCI} + gprs nsei ${BTSn_NSEI} + gprs cell bvci ${BTSn_BVCI} + trx 0 + arfcn ${BTSn_ARFCN} + description ${BTSn_DESCRIPTION} + rf_locked 0 + nominal power ${BTSn_NOMINAL_POWER} + max_power_red ${BTSn_MAX_POWER_RED} + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config SDCCH8 + timeslot 2 + phys_chan_config ${TCH_TYPE} + timeslot 3 + phys_chan_config ${TCH_TYPE} + timeslot 4 + phys_chan_config ${TCH_TYPE} + timeslot 5 + phys_chan_config ${TCH_TYPE} + timeslot 6 + phys_chan_config ${TCH_TYPE} + timeslot 7 + phys_chan_config PDCH +${foreach_end} + +msc 0 + mgw remote-ip ${MGW4BSC_IP} + mgw remote-port ${MGW4BSC_PORT} + mgw endpoint-domain bsc + allow-emergency deny + codec-list ${BSC_CODEC_LIST} + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k allowed + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden + +${include(common_logging_stderr)} +${include(common_logging_bsc)} + +${include(common_logging_gsmtap)} +${include(common_logging_bsc)} + +${include(common_statsd)} diff --git a/net/tmpl_std/osmo-gbproxy.cfg b/net/templates/osmo-gbproxy.cfg similarity index 100% rename from net/tmpl_std/osmo-gbproxy.cfg rename to net/templates/osmo-gbproxy.cfg diff --git a/net/templates/osmo-ggsn.cfg b/net/templates/osmo-ggsn.cfg new file mode 100644 index 0000000..7492761 --- /dev/null +++ b/net/templates/osmo-ggsn.cfg @@ -0,0 +1,18 @@ +${include(common_template_warning)} +ggsn ggsn0 + gtp state-dir ${GGSN_GTP_STATE_DIR} + gtp bind-ip ${GGSN_IP} + apn internet + gtpu-mode tun + tun-device ${APN_DEV} + type-support v4 + ip dns 0 ${GGSN_DNS0} + ip dns 1 ${GGSN_DNS1} + ip prefix dynamic ${GGSN_NET} + no shutdown + default-apn internet + no shutdown ggsn + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} +${include(common_statsd)} diff --git a/net/templates/osmo-hlr.cfg b/net/templates/osmo-hlr.cfg new file mode 100644 index 0000000..bacad7a --- /dev/null +++ b/net/templates/osmo-hlr.cfg @@ -0,0 +1,11 @@ +${include(common_template_warning)} +hlr + gsup + bind ip ${HLR_IP} + ussd route prefix *0# internal own-msisdn + ussd route prefix *1# internal own-imsi + ussd route prefix *#100# internal own-msisdn + ussd route prefix *#101# internal own-imsi + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/templates/osmo-hnbgw.cfg b/net/templates/osmo-hnbgw.cfg new file mode 100644 index 0000000..66516ce --- /dev/null +++ b/net/templates/osmo-hnbgw.cfg @@ -0,0 +1,8 @@ +${include(common_template_warning)} +hnbgw + iuh + local-ip ${HNBGW_IP} + hnbap-allow-tmsi 1 + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/templates/osmo-mgw-for-bsc.cfg b/net/templates/osmo-mgw-for-bsc.cfg new file mode 100644 index 0000000..be67d0c --- /dev/null +++ b/net/templates/osmo-mgw-for-bsc.cfg @@ -0,0 +1,12 @@ +${include(common_template_warning)} +mgcp + domain bsc + bind ip ${MGW4BSC_IP} + bind port ${MGW4BSC_PORT} + rtp net-range 50004 60000 + number endpoints 1024 +line vty + bind ${MGW4BSC_VTY_IP} + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/templates/osmo-mgw-for-msc.cfg b/net/templates/osmo-mgw-for-msc.cfg new file mode 100644 index 0000000..a69ec93 --- /dev/null +++ b/net/templates/osmo-mgw-for-msc.cfg @@ -0,0 +1,12 @@ +${include(common_template_warning)} +mgcp + domain msc + bind ip ${MGW4MSC_IP} + bind port ${MGW4MSC_PORT} + rtp net-range 50004 60000 + number endpoints 1024 +line vty + bind ${MGW4MSC_VTY_IP} + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/templates/osmo-msc.cfg b/net/templates/osmo-msc.cfg new file mode 100644 index 0000000..a9798c9 --- /dev/null +++ b/net/templates/osmo-msc.cfg @@ -0,0 +1,32 @@ +${include(common_template_warning)} +network + network country code ${MCC} + mobile network code ${MNC} + authentication ${AUTH} + encryption a5 ${ENCR_A5} + short name 35c3 + long name 35c3 + mm info 1 +msc + mncc ${MSC_MNCC} + mgw remote-ip ${MGW4MSC_IP} + mgw remote-port ${MGW4MSC_PORT} + mgw endpoint-domain msc + # For nano3G: + iu rab-assign-addr-enc x213 +mncc-int + default-codec tch-f fr + default-codec tch-h amr +smpp + local-tcp-ip 127.0.0.1 2775 + system-id test-msc + policy closed + no smpp-first +hlr + remote-ip ${HLR_IP} + +${include(common_logging_stderr)} +${include(common_logging_msc)} + +${include(common_logging_gsmtap)} +${include(common_logging_msc)} diff --git a/net/tmpl_std/osmo-sgsn.cfg b/net/templates/osmo-sgsn.cfg similarity index 70% rename from net/tmpl_std/osmo-sgsn.cfg rename to net/templates/osmo-sgsn.cfg index 3b61ef3..f6ee1df 100644 --- a/net/tmpl_std/osmo-sgsn.cfg +++ b/net/templates/osmo-sgsn.cfg @@ -1,3 +1,4 @@ +${include(common_template_warning)} sgsn gtp local-ip ${SGSN_IP} ggsn 0 remote-ip ${GGSN_IP} @@ -9,4 +10,5 @@ encapsulation udp local-port ${SGSN_GB_PORT} encapsulation framerelay-gre enabled 0 -${include(../common_logging)} +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/templates/osmo-sip-connector.cfg b/net/templates/osmo-sip-connector.cfg new file mode 100644 index 0000000..bac1385 --- /dev/null +++ b/net/templates/osmo-sip-connector.cfg @@ -0,0 +1,10 @@ +${include(common_template_warning)} +app +mncc + socket-path ${MSC_MNCC_SOCKET} +sip + local ${SIPCON_LOCAL} ${SIPCON_LOCAL_PORT} + remote ${SIPCON_REMOTE} ${SIPCON_REMOTE_PORT} + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/templates/osmo-stp.cfg b/net/templates/osmo-stp.cfg new file mode 100644 index 0000000..35eb4e7 --- /dev/null +++ b/net/templates/osmo-stp.cfg @@ -0,0 +1,8 @@ +${include(common_template_warning)} +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + listen m3ua 2905 + accept-asp-connections dynamic-permitted + +${include(common_logging_stderr)} +${include(common_logging_gsmtap)} diff --git a/net/tmpl_std/run.sh b/net/templates/run.sh similarity index 89% rename from net/tmpl_std/run.sh rename to net/templates/run.sh index 03f75c1..fcb410b 100755 --- a/net/tmpl_std/run.sh +++ b/net/templates/run.sh @@ -9,7 +9,6 @@ fi dev="${ETH_DEV}" -ip2="${PUBLIC_IP2}" apn="${APN_DEV}" sudo true || exit 1 @@ -28,14 +27,14 @@ sudo ip link set $apn up fi -if [ -z "$(ip addr show | grep "$PUBLIC_IP")" ]; then - echo "No interface has IP address $PUBLIC_IP! Hit enter to continue anyway." +if [ -z "$(ip addr show | grep "$TO_RAN_IP")" ]; then + echo "No interface has IP address $TO_RAN_IP! Hit enter to continue anyway." read enter_to_continue fi -if [ -z "$(ip addr show | grep "$ip2")" ]; then - echo "No interface has IP address $ip2! Hit enter to 'ip addr add $ip2/32 dev $dev'" +if [ -z "$(ip addr show | grep "$TO_RAN_IP2")" ]; then + echo "No interface has IP address $TO_RAN_IP2! Hit enter to 'ip addr add $TO_RAN_IP2/32 dev $dev'" read enter_to_continue - sudo ip addr add $ip2/32 dev $dev + sudo ip addr add $TO_RAN_IP2/32 dev $dev fi logdir="current_log" @@ -78,14 +77,14 @@ stp="osmo-stp" bsc="LD_LIBRARY_PATH=/usr/local/lib gdb -ex run --args osmo-bsc -c osmo-bsc.cfg" -if [ "${SIPCON_ENABLE}" == "true" ]; then +if [ "x${MSC_MNCC}" != "xinternal" ]; then sipcon="osmo-sip-connector -c osmo-sip-connector.cfg" msc="$msc -M ${MSC_MNCC_SOCKET}" # Require kamailio (PATH hack is needed for Debian) kamailio="$(PATH="$PATH:/usr/sbin:/sbin" which kamailio)" if [ -z "$kamailio" ]; then - echo "ERROR: kamailio is not installed, but it's required for SIPCON_ENABLE." + echo "ERROR: kamailio is not installed, but it's required for external MNCC." echo "After installing it, make sure that it does *not* run as daemon." exit 1 fi @@ -115,7 +114,7 @@ sleep .2 term "$bsc" BSC & -if [ "${SIPCON_ENABLE}" == "true" ]; then +if [ "x${MSC_MNCC}" != "xinternal" ]; then sleep .2 term "$sipcon" SIPCON & sleep .2 @@ -129,7 +128,7 @@ read enter_to_close echo Closing... -if [ "${SIPCON_ENABLE}" == "true" ]; then +if [ "x${MSC_MNCC}" != "xinternal" ]; then kill %13 %14 killall osmo-sip-connector killall kamailio diff --git a/net/tmpl_std/nano3G.txt b/net/tmpl_std/nano3G.txt deleted file mode 100644 index df6feb6..0000000 --- a/net/tmpl_std/nano3G.txt +++ /dev/null @@ -1,18 +0,0 @@ -ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEB_IP} - -telnet ${HNODEB_IP} 8090 - -set mcc="${MCC}" -set mnc="${MNC}" -set rfParamsCandidateList=({${UARFCN}, ${SCRAMBLE}, 1}) -set lacRacCandidateList=({${LAC}, (${RAC})}) -set hnbGwAddress="${HNBGW_IP}" -action 2061 -action 1216 -action establishPermanentHnbGwConnection -set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS -set accessControlList = ({"901700000014701",1,"14701"}) - -set accessControlList = ({"901700000014701",1,"14701"},{"901700000014702",1,"14702"}) - -set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS diff --git a/net/tmpl_std/nano3G2.txt b/net/tmpl_std/nano3G2.txt deleted file mode 100644 index a5be62d..0000000 --- a/net/tmpl_std/nano3G2.txt +++ /dev/null @@ -1,18 +0,0 @@ -ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEB_IP2} - -telnet ${HNODEB_IP2} 8090 - -set mcc="${MCC}" -set mnc="${MNC}" -set rfParamsCandidateList=({${UARFCN2}, ${SCRAMBLE2}, 1}) -set lacRacCandidateList=({${LAC2}, (${RAC2})}) -set hnbGwAddress="${HNBGW_IP}" -action 2061 -action 1216 -action establishPermanentHnbGwConnection -set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS -set accessControlList = ({"901700000014702",1,"14702"}) - -set accessControlList = ({"901700000014701",1,"14701"},{"901700000014702",1,"14702"}) - -set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS diff --git a/net/tmpl_std/osmo-bsc.cfg b/net/tmpl_std/osmo-bsc.cfg deleted file mode 100644 index cfaf8b7..0000000 --- a/net/tmpl_std/osmo-bsc.cfg +++ /dev/null @@ -1,86 +0,0 @@ -network - #meas-feed destination 172.18.18.18 8888 - #meas-feed scenario foo23 - network country code ${MCC} - mobile network code ${MNC} - encryption a5 ${ENCR_A5} - bts 0 - type sysmobts - band ${BTS0_BAND} - location_area_code ${BTS0_LAC} - cell_identity ${BTS0_CI} - cell reselection hysteresis 14 - ip.access unit_id ${BTS0_IPA_UNIT} - gprs mode gprs - gprs nsvc 0 remote ip ${GBPROXY_IP} - gprs nsvc 0 remote udp port ${GBPROXY_GB_PORT} - gprs nsvc 0 local udp port ${PCU_GB_PORT} - gprs nsvc 0 nsvci ${BTS0_NSVCI} - gprs nsei ${BTS0_NSEI} - gprs cell bvci ${BTS0_BVCI} - trx 0 - rf_locked 0 - arfcn ${BTS0_ARFCN} - nominal power 23 - max_power_red ${BTS0_MAX_POWER_RED} - timeslot 0 - phys_chan_config CCCH+SDCCH4 - timeslot 1 - phys_chan_config SDCCH8 - timeslot 2 - phys_chan_config TCH/F - timeslot 3 - phys_chan_config TCH/F - timeslot 4 - phys_chan_config TCH/F - timeslot 5 - phys_chan_config PDCH - timeslot 6 - phys_chan_config PDCH - timeslot 7 - phys_chan_config PDCH - bts 1 - type sysmobts - band ${BTS1_BAND} - location_area_code ${BTS1_LAC} - cell_identity ${BTS1_CI} - cell reselection hysteresis 14 - ip.access unit_id ${BTS1_IPA_UNIT} - gprs mode gprs - gprs nsvc 0 remote ip ${GBPROXY_IP} - gprs nsvc 0 remote udp port ${GBPROXY_GB_PORT} - gprs nsvc 0 local udp port ${PCU_GB_PORT} - gprs nsvc 0 nsvci ${BTS1_NSVCI} - gprs nsei ${BTS1_NSEI} - gprs cell bvci ${BTS1_BVCI} - trx 0 - rf_locked 0 - arfcn ${BTS1_ARFCN} - nominal power 23 - max_power_red ${BTS1_MAX_POWER_RED} - timeslot 0 - phys_chan_config CCCH+SDCCH4 - timeslot 1 - phys_chan_config SDCCH8 - timeslot 2 - phys_chan_config TCH/F - timeslot 3 - phys_chan_config TCH/F - timeslot 4 - phys_chan_config TCH/F - timeslot 5 - phys_chan_config PDCH - timeslot 6 - phys_chan_config PDCH - timeslot 7 - phys_chan_config PDCH -e1_input - e1_line 0 driver ipa -msc 0 - mgw remote-ip ${MGW4BSC_IP} - mgw remote-port ${MGW4BSC_PORT} - mgw endpoint-range 33 64 - allow-emergency deny - codec-list ${BSC_CODEC_LIST} - -${include(../common_bsc_logging)} diff --git a/net/tmpl_std/osmo-ggsn.cfg b/net/tmpl_std/osmo-ggsn.cfg deleted file mode 100644 index 1e69f65..0000000 --- a/net/tmpl_std/osmo-ggsn.cfg +++ /dev/null @@ -1,17 +0,0 @@ -log stderr - logging level all debug - logging filter all 1 - logging print category 1 -ggsn ggsn0 - gtp bind-ip ${GGSN_IP} - apn internet - tun-device ${APN_DEV} - type-support v4 - ip dns 0 ${GGSN_DNS0} - ip dns 1 ${GGSN_DNS1} - #ip ifconfig ${GGSN_NET} - ip prefix dynamic ${GGSN_NET} - no shutdown - default-apn internet - no shutdown ggsn -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-hlr.cfg b/net/tmpl_std/osmo-hlr.cfg deleted file mode 100644 index 4f8a14a..0000000 --- a/net/tmpl_std/osmo-hlr.cfg +++ /dev/null @@ -1,7 +0,0 @@ -hlr - ussd route prefix *1# internal own-msisdn - ussd route prefix *2# internal own-imsi - ussd route prefix *#100# internal own-msisdn - ussd route prefix *#101# internal own-imsi - store-imei -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-hnbgw.cfg b/net/tmpl_std/osmo-hnbgw.cfg deleted file mode 100644 index a918b10..0000000 --- a/net/tmpl_std/osmo-hnbgw.cfg +++ /dev/null @@ -1,5 +0,0 @@ -hnbgw - iuh - local-ip ${HNBGW_IP} - -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-mgw-for-bsc.cfg b/net/tmpl_std/osmo-mgw-for-bsc.cfg deleted file mode 100644 index a6eddbf..0000000 --- a/net/tmpl_std/osmo-mgw-for-bsc.cfg +++ /dev/null @@ -1,11 +0,0 @@ -mgcp - bind ip ${MGW4BSC_IP} - # default port is 2427 (is used for MSC's MGW) - bind port ${MGW4BSC_PORT} - number endpoints 64 -line vty - # default VTY interface is on 127.0.0.1 (used for MSC's MGW) - bind ${MGW4BSC_VTY_IP} - -${include(../common_logging)} - logging level all info diff --git a/net/tmpl_std/osmo-mgw-for-msc.cfg b/net/tmpl_std/osmo-mgw-for-msc.cfg deleted file mode 100644 index 5803932..0000000 --- a/net/tmpl_std/osmo-mgw-for-msc.cfg +++ /dev/null @@ -1,8 +0,0 @@ -mgcp - bind ip ${MGW4MSC_IP} - number endpoints 64 -line vty - bind ${MGW4MSC_VTY_IP} - -${include(../common_logging)} - logging level all info diff --git a/net/tmpl_std/osmo-msc.cfg b/net/tmpl_std/osmo-msc.cfg deleted file mode 100644 index 99c1b00..0000000 --- a/net/tmpl_std/osmo-msc.cfg +++ /dev/null @@ -1,18 +0,0 @@ -network - network country code ${MCC} - mobile network code ${MNC} - authentication ${AUTH} - encryption a5 ${ENCR_A5} -msc - mgw remote-ip ${MGW4MSC_IP} - # For nano3G: - iu rab-assign-addr-enc x213 - - check-imei-rqd 1 - -${include(../common_logging)} - logging level ref debug - logging level vlr debug -log stderr - logging level ref debug - logging level vlr debug diff --git a/net/tmpl_std/osmo-sip-connector.cfg b/net/tmpl_std/osmo-sip-connector.cfg deleted file mode 100644 index 953eccd..0000000 --- a/net/tmpl_std/osmo-sip-connector.cfg +++ /dev/null @@ -1,6 +0,0 @@ -app -mncc - socket-path ${MSC_MNCC_SOCKET} -sip - local ${SIPCON_LOCAL} ${SIPCON_LOCAL_PORT} - remote ${SIPCON_REMOTE} ${SIPCON_REMOTE_PORT} diff --git a/net/tmpl_std/osmo-stp.cfg b/net/tmpl_std/osmo-stp.cfg deleted file mode 100644 index 093bf86..0000000 --- a/net/tmpl_std/osmo-stp.cfg +++ /dev/null @@ -1,6 +0,0 @@ -cs7 instance 0 - xua rkm routing-key-allocation dynamic-permitted - listen m3ua 2905 - accept-asp-connections dynamic-permitted - -${include(../common_logging)} -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 01:14:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 01:14:01 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Hello osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13108 to look at the new patch set (#2). Change subject: net/: refactor cfg templates ...................................................................... net/: refactor cfg templates Adopt "foreach" and "common_" features and generally take in the improved templates as used at 35c3. If your config file relies on the tmpl_std that is now removed, you can locally resurrect it with git checkout 2c6a55baa72de0e -- tmpl_std but it's probably better to make a new copy of config_2g3g and insert your local config there. Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 --- M .gitignore M net/README D net/common_bsc_logging D net/common_logging M net/config_2g3g R net/templates/Makefile A net/templates/common_logging A net/templates/common_statsd A net/templates/common_template_warning R net/templates/kamailio.cfg A net/templates/nano3G_dmi.txt A net/templates/osmo-bsc.cfg R net/templates/osmo-gbproxy.cfg A net/templates/osmo-ggsn.cfg A net/templates/osmo-hlr.cfg A net/templates/osmo-hnbgw.cfg A net/templates/osmo-mgw-for-bsc.cfg A net/templates/osmo-mgw-for-msc.cfg A net/templates/osmo-msc.cfg A net/templates/osmo-sgsn.cfg A net/templates/osmo-sip-connector.cfg A net/templates/osmo-stp.cfg R net/templates/run.sh D net/tmpl_std/nano3G.txt D net/tmpl_std/nano3G2.txt D net/tmpl_std/osmo-bsc.cfg D net/tmpl_std/osmo-ggsn.cfg D net/tmpl_std/osmo-hlr.cfg D net/tmpl_std/osmo-hnbgw.cfg D net/tmpl_std/osmo-mgw-for-bsc.cfg D net/tmpl_std/osmo-mgw-for-msc.cfg D net/tmpl_std/osmo-msc.cfg D net/tmpl_std/osmo-sgsn.cfg D net/tmpl_std/osmo-sip-connector.cfg D net/tmpl_std/osmo-stp.cfg 35 files changed, 426 insertions(+), 323 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/08/13108/2 -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 01:14:26 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 01:14:26 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13108 ) Change subject: net/: refactor cfg templates ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 04 Mar 2019 01:14:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 06:24:24 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 06:24:24 +0000 Subject: Change in osmo-pcu[master]: MCS: remove dead code In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13063 ) Change subject: MCS: remove dead code ...................................................................... Patch Set 1: Code-Review+1 C++20 will bring you the spaceship operator (https://en.cppreference.com/w/cpp/language/default_comparisons) and ==/!=/<... will be autogenerated from it. Apparently there are no tests for these. -- To view, visit https://gerrit.osmocom.org/13063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ieef3b095a6732300e5efa395b989843112b9ca78 Gerrit-Change-Number: 13063 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 06:24:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 07:18:00 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 07:18:00 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13087 to look at the new patch set (#2). Change subject: process: Make killing processes non-sequential ...................................................................... process: Make killing processes non-sequential Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 --- M selftest/suite_test.ok M src/osmo_gsm_tester/process.py 2 files changed, 129 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/13087/2 -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 07:43:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 07:43:13 +0000 Subject: Change in osmo-gsm-tester[master]: process: Speed-up terminating lots of processes by batching it In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13085 ) Change subject: process: Speed-up terminating lots of processes by batching it ...................................................................... process: Speed-up terminating lots of processes by batching it Introduce a strategy to terminate processes and begin with an implementation for parallel (that has no degree of parallelism right now). Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d --- M src/osmo_gsm_tester/process.py M src/osmo_gsm_tester/suite.py 2 files changed, 38 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index b1769f8..1e53aba 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -21,12 +21,38 @@ import time import subprocess import signal +from abc import ABCMeta, abstractmethod from datetime import datetime from . import log from .event_loop import MainLoop from .util import Dir +class TerminationStrategy(log.Origin, metaclass=ABCMeta): + """A baseclass for terminating a collection of processes.""" + + def __init__(self): + self._processes = [] + + def add_process(self, process): + """Remembers a process that needs to be terminated.""" + self._processes.append(process) + + @abstractmethod + def terminate_all(self): + "Terminates all scheduled processes and waits for the termination.""" + pass + + +class ParallelTerminationStrategy(TerminationStrategy): + """Processes will be terminated in parallel.""" + + def terminate_all(self): + # TODO(zecke): Actually make this non-sequential. + for process in self._processes: + process.terminate() + + class Process(log.Origin): def __init__(self, name, run_dir, popen_args, **popen_kwargs): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index e5ac9a8..39da917 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,7 +23,7 @@ import pprint from . import config, log, util, resource, test from .event_loop import MainLoop -from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, modem, esme, osmocon, ms_driver, iperf3 +from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, modem, esme, osmocon, ms_driver, iperf3, process class Timeout(Exception): pass @@ -246,9 +246,11 @@ self._processes.insert(0, (process, respawn)) def stop_processes(self): + strategy = process.ParallelTerminationStrategy() while self._processes: - process, respawn = self._processes.pop() - process.terminate() + proc, _ = self._processes.pop() + strategy.add_process(proc) + strategy.terminate_all() def stop_process(self, process): 'Remove process from monitored list and stop it' @@ -382,15 +384,15 @@ def poll(self): if self._processes: - for process, respawn in self._processes: - if process.terminated(): + for proc, respawn in self._processes: + if proc.terminated(): if respawn == True: - process.respawn() + proc.respawn() else: - process.log_stdout_tail() - process.log_stderr_tail() - log.ctx(process) - raise log.Error('Process ended prematurely: %s' % process.name()) + proc.log_stdout_tail() + proc.log_stderr_tail() + log.ctx(proc) + raise log.Error('Process ended prematurely: %s' % proc.name()) def prompt(self, *msgs, **msg_details): 'ask for user interaction. Do not use in tests that should run automatically!' -- To view, visit https://gerrit.osmocom.org/13085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d Gerrit-Change-Number: 13085 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 08:19:19 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 08:19:19 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Holger Freyther has uploaded a new patch set (#4). ( https://gerrit.osmocom.org/13076 ) Change subject: resource: Introduce a base class for the modem ...................................................................... resource: Introduce a base class for the modem Extract IMSI, KI and authentication algorithm into a base class. Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 --- M src/osmo_gsm_tester/modem.py A src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/suite.py 3 files changed, 45 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/13076/4 -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 08:36:00 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 08:36:00 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13076 ) Change subject: resource: Introduce a base class for the modem ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/suite.py File src/osmo_gsm_tester/suite.py: https://gerrit.osmocom.org/#/c/13076/3/src/osmo_gsm_tester/suite.py at 26 PS3, Line 26: from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3 > Why this line changed here? It needs to go to the previous commit. -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 08:36:00 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 08:37:18 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 08:37:18 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Use a factory to initiate a modem In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13075 to look at the new patch set (#5). Change subject: resource: Use a factory to initiate a modem ...................................................................... resource: Use a factory to initiate a modem Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 2 files changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/75/13075/5 -- To view, visit https://gerrit.osmocom.org/13075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af Gerrit-Change-Number: 13075 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 08:37:18 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 08:37:18 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Holger Freyther has uploaded a new patch set (#5). ( https://gerrit.osmocom.org/13076 ) Change subject: resource: Introduce a base class for the modem ...................................................................... resource: Introduce a base class for the modem Extract IMSI, KI and authentication algorithm into a base class. Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 --- A src/osmo_gsm_tester/ms.py 1 file changed, 37 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/13076/5 -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 10:06:17 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 10:06:17 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13108 ) Change subject: net/: refactor cfg templates ...................................................................... Patch Set 2: Code-Review-1 (1 comment) This patch does too many things at once, therefore it is hard to review. Gerrit doesn't even show diffs for most files that have been moved. How about one patch per change as usually, or at the very least one extra commit for moving the files? https://gerrit.osmocom.org/#/c/13108/2/net/templates/run.sh File net/templates/run.sh: https://gerrit.osmocom.org/#/c/13108/2/net/templates/run.sh at 80 PS2, Line 80: if [ "x${MSC_MNCC}" != "xinternal" ]; then The s/SIPCON_ENABLE/MSC_MNCC/g change should go into its own commit, it is not even mentioned in the commit message. -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 04 Mar 2019 10:06:17 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 10:07:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 10:07:25 +0000 Subject: Change in osmo-ci[master]: osmocom-debian-install: notify myself on error In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/12978 ) Change subject: osmocom-debian-install: notify myself on error ...................................................................... Abandoned Superseded by https://gerrit.osmocom.org/#/c/osmo-ci/+/13101 -- To view, visit https://gerrit.osmocom.org/12978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: Iefa5047abb6264f13a856039f47e009139fcc794 Gerrit-Change-Number: 12978 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 10:11:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 10:11:19 +0000 Subject: Change in osmo-dev[master]: Add .gitreview Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13109 Change subject: Add .gitreview ...................................................................... Add .gitreview Allows downloading patches quickly with 'git review -d 1308' and other shortcurts. We also have this in the other Osmocom repositories. Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 --- A .gitreview 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/09/13109/1 diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..dabcab9 --- /dev/null +++ b/.gitreview @@ -0,0 +1,3 @@ +[gerrit] +host=gerrit.osmocom.org +project=osmo-dev -- To view, visit https://gerrit.osmocom.org/13109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 Gerrit-Change-Number: 13109 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 10:44:16 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Mon, 4 Mar 2019 10:44:16 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make sending signals (kill) externally visible In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13086 ) Change subject: process: Make sending signals (kill) externally visible ...................................................................... process: Make sending signals (kill) externally visible Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8 --- M src/osmo_gsm_tester/process.py 1 file changed, 9 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index 1e53aba..3050f83 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -145,6 +145,12 @@ def send_signal(self, sig): os.kill(self.process_obj.pid, sig) + def kill(self, sig): + """Kills the process with the given signal and remembers it.""" + self.log('Terminating (%s)' % sig.name) + self.send_signal(sig) + self.killed = sig + def terminate(self): if self.process_obj is None: return @@ -153,23 +159,17 @@ while True: # first try SIGINT to allow stdout+stderr flushing - self.log('Terminating (SIGINT)') - self.send_signal(signal.SIGINT) - self.killed = signal.SIGINT + self.kill(signal.SIGINT) if self._poll_termination(): break # SIGTERM maybe? - self.log('Terminating (SIGTERM)') - self.send_signal(signal.SIGTERM) - self.killed = signal.SIGTERM + self.kill(signal.SIGTERM) if self._poll_termination(): break # out of patience - self.log('Terminating (SIGKILL)') - self.send_signal(signal.SIGKILL) - self.killed = signal.SIGKILL + self.kill(signal.SIGKILL) break; self.process_obj.wait() -- To view, visit https://gerrit.osmocom.org/13086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8 Gerrit-Change-Number: 13086 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 12:10:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 12:10:38 +0000 Subject: Change in docker-playground[master]: make/Makefile: allow overriding OSMO_TTCN3_BRANCH Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13110 Change subject: make/Makefile: allow overriding OSMO_TTCN3_BRANCH ...................................................................... make/Makefile: allow overriding OSMO_TTCN3_BRANCH Expose the OSMO_TTCN3_BRANCH build argument from ttcn3-*/Dockerfile as environment variable, so it can be changed when building the images with 'make' or './jenkins.sh'. Dockerfiles that do not have a OSMO_TCCN3_BRANCH build arg produce a warning. But this is also the case with Dockerfiles that don't have an USER build arg, and avoiding the warning would only be possible with a much more complex patch. Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 --- M README.md M make/Makefile 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/10/13110/1 diff --git a/README.md b/README.md index adb6420..4977256 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,9 @@ * `IMAGE_SUFFIX`: the version of the Osmocom stack to run the testsuite against. Default is `master`, set this to `latest` to test the last stable releases. +* `OSMO_TTCN3_BRANCH`: [osmo-ttcn3-hacks.git](https://git.osmocom.org/osmo-ttcn3-hacks/) + branch, which will be used when building a `ttcn3-*` docker image. + Defaults to `master`. * `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the containers (see "caching" below) diff --git a/make/Makefile b/make/Makefile index 5bbdbb7..2321fcf 100644 --- a/make/Makefile +++ b/make/Makefile @@ -16,6 +16,7 @@ REGISTRY_HOST?=docker.io USERNAME?=$(USER) NAME?=$(shell basename $(CURDIR)) +OSMO_TTCN3_BRANCH?=master RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) @@ -39,7 +40,8 @@ docker-build: .release - docker build --build-arg USER=$(USERNAME) -t $(IMAGE):latest . + docker build --build-arg USER=$(USERNAME) --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ + -t $(IMAGE):latest . @DOCKER_MAJOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f1) ; \ DOCKER_MINOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f2) ; \ -- To view, visit https://gerrit.osmocom.org/13110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 Gerrit-Change-Number: 13110 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 12:14:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 12:14:28 +0000 Subject: Change in docker-playground[master]: make/Makefile: allow overriding OSMO_TTCN3_BRANCH In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Max, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13110 to look at the new patch set (#2). Change subject: make/Makefile: allow overriding OSMO_TTCN3_BRANCH ...................................................................... make/Makefile: allow overriding OSMO_TTCN3_BRANCH Set the OSMO_TTCN3_BRANCH build argument from ttcn3-*/Dockerfile from the environment variable of the same name, so it can be changed when building the images with 'make' or './jenkins.sh'. Dockerfiles that do not have a OSMO_TCCN3_BRANCH build arg produce a warning. But this is also the case with Dockerfiles that don't have an USER build arg, and avoiding the warning would only be possible with a much more complex patch. Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 --- M README.md M make/Makefile 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/10/13110/2 -- To view, visit https://gerrit.osmocom.org/13110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 Gerrit-Change-Number: 13110 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 12:42:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 12:42:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: add CHECK-IMEI message Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13111 Change subject: library/GSUP_Types.ttcn: add CHECK-IMEI message ...................................................................... library/GSUP_Types.ttcn: add CHECK-IMEI message Implement necessary messages for Procedure Check_IMEI_VLR (TS 23.018 Chapter 7.1.2.9). This lets the VLR ask the EIR to check if an IMEI is valid. In the Osmocom stack, we don't have an EIR and this request is handled by the HLR. We are able to store the IMEI in the HLR as side-effect (OS#2541). This is roughly based on TS 29.002 8.7.1 MAP_CHECK_IMEI service, but only implements the bare minimum required IEs (imei and imei_result). Related: OS#3733 Change-Id: Ie1ae5c66ad3f9b42b345020de62a0c276cd8d709 --- M library/GSUP_Types.ttcn 1 file changed, 55 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/13111/1 diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 6cc6dde..c024d37 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -52,7 +52,10 @@ OSMO_GSUP_SM_RP_UI_IE ('43'O), OSMO_GSUP_SM_RP_CAUSE_IE ('44'O), OSMO_GSUP_SM_RP_MMS_IE ('45'O), - OSMO_GSUP_SM_ALERT_RSN_IE ('46'O) + OSMO_GSUP_SM_ALERT_RSN_IE ('46'O), + + OSMO_GSUP_IMEI_IE ('50'O), + OSMO_GSUP_IMEI_RESULT_IE ('51'O) } with { variant "FIELDLENGTH(8)" }; type enumerated GSUP_MessageType { @@ -96,7 +99,11 @@ OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST ('00101100'B), OSMO_GSUP_MSGT_READY_FOR_SM_ERROR ('00101101'B), - OSMO_GSUP_MSGT_READY_FOR_SM_RESULT ('00101110'B) + OSMO_GSUP_MSGT_READY_FOR_SM_RESULT ('00101110'B), + + OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST ('00110000'B), + OSMO_GSUP_MSGT_CHECK_IMEI_ERROR ('00110001'B), + OSMO_GSUP_MSGT_CHECK_IMEI_RESULT ('00110010'B) } with { variant "FIELDLENGTH(8)" }; type enumerated GSUP_CancelType { @@ -109,6 +116,11 @@ OSMO_GSUP_CN_DOMAIN_CS (2) } with { variant "FIELDLENGTH(8)" }; +type enumerated GSUP_IMEIResult { + OSMO_GSUP_IMEI_RESULT_ACK (0), + OSMO_GSUP_IMEI_RESULT_NACK (1) +} with { variant "FIELDLENGTH(8)" }; + type enumerated GSUP_SessionState { OSMO_GSUP_SESSION_STATE_NONE (0), OSMO_GSUP_SESSION_STATE_BEGIN (1), @@ -121,6 +133,11 @@ hexstring digits optional } with { variant (len) "LENGTHTO(digits)" }; +type record GSUP_IMEI { + uint8_t len, + hexstring digits optional +} with { variant (len) "LENGTHTO(digits)" }; + type record GSUP_IE { GSUP_IEI tag, uint8_t len, @@ -156,6 +173,8 @@ sm_rp_cause, tag = OSMO_GSUP_SM_RP_CAUSE_IE; sm_rp_mms, tag = OSMO_GSUP_SM_RP_MMS_IE; sm_alert_rsn, tag = OSMO_GSUP_SM_ALERT_RSN_IE; + imei, tag = OSMO_GSUP_IMEI_IE; + imei_result, tag = OSMO_GSUP_IMEI_RESULT_IE; )" }; @@ -197,7 +216,10 @@ octetstring sm_rp_ui, OCT1 sm_rp_cause, OCT1 sm_rp_mms, - GSUP_SM_ALERT_RSN_Type sm_alert_rsn + GSUP_SM_ALERT_RSN_Type sm_alert_rsn, + + GSUP_IMEI imei, + GSUP_IMEIResult imei_result }; type record GSUP_PDU { @@ -674,6 +696,36 @@ } } +template (value) GSUP_IE ts_GSUP_IE_IMEI_IE(GSUP_IMEI imei) := { + tag := OSMO_GSUP_IMEI_IE, + len := 0, /* overwritten */ + val := { + imei := imei + } +} +template GSUP_IE tr_GSUP_IE_IMEI_IE(template GSUP_IMEI imei) := { + tag := OSMO_GSUP_IMEI_IE, + len := ?, + val := { + imei := imei + } +} + +template (value) GSUP_IE ts_GSUP_IE_IMEI_RESULT_IE(GSUP_IMEIResult result) := { + tag := OSMO_GSUP_IMEI_RESULT_IE, + len := 0, /* overwritten */ + val := { + imei_result := result + } +} +template GSUP_IE tr_GSUP_IE_IMEI_RESULT_IE(template GSUP_IMEIResult result) := { + tag := OSMO_GSUP_IMEI_RESULT_IE, + len := ?, + val := { + imei_result := result + } +} + /* Possible identity types for SM-RP-{OA|DA} IEs */ type enumerated GSUP_SM_RP_ODA_IdType { OSMO_GSUP_SM_RP_ODA_ID_NONE ('00'O), -- To view, visit https://gerrit.osmocom.org/13111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie1ae5c66ad3f9b42b345020de62a0c276cd8d709 Gerrit-Change-Number: 13111 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 14:19:45 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 14:19:45 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13039 ) Change subject: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. ...................................................................... Patch Set 2: Code wise I still disagree with this fix, as explained, but it is not badly wrong per se, so I would agree if we merge this for the time being to avoid blocking important issues -- and create a new issue to clean this up when we find the time for it. I think it's not that complex to fix, but if none of us can find the time for this right now... -- To view, visit https://gerrit.osmocom.org/13039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a7b3ce8646d641569eac24e202f44cdb5f67b3d Gerrit-Change-Number: 13039 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 04 Mar 2019 14:19:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 15:49:59 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 15:49:59 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Hello osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13108 to look at the new patch set (#3). Change subject: net/: refactor cfg templates ...................................................................... net/: refactor cfg templates Adopt "foreach" and "common_" features and generally take in the improved templates as used at 35c3. If your config file relies on the tmpl_std that is now removed, you can locally resurrect it with git checkout 2c6a55baa72de0e -- tmpl_std but it's probably better to make a new copy of config_2g3g and insert your local config there. Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 --- M .gitignore M net/README D net/common_bsc_logging D net/common_logging M net/config_2g3g R net/templates/Makefile A net/templates/common_logging A net/templates/common_statsd A net/templates/common_template_warning R net/templates/kamailio.cfg A net/templates/nano3G_dmi.txt A net/templates/osmo-bsc.cfg R net/templates/osmo-gbproxy.cfg A net/templates/osmo-ggsn.cfg A net/templates/osmo-hlr.cfg A net/templates/osmo-hnbgw.cfg A net/templates/osmo-mgw-for-bsc.cfg A net/templates/osmo-mgw-for-msc.cfg A net/templates/osmo-msc.cfg A net/templates/osmo-sgsn.cfg A net/templates/osmo-sip-connector.cfg A net/templates/osmo-stp.cfg R net/templates/run.sh D net/tmpl_std/nano3G.txt D net/tmpl_std/nano3G2.txt D net/tmpl_std/osmo-bsc.cfg D net/tmpl_std/osmo-ggsn.cfg D net/tmpl_std/osmo-hlr.cfg D net/tmpl_std/osmo-hnbgw.cfg D net/tmpl_std/osmo-mgw-for-bsc.cfg D net/tmpl_std/osmo-mgw-for-msc.cfg D net/tmpl_std/osmo-msc.cfg D net/tmpl_std/osmo-sgsn.cfg D net/tmpl_std/osmo-sip-connector.cfg D net/tmpl_std/osmo-stp.cfg 35 files changed, 426 insertions(+), 323 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/08/13108/3 -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:03:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 4 Mar 2019 16:03:15 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13087 ) Change subject: process: Make killing processes non-sequential ...................................................................... Patch Set 2: Reminder: Move logging to dbg(), not log(). -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 16:03:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:23:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:23:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: add CHECK-IMEI message In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13111 ) Change subject: library/GSUP_Types.ttcn: add CHECK-IMEI message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie1ae5c66ad3f9b42b345020de62a0c276cd8d709 Gerrit-Change-Number: 13111 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 04 Mar 2019 16:23:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:24:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:24:04 +0000 Subject: Change in docker-playground[master]: make/Makefile: allow overriding OSMO_TTCN3_BRANCH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13110 ) Change subject: make/Makefile: allow overriding OSMO_TTCN3_BRANCH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 Gerrit-Change-Number: 13110 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 16:24:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:24:20 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 4 Mar 2019 16:24:20 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Use a factory to initiate a modem In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13075 ) Change subject: resource: Use a factory to initiate a modem ...................................................................... Patch Set 5: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13075/5/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/#/c/13075/5/src/osmo_gsm_tester/resource.py at 29 PS5, Line 29: from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts Missing import, test fails: + File "/home/jenkins/workspace/osmo-gsm-tester_gerrit/osmo-gsm-tester/selftest/../src/osmo_gsm_tester/resource.py", line 110, in + None: modem.Modem, +NameError: name 'modem' is not defined -- To view, visit https://gerrit.osmocom.org/13075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af Gerrit-Change-Number: 13075 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 16:24:20 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:24:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 16:24:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: add CHECK-IMEI message In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13111 ) Change subject: library/GSUP_Types.ttcn: add CHECK-IMEI message ...................................................................... library/GSUP_Types.ttcn: add CHECK-IMEI message Implement necessary messages for Procedure Check_IMEI_VLR (TS 23.018 Chapter 7.1.2.9). This lets the VLR ask the EIR to check if an IMEI is valid. In the Osmocom stack, we don't have an EIR and this request is handled by the HLR. We are able to store the IMEI in the HLR as side-effect (OS#2541). This is roughly based on TS 29.002 8.7.1 MAP_CHECK_IMEI service, but only implements the bare minimum required IEs (imei and imei_result). Related: OS#3733 Change-Id: Ie1ae5c66ad3f9b42b345020de62a0c276cd8d709 --- M library/GSUP_Types.ttcn 1 file changed, 55 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 6cc6dde..c024d37 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -52,7 +52,10 @@ OSMO_GSUP_SM_RP_UI_IE ('43'O), OSMO_GSUP_SM_RP_CAUSE_IE ('44'O), OSMO_GSUP_SM_RP_MMS_IE ('45'O), - OSMO_GSUP_SM_ALERT_RSN_IE ('46'O) + OSMO_GSUP_SM_ALERT_RSN_IE ('46'O), + + OSMO_GSUP_IMEI_IE ('50'O), + OSMO_GSUP_IMEI_RESULT_IE ('51'O) } with { variant "FIELDLENGTH(8)" }; type enumerated GSUP_MessageType { @@ -96,7 +99,11 @@ OSMO_GSUP_MSGT_READY_FOR_SM_REQUEST ('00101100'B), OSMO_GSUP_MSGT_READY_FOR_SM_ERROR ('00101101'B), - OSMO_GSUP_MSGT_READY_FOR_SM_RESULT ('00101110'B) + OSMO_GSUP_MSGT_READY_FOR_SM_RESULT ('00101110'B), + + OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST ('00110000'B), + OSMO_GSUP_MSGT_CHECK_IMEI_ERROR ('00110001'B), + OSMO_GSUP_MSGT_CHECK_IMEI_RESULT ('00110010'B) } with { variant "FIELDLENGTH(8)" }; type enumerated GSUP_CancelType { @@ -109,6 +116,11 @@ OSMO_GSUP_CN_DOMAIN_CS (2) } with { variant "FIELDLENGTH(8)" }; +type enumerated GSUP_IMEIResult { + OSMO_GSUP_IMEI_RESULT_ACK (0), + OSMO_GSUP_IMEI_RESULT_NACK (1) +} with { variant "FIELDLENGTH(8)" }; + type enumerated GSUP_SessionState { OSMO_GSUP_SESSION_STATE_NONE (0), OSMO_GSUP_SESSION_STATE_BEGIN (1), @@ -121,6 +133,11 @@ hexstring digits optional } with { variant (len) "LENGTHTO(digits)" }; +type record GSUP_IMEI { + uint8_t len, + hexstring digits optional +} with { variant (len) "LENGTHTO(digits)" }; + type record GSUP_IE { GSUP_IEI tag, uint8_t len, @@ -156,6 +173,8 @@ sm_rp_cause, tag = OSMO_GSUP_SM_RP_CAUSE_IE; sm_rp_mms, tag = OSMO_GSUP_SM_RP_MMS_IE; sm_alert_rsn, tag = OSMO_GSUP_SM_ALERT_RSN_IE; + imei, tag = OSMO_GSUP_IMEI_IE; + imei_result, tag = OSMO_GSUP_IMEI_RESULT_IE; )" }; @@ -197,7 +216,10 @@ octetstring sm_rp_ui, OCT1 sm_rp_cause, OCT1 sm_rp_mms, - GSUP_SM_ALERT_RSN_Type sm_alert_rsn + GSUP_SM_ALERT_RSN_Type sm_alert_rsn, + + GSUP_IMEI imei, + GSUP_IMEIResult imei_result }; type record GSUP_PDU { @@ -674,6 +696,36 @@ } } +template (value) GSUP_IE ts_GSUP_IE_IMEI_IE(GSUP_IMEI imei) := { + tag := OSMO_GSUP_IMEI_IE, + len := 0, /* overwritten */ + val := { + imei := imei + } +} +template GSUP_IE tr_GSUP_IE_IMEI_IE(template GSUP_IMEI imei) := { + tag := OSMO_GSUP_IMEI_IE, + len := ?, + val := { + imei := imei + } +} + +template (value) GSUP_IE ts_GSUP_IE_IMEI_RESULT_IE(GSUP_IMEIResult result) := { + tag := OSMO_GSUP_IMEI_RESULT_IE, + len := 0, /* overwritten */ + val := { + imei_result := result + } +} +template GSUP_IE tr_GSUP_IE_IMEI_RESULT_IE(template GSUP_IMEIResult result) := { + tag := OSMO_GSUP_IMEI_RESULT_IE, + len := ?, + val := { + imei_result := result + } +} + /* Possible identity types for SM-RP-{OA|DA} IEs */ type enumerated GSUP_SM_RP_ODA_IdType { OSMO_GSUP_SM_RP_ODA_ID_NONE ('00'O), -- To view, visit https://gerrit.osmocom.org/13111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie1ae5c66ad3f9b42b345020de62a0c276cd8d709 Gerrit-Change-Number: 13111 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:24:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:24:28 +0000 Subject: Change in osmo-dev[master]: Add .gitreview In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13109 ) Change subject: Add .gitreview ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 Gerrit-Change-Number: 13109 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Mon, 04 Mar 2019 16:24:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:24:48 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 4 Mar 2019 16:24:48 +0000 Subject: Change in osmo-dev[master]: Add .gitreview In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13109 ) Change subject: Add .gitreview ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 Gerrit-Change-Number: 13109 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 16:24:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:25:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:25:04 +0000 Subject: Change in osmo-pcu[master]: MCS: remove dead code In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13063 ) Change subject: MCS: remove dead code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ieef3b095a6732300e5efa395b989843112b9ca78 Gerrit-Change-Number: 13063 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 16:25:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:25:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:25:12 +0000 Subject: Change in osmo-pcu[master]: MCS: remove dead code In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13063 ) Change subject: MCS: remove dead code ...................................................................... MCS: remove dead code As a preparation for (M)CS fixes in follow-up patches, remove unused operators from GprsCodingScheme class. Change-Id: Ieef3b095a6732300e5efa395b989843112b9ca78 --- M src/gprs_coding_scheme.h 1 file changed, 0 insertions(+), 14 deletions(-) Approvals: Holger Freyther: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 6087416..1acb14b 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -212,20 +212,6 @@ GprsCodingScheme::Scheme(a) < GprsCodingScheme::Scheme(b); } -inline bool operator >(GprsCodingScheme a, GprsCodingScheme b) -{ - return b < a; -} - -inline bool operator <=(GprsCodingScheme a, GprsCodingScheme b) -{ - return a == b || a < b; -} - -inline bool operator >=(GprsCodingScheme a, GprsCodingScheme b) -{ - return a == b || a > b; -} inline GprsCodingScheme::Scheme GprsCodingScheme::get_retx_mcs( const GprsCodingScheme mcs, const GprsCodingScheme demanded_mcs, -- To view, visit https://gerrit.osmocom.org/13063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ieef3b095a6732300e5efa395b989843112b9ca78 Gerrit-Change-Number: 13063 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:25:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 16:25:22 +0000 Subject: Change in docker-playground[master]: make/Makefile: allow overriding OSMO_TTCN3_BRANCH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13110 ) Change subject: make/Makefile: allow overriding OSMO_TTCN3_BRANCH ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/13110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 Gerrit-Change-Number: 13110 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 04 Mar 2019 16:25:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:25:26 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 Mar 2019 16:25:26 +0000 Subject: Change in docker-playground[master]: make/Makefile: allow overriding OSMO_TTCN3_BRANCH In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13110 ) Change subject: make/Makefile: allow overriding OSMO_TTCN3_BRANCH ...................................................................... make/Makefile: allow overriding OSMO_TTCN3_BRANCH Set the OSMO_TTCN3_BRANCH build argument from ttcn3-*/Dockerfile from the environment variable of the same name, so it can be changed when building the images with 'make' or './jenkins.sh'. Dockerfiles that do not have a OSMO_TCCN3_BRANCH build arg produce a warning. But this is also the case with Dockerfiles that don't have an USER build arg, and avoiding the warning would only be possible with a much more complex patch. Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 --- M README.md M make/Makefile 2 files changed, 6 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved osmith: Verified diff --git a/README.md b/README.md index adb6420..4977256 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,9 @@ * `IMAGE_SUFFIX`: the version of the Osmocom stack to run the testsuite against. Default is `master`, set this to `latest` to test the last stable releases. +* `OSMO_TTCN3_BRANCH`: [osmo-ttcn3-hacks.git](https://git.osmocom.org/osmo-ttcn3-hacks/) + branch, which will be used when building a `ttcn3-*` docker image. + Defaults to `master`. * `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the containers (see "caching" below) diff --git a/make/Makefile b/make/Makefile index 5bbdbb7..2321fcf 100644 --- a/make/Makefile +++ b/make/Makefile @@ -16,6 +16,7 @@ REGISTRY_HOST?=docker.io USERNAME?=$(USER) NAME?=$(shell basename $(CURDIR)) +OSMO_TTCN3_BRANCH?=master RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) @@ -39,7 +40,8 @@ docker-build: .release - docker build --build-arg USER=$(USERNAME) -t $(IMAGE):latest . + docker build --build-arg USER=$(USERNAME) --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ + -t $(IMAGE):latest . @DOCKER_MAJOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f1) ; \ DOCKER_MINOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f2) ; \ -- To view, visit https://gerrit.osmocom.org/13110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 Gerrit-Change-Number: 13110 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:11 +0000 Subject: Change in osmo-remsim[master]: Add dotty graphs on osmo-remsim to 'doc' subdirectory In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13103 ) Change subject: Add dotty graphs on osmo-remsim to 'doc' subdirectory ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib0478f1afb17c490cc3ac5a7bbbe3f4de1b30406 Gerrit-Change-Number: 13103 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 04 Mar 2019 16:26:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:12 +0000 Subject: Change in osmo-remsim[master]: update .gitignore to include .libs and executable names In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13102 ) Change subject: update .gitignore to include .libs and executable names ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46baac93985c4a608738e85e2bcc65b94937e6db Gerrit-Change-Number: 13102 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 04 Mar 2019 16:26:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:15 +0000 Subject: Change in osmo-remsim[master]: rspro_util.c: Set pdu version to 2 for all generator functions In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11352 ) Change subject: rspro_util.c: Set pdu version to 2 for all generator functions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/11352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83b87875b81491217315390f9ccefeeb39fb610b Gerrit-Change-Number: 11352 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 04 Mar 2019 16:26:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:17 +0000 Subject: Change in osmo-remsim[master]: rspro_server_conn: Add handle_rx() call-back In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11351 ) Change subject: rspro_server_conn: Add handle_rx() call-back ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/11351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5f410aa6071c9a987c2811f22fb2f3ff018b3cc1 Gerrit-Change-Number: 11351 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 04 Mar 2019 16:26:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:19 +0000 Subject: Change in osmo-remsim[master]: rspro_server_conn: Add handle_rx() call-back In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11351 ) Change subject: rspro_server_conn: Add handle_rx() call-back ...................................................................... rspro_server_conn: Add handle_rx() call-back This call-back receives all already-decoded RSPRO PDUs from the server. Change-Id: I5f410aa6071c9a987c2811f22fb2f3ff018b3cc1 --- M src/client.h M src/remsim_client_fsm.c 2 files changed, 9 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/client.h b/src/client.h index d85e647..6918560 100644 --- a/src/client.h +++ b/src/client.h @@ -2,6 +2,7 @@ #include #include +#include #include "rspro_util.h" #include "debug.h" @@ -23,11 +24,14 @@ SRVC_E_CLIENT_CONN_RES, }; +struct rspro_server_conn; + /* representing a client-side connection to a RSPRO server */ struct rspro_server_conn { /* state */ struct ipa_client_conn *conn; struct osmo_fsm_inst *fi; + int (*handle_rx)(struct rspro_server_conn *conn, RsproPDU_t *pdu); /* our own component ID */ struct app_comp_id own_comp_id; diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c index 8711934..0776937 100644 --- a/src/remsim_client_fsm.c +++ b/src/remsim_client_fsm.c @@ -269,6 +269,7 @@ struct ipaccess_head *hh = (struct ipaccess_head *) msg->data; struct ipaccess_head_ext *he = (struct ipaccess_head_ext *) msgb_l2(msg); struct rspro_server_conn *srvc = conn->data; + RsproPDU_t *pdu; int rc; if (msgb_length(msg) < sizeof(*hh)) @@ -284,12 +285,12 @@ goto invalid; printf("Received RSPRO %s\n", msgb_hexdump(msg)); -#if 0 - rc = bankd_handle_msg(srvc, msg); - msgb_free(msg); + pdu = rspro_dec_msg(msg); + if (!pdu) + goto invalid; + rc = srvc->handle_rx(srvc, pdu); return rc; -#endif invalid: msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/11351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5f410aa6071c9a987c2811f22fb2f3ff018b3cc1 Gerrit-Change-Number: 11351 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:19 +0000 Subject: Change in osmo-remsim[master]: rspro_util.c: Set pdu version to 2 for all generator functions In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11352 ) Change subject: rspro_util.c: Set pdu version to 2 for all generator functions ...................................................................... rspro_util.c: Set pdu version to 2 for all generator functions Change-Id: I83b87875b81491217315390f9ccefeeb39fb610b --- M src/rspro_util.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/rspro_util.c b/src/rspro_util.c index 0452728..970aca5 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -103,6 +103,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_connectBankReq; fill_comp_id(&pdu->msg.choice.connectBankReq.identity, a_cid); pdu->msg.choice.connectBankReq.bankId = bank_id; @@ -116,6 +117,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_connectClientReq; fill_comp_id(&pdu->msg.choice.connectClientReq.identity, a_cid); if (client) @@ -143,6 +145,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_createMappingReq; pdu->msg.choice.createMappingReq.client = *client; pdu->msg.choice.createMappingReq.bank = *bank; @@ -155,6 +158,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_configClientReq; pdu->msg.choice.configClientReq.clientSlot = *client; fill_ip4_port(&pdu->msg.choice.configClientReq.bankd, ip, port); @@ -168,6 +172,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_setAtrReq; pdu->msg.choice.setAtrReq.slot.clientId = client_id; pdu->msg.choice.setAtrReq.slot.slotNr = slot_nr; @@ -182,6 +187,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_tpduModemToCard; OSMO_ASSERT(client); pdu->msg.choice.tpduModemToCard.fromClientSlot = *client; @@ -199,6 +205,7 @@ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); if (!pdu) return NULL; + pdu->version = 2; pdu->msg.present = RsproPDUchoice_PR_tpduCardToModem; OSMO_ASSERT(bank); pdu->msg.choice.tpduCardToModem.fromBankSlot = *bank; -- To view, visit https://gerrit.osmocom.org/11352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I83b87875b81491217315390f9ccefeeb39fb610b Gerrit-Change-Number: 11352 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:20 +0000 Subject: Change in osmo-remsim[master]: add rspro_gen_{Remove, Create}Mapping{Req, Res}() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11353 ) Change subject: add rspro_gen_{Remove,Create}Mapping{Req,Res}() ...................................................................... add rspro_gen_{Remove,Create}Mapping{Req,Res}() Change-Id: If86d34a1e723b7202b5fa2c40ea1d0b152381773 --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 40 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/rspro_util.c b/src/rspro_util.c index 970aca5..c8f4589 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -153,6 +153,43 @@ return pdu; } +RsproPDU_t *rspro_gen_CreateMappingRes(e_ResultCode res) +{ + RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); + if (!pdu) + return NULL; + pdu->version = 2; + pdu->msg.present = RsproPDUchoice_PR_createMappingRes; + pdu->msg.choice.createMappingRes.result = res; + + return pdu; +} + +RsproPDU_t *rspro_gen_RemoveMappingReq(const ClientSlot_t *client, const BankSlot_t *bank) +{ + RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); + if (!pdu) + return NULL; + pdu->version = 2; + pdu->msg.present = RsproPDUchoice_PR_removeMappingReq; + pdu->msg.choice.removeMappingReq.client = *client; + pdu->msg.choice.removeMappingReq.bank = *bank; + + return pdu; +} + +RsproPDU_t *rspro_gen_RemoveMappingRes(e_ResultCode res) +{ + RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); + if (!pdu) + return NULL; + pdu->version = 2; + pdu->msg.present = RsproPDUchoice_PR_removeMappingRes; + pdu->msg.choice.removeMappingRes.result = res; + + return pdu; +} + RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port) { RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); diff --git a/src/rspro_util.h b/src/rspro_util.h index 5411a48..bb2cf00 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -25,6 +25,9 @@ RsproPDU_t *rspro_gen_ConnectClientReq(const struct app_comp_id *a_cid, const ClientSlot_t *client); RsproPDU_t *rspro_gen_ConnectClientRes(const struct app_comp_id *a_cid, e_ResultCode res); RsproPDU_t *rspro_gen_CreateMappingReq(const ClientSlot_t *client, const BankSlot_t *bank); +RsproPDU_t *rspro_gen_CreateMappingRes(e_ResultCode res); +RsproPDU_t *rspro_gen_RemoveMappingReq(const ClientSlot_t *client, const BankSlot_t *bank); +RsproPDU_t *rspro_gen_RemoveMappingRes(e_ResultCode res); RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port); RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr, unsigned int atr_len); -- To view, visit https://gerrit.osmocom.org/11353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If86d34a1e723b7202b5fa2c40ea1d0b152381773 Gerrit-Change-Number: 11353 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:20 +0000 Subject: Change in osmo-remsim[master]: update .gitignore to include .libs and executable names In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13102 ) Change subject: update .gitignore to include .libs and executable names ...................................................................... update .gitignore to include .libs and executable names Change-Id: I46baac93985c4a608738e85e2bcc65b94937e6db --- M .gitignore 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 281367f..d543602 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *~ .*.swp .deps +.libs .version .tarball-version autom4te.cache @@ -27,3 +28,8 @@ tags m4 gen_rspro.stamp + +src/pcsc_test +src/remsim-bankd +src/remsim-client +src/simtrace2-remsim-client -- To view, visit https://gerrit.osmocom.org/13102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I46baac93985c4a608738e85e2bcc65b94937e6db Gerrit-Change-Number: 13102 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 4 Mar 2019 16:26:20 +0000 Subject: Change in osmo-remsim[master]: Add dotty graphs on osmo-remsim to 'doc' subdirectory In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13103 ) Change subject: Add dotty graphs on osmo-remsim to 'doc' subdirectory ...................................................................... Add dotty graphs on osmo-remsim to 'doc' subdirectory Change-Id: Ib0478f1afb17c490cc3ac5a7bbbe3f4de1b30406 --- A doc/osmo-remsim-simple.dot A doc/osmo-remsim.dot A doc/remote-sim.dot 3 files changed, 96 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/doc/osmo-remsim-simple.dot b/doc/osmo-remsim-simple.dot new file mode 100644 index 0000000..1757502 --- /dev/null +++ b/doc/osmo-remsim-simple.dot @@ -0,0 +1,23 @@ +digraph { + rankdir=LR; + + subgraph cluster_0 { + label="Data Center"; + SIM [shape=rect]; + Reader [shape=rect]; + bankd [label="remsim-bankd"]; + } + + subgraph cluster_1 { + label="Remote Site"; + client [label="remsim-client"]; + SIMtrace [label="SIMtrace2\nAPP=cardem",shape=rect]; + Phone [label="Phone/Modem",shape=rect]; + } + + SIM -> Reader [label="ISO-7816-2/3",dir=both]; + Reader -> bankd [label="USB CCID",dir=both]; + bankd -> client [label="RSPRO/IPA/TCP/IP",dir=both]; + client -> SIMtrace [label="USB",dir=both]; + SIMtrace -> Phone [label="ISO-7816-2/3",dir=both]; +} diff --git a/doc/osmo-remsim.dot b/doc/osmo-remsim.dot new file mode 100644 index 0000000..c1cd911 --- /dev/null +++ b/doc/osmo-remsim.dot @@ -0,0 +1,58 @@ +digraph { + rankdir=LR; + + subgraph cluster_0 { + label="Data Center"; + SIM0 [shape=rect]; + SIM1 [shape=rect]; + SIM2 [shape=rect]; + SIM3 [shape=rect]; + SIM4 [shape=rect]; + SIM5 [shape=rect]; + SIM6 [shape=rect]; + SIM7 [shape=rect]; + sysmoOCTSIM [shape=rect]; + { + rank=same; + bankd [label="remsim-bankd"]; + server [label="remsim-server"]; + } + + SIM0 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM1 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM2 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM3 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM4 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM5 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM6 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + SIM7 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; + + sysmoOCTSIM -> bankd [label="USB CCID",dir=both]; + + bankd -> server [label="RSPRO/IPA/TCP"]; + } + + subgraph cluster_1 { + label="Remote Site A"; + client1 [label="remsim-client"]; + SIMtrace1 [label="SIMtrace2\nAPP=cardem",shape=rect]; + Phone1 [label="Phone/Modem",shape=rect]; + client1 -> SIMtrace1 [label="USB",dir=both]; + SIMtrace1 -> Phone1 [label="ISO-7816-2/3",dir=both]; + bankd -> client1 [label="RSPRO/IPA/TCP/IP",dir=both]; + client1 -> server [label="RSPRO/IPA/TCP"]; + } + + subgraph cluster_2 { + label="Remote Site B"; + client2 [label="remsim-client"]; + SIMtrace2 [label="SIMtrace2\nAPP=cardem",shape=rect]; + Phone2 [label="Phone/Modem",shape=rect]; + client2 -> SIMtrace2 [label="USB",dir=both]; + SIMtrace2 -> Phone2 [label="ISO-7816-2/3",dir=both]; + bankd -> client2 [label="RSPRO/IPA/TCP/IP",dir=both]; + client2 -> server [label="RSPRO/IPA/TCP"]; + } + + +} diff --git a/doc/remote-sim.dot b/doc/remote-sim.dot new file mode 100644 index 0000000..70f26d7 --- /dev/null +++ b/doc/remote-sim.dot @@ -0,0 +1,15 @@ +digraph { + rankdir=LR; + SIM [shape=rect]; + Reader [shape=rect]; + Computer [shape=rect]; + ComputerB [shape=rect]; + SIMtrace [shape=rect]; + Phone [shape=rect]; + + SIM -> Reader [label="ISO-7816-2/3",dir=both]; + Reader -> Computer [label="USB CCID",dir=both]; + Computer -> ComputerB [label="IP based transport",dir=both]; + ComputerB -> SIMtrace [label="USB",dir=both]; + SIMtrace -> Phone [label="ISO-7816-2/3",dir=both]; +} -- To view, visit https://gerrit.osmocom.org/13103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib0478f1afb17c490cc3ac5a7bbbe3f4de1b30406 Gerrit-Change-Number: 13103 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 16:26:37 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 4 Mar 2019 16:26:37 +0000 Subject: Change in docker-playground[master]: make/Makefile: allow overriding OSMO_TTCN3_BRANCH In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13110 ) Change subject: make/Makefile: allow overriding OSMO_TTCN3_BRANCH ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684 Gerrit-Change-Number: 13110 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 04 Mar 2019 16:26:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 18:03:02 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 18:03:02 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13108 ) Change subject: net/: refactor cfg templates ...................................................................... Patch Set 3: you're right of course (I'm being lazy since this is "just" our personal playground and I feel a bit like I own it anyway... trying to keep time spent on it low) -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 04 Mar 2019 18:03:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 18:03:57 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 18:03:57 +0000 Subject: Change in osmo-dev[master]: Add .gitreview In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13109 ) Change subject: Add .gitreview ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 Gerrit-Change-Number: 13109 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 04 Mar 2019 18:03:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 19:33:25 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 4 Mar 2019 19:33:25 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: Use proper SDK for OC2G builds Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13112 Change subject: contrib: Use proper SDK for OC2G builds ...................................................................... contrib: Use proper SDK for OC2G builds Binaries produced by sysmobts SDK are not compatible with OC2G. Change-Id: I5adde9cf8a5f84cfc4b6fc4d4def3836444929ec --- M contrib/jenkins-build-osmo-bts-oc2g.sh M contrib/jenkins-build-osmo-pcu-oc2g.sh 2 files changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/12/13112/1 diff --git a/contrib/jenkins-build-osmo-bts-oc2g.sh b/contrib/jenkins-build-osmo-bts-oc2g.sh index 9ed2099..c4357f0 100755 --- a/contrib/jenkins-build-osmo-bts-oc2g.sh +++ b/contrib/jenkins-build-osmo-bts-oc2g.sh @@ -1,16 +1,16 @@ #!/bin/sh set -e -x -_poky_version="$POKY_VERSION" -_poky_path="$POKY_PATH" +_poky_version="$POKY_OC2G_VERSION" +_poky_path="$POKY_OC2G_PATH" -[ -z "$_poky_version" ] && _poky_version="2.3.2" -[ -z "$_poky_path" ] && _poky_path="/opt/poky/$_poky_version" +[ -z "$_poky_version" ] && _poky_version="2.3.4" +[ -z "$_poky_path" ] && _poky_path="/opt/poky-oc2g/$_poky_version" -. "$_poky_path/environment-setup-armv5te-poky-linux-gnueabi" +. "$_poky_path/environment-setup-cortexa15hf-neon-poky-linux-gnueabi" # Cross-compilation: all installations need to be put in the sysmo SDK sysroot -export DESTDIR="$_poky_path/sysroots/armv5te-poky-linux-gnueabi" +export DESTDIR="$_poky_path/sysroots/cortexa15hf-neon-poky-linux-gnueabi" base="$PWD" name="osmo-bts-oc2g" diff --git a/contrib/jenkins-build-osmo-pcu-oc2g.sh b/contrib/jenkins-build-osmo-pcu-oc2g.sh index 2164926..c10b14e 100755 --- a/contrib/jenkins-build-osmo-pcu-oc2g.sh +++ b/contrib/jenkins-build-osmo-pcu-oc2g.sh @@ -1,16 +1,16 @@ #!/bin/sh set -e -x -_poky_version="$POKY_VERSION" -_poky_path="$POKY_PATH" +_poky_version="$POKY_OC2G_VERSION" +_poky_path="$POKY_OC2G_PATH" -[ -z "$_poky_version" ] && _poky_version="2.3.2" -[ -z "$_poky_path" ] && _poky_path="/opt/poky/$_poky_version" +[ -z "$_poky_version" ] && _poky_version="2.3.4" +[ -z "$_poky_path" ] && _poky_path="/opt/poky-oc2g/$_poky_version" -. "$_poky_path/environment-setup-armv5te-poky-linux-gnueabi" +. "$_poky_path/environment-setup-cortexa15hf-neon-poky-linux-gnueabi" # Cross-compilation: all installations need to be put in the sysmo SDK sysroot -export DESTDIR="$_poky_path/sysroots/armv5te-poky-linux-gnueabi" +export DESTDIR="$_poky_path/sysroots/cortexa15hf-neon-poky-linux-gnueabi" base="$PWD" name="osmo-pcu-oc2g" -- To view, visit https://gerrit.osmocom.org/13112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5adde9cf8a5f84cfc4b6fc4d4def3836444929ec Gerrit-Change-Number: 13112 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 19:48:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 4 Mar 2019 19:48:56 +0000 Subject: Change in osmo-gsm-tester[master]: Integrate osmo-{bts,pcu}-oc2g Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13113 Change subject: Integrate osmo-{bts,pcu}-oc2g ...................................................................... Integrate osmo-{bts,pcu}-oc2g Change-Id: I446e27039f75e63c2870d751c190a4fd76947000 --- M example/defaults.conf M example/resources.conf.prod A example/scenarios/oc2g.conf A src/osmo_gsm_tester/bts_oc2g.py A src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/resource.py A src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl 7 files changed, 321 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/13/13113/1 diff --git a/example/defaults.conf b/example/defaults.conf index 3de5e29..852a52f 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -87,3 +87,6 @@ osmo_bts_virtual: max_trx: 1 + +osmo_bts_oc2g: + max_trx: 1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index e6ade3a..7383ea5 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -116,6 +116,16 @@ addr: 10.42.42.55 band: GSM-1800 +- label: OC-2G + type: osmo-bts-oc2g + ipa_unit_id: 14 + addr: 10.42.42.100 + band: GSM-900 + direct_pcu: true + ciphers: [a5_0, a5_1, a5_3] + trx_list: + - max_power_red: 10 + arfcn: - arfcn: 512 band: GSM-1800 diff --git a/example/scenarios/oc2g.conf b/example/scenarios/oc2g.conf new file mode 100644 index 0000000..884e46b --- /dev/null +++ b/example/scenarios/oc2g.conf @@ -0,0 +1,3 @@ +resources: + bts: + - type: osmo-bts-oc2g diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py new file mode 100644 index 0000000..ec4ed3d --- /dev/null +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -0,0 +1,137 @@ +# osmo_gsm_tester: specifics for running a osmo-bts-oc2g +# +# Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os +import pprint +from . import log, config, util, template, process, pcu_oc2g, bts_osmo + +class OsmoBtsOC2G(bts_osmo.OsmoBts): +############## +# PROTECTED +############## + + REMOTE_DIR = '/osmo-gsm-tester-bts' + BTS_OC2G_BIN = 'osmo-bts-oc2g' + BTS_OC2G_CFG = 'osmo-bts-oc2g.cfg' + + def __init__(self, suite_run, conf): + super().__init__(suite_run, conf, OsmoBtsOC2G.BTS_OC2G_BIN, 'osmo_bts_oc2g') + self.run_dir = None + self.inst = None + self.remote_inst = None + self.remote_dir = None + self.remote_user = 'root' + + def _direct_pcu_enabled(self): + return util.str2bool(self.conf.get('direct_pcu')) + + def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): + run_dir = self.run_dir.new_dir(name) + proc = process.RemoteProcess(name, run_dir, self.remote_user, self.remote_addr(), remote_cwd, + popen_args) + self.suite_run.remember_to_stop(proc, keepalive) + proc.launch() + return proc + + def create_pcu(self): + return pcu_oc2g.OsmoPcuOC2G(self.suite_run, self, self.conf) + + def configure(self): + if self.bsc is None: + raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be configured') + + self.config_file = self.run_dir.new_file(OsmoBtsOC2G.BTS_OC2G_CFG) + self.dbg(config_file=self.config_file) + + values = { 'osmo_bts_oc2g': config.get_defaults('osmo_bts_oc2g') } + config.overlay(values, self.suite_run.config()) + config.overlay(values, { + 'osmo_bts_oc2g': { + 'oml_remote_ip': self.bsc.addr(), + 'pcu_socket_path': self.pcu_socket_path(), + } + }) + config.overlay(values, { 'osmo_bts_oc2g': self.conf }) + + self.dbg('OSMO-BTS-OC2G CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(OsmoBtsOC2G.BTS_OC2G_CFG, values) + self.dbg(r) + f.write(r) + +######################## +# PUBLIC - INTERNAL API +######################## + def pcu_socket_path(self): + return os.path.join(OsmoBtsOC2G.REMOTE_DIR, 'pcu_bts') + + def conf_for_bsc(self): + values = self.conf_for_bsc_prepare() + # Hack until we have proper ARFCN resource allocation support (OS#2230) + band = values.get('band') + trx_list = values.get('trx_list') + if band == 'GSM-900': + for trx_i in range(len(trx_list)): + config.overlay(trx_list[trx_i], { 'arfcn' : str(50 + trx_i * 2) }) + self.dbg(conf=values) + return values + +################### +# PUBLIC (test API included) +################### + # We get log from ssh stdout instead of usual stderr. + def ready_for_pcu(self): + if not self.proc_bts or not self.proc_bts.is_running: + return False + return 'BTS is up' in (self.proc_bts.get_stdout() or '') + + def start(self, keepalive=False): + if self.bsc is None: + raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') + log.log('Starting OsmoBtsOC2G to connect to', self.bsc) + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) + lib = self.inst.child('lib') + if not os.path.isdir(lib): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', OsmoBtsOC2G.BTS_OC2G_BIN): + raise log.Error('No osmo-bts-oc2g binary in', self.inst) + + remote_run_dir = util.Dir(OsmoBtsOC2G.REMOTE_DIR) + + self.remote_inst = process.copy_inst_ssh(self.run_dir, self.inst, remote_run_dir, self.remote_user, + self.remote_addr(), OsmoBtsOC2G.BTS_OC2G_BIN, self.config_file) + + remote_config_file = remote_run_dir.child(OsmoBtsOC2G.BTS_OC2G_CFG) + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', 'osmo-bts-oc2g') + + args = ('LD_LIBRARY_PATH=%s' % remote_lib, + remote_binary, '-c', remote_config_file, '-r', '1', + '-i', self.bsc.addr()) + + if self._direct_pcu_enabled(): + args += ('-M',) + + self.proc_bts = self.launch_remote('osmo-bts-oc2g', args, remote_cwd=remote_run_dir, keepalive=keepalive) + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py new file mode 100644 index 0000000..b0572f4 --- /dev/null +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -0,0 +1,125 @@ +# osmo_gsm_tester: specifics for running a osmo-pcu for OC-2G +# +# Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os +import pprint +from . import log, config, util, template, process + +class OsmoPcuOC2G(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-pcu' + PCU_OC2G_BIN = 'osmo-pcu' + PCU_OC2G_CFG = 'osmo-pcu-oc2g.cfg' + + def __init__(self, suite_run, btsoc2g, conf): + super().__init__(log.C_RUN, self.PCU_OC2G_BIN) + self.run_dir = None + self.bsc = None + self.inst = None + self.remote_inst = None + self.remote_dir = None + self.btsoc2g = None + self.suite_run = suite_run + self.btsoc2g = btsoc2g + self.conf = conf + self.remote_env = {} + self.remote_user = 'root' + + def start(self, keepalive=False): + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu-oc2g'))) + lib = self.inst.child('lib') + if not os.path.isdir(lib): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', OsmoPcuOC2G.PCU_OC2G_BIN): + raise log.Error('No osmo-pcu-oc2g binary in', self.inst) + + self.remote_dir = util.Dir(OsmoPcuOC2G.REMOTE_DIR) + self.remote_inst = util.Dir(self.remote_dir.child(os.path.basename(str(self.inst)))) + + self.run_remote('rm-remote-dir', ('test', '!', '-d', OsmoPcuOC2G.REMOTE_DIR, '||', 'rm', '-rf', OsmoPcuOC2G.REMOTE_DIR)) + self.run_remote('mk-remote-dir', ('mkdir', '-p', OsmoPcuOC2G.REMOTE_DIR)) + self.run_local('scp-inst-to-btsoc2g', + ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), str(self.remote_inst)))) + + remote_run_dir = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_BIN) + self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir)) + + remote_config_file = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_CFG) + self.run_local('scp-cfg-to-btsoc2g', + ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), remote_config_file))) + + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', OsmoPcuOC2G.PCU_OC2G_BIN) + self.launch_remote(OsmoPcuOC2G.PCU_OC2G_BIN, + ('LD_LIBRARY_PATH=%s' % remote_lib, + remote_binary, '-c', remote_config_file, '-r', '1', + '-i', self.btsoc2g.bsc.addr()), + remote_cwd=remote_run_dir, keepalive=keepalive) + + def _process_remote(self, name, popen_args, remote_cwd=None): + run_dir = self.run_dir.new_dir(name) + return process.RemoteProcess(name, run_dir, self.remote_user, self.btsoc2g.remote_addr(), remote_cwd, + popen_args) + + def run_remote(self, name, popen_args, remote_cwd=None): + proc = self._process_remote(name, popen_args, remote_cwd) + proc.launch() + proc.wait() + if proc.result != 0: + log.ctx(proc) + raise log.Error('Exited in error') + + def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): + proc = self._process_remote(name, popen_args, remote_cwd) + self.suite_run.remember_to_stop(proc, keepalive) + proc.launch() + + def run_local(self, name, popen_args): + run_dir = self.run_dir.new_dir(name) + proc = process.Process(name, run_dir, popen_args) + proc.launch() + proc.wait() + if proc.result != 0: + log.ctx(proc) + raise log.Error('Exited in error') + + def configure(self): + self.config_file = self.run_dir.new_file(OsmoPcuOC2G.PCU_OC2G_CFG) + self.dbg(config_file=self.config_file) + + values = { 'osmo_pcu_oc2g': config.get_defaults('osmo_pcu_oc2g') } + config.overlay(values, self.suite_run.config()) + config.overlay(values, { + 'osmo_pcu_oc2g': { + 'pcu_socket_path': self.btsoc2g.pcu_socket_path() + } + }) + config.overlay(values, { 'osmo_pcu_oc2g': self.conf }) + + self.dbg('OSMO-PCU-OC2G CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(OsmoPcuOC2G.PCU_OC2G_CFG, values) + self.dbg(r) + f.write(r) + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 98651ce..2f375cb 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -26,7 +26,7 @@ from . import config from . import util from . import schema -from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts +from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from .util import is_dict, is_list @@ -98,6 +98,7 @@ KNOWN_BTS_TYPES = { 'osmo-bts-sysmo': bts_sysmo.SysmoBts, 'osmo-bts-trx': bts_osmotrx.OsmoBtsTrx, + 'osmo-bts-oc2g': bts_oc2g.OsmoBtsOC2G, 'osmo-bts-octphy': bts_octphy.OsmoBtsOctphy, 'osmo-bts-virtual': bts_osmovirtual.OsmoBtsVirtual, 'nanobts': bts_nanobts.NanoBts, diff --git a/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl new file mode 100644 index 0000000..c2821de --- /dev/null +++ b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl @@ -0,0 +1,41 @@ +! Configuration rendered by osmo-gsm-tester +log stderr + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging level abis debug + logging level oml debug + logging level pag debug + logging level rll debug + logging level rr debug + logging level rsl debug + ! Level required by ready_for_pcu(): pcu info + logging level pcu info +! +line vty + bind ${osmo_bts_oc2g.addr} +ctrl + bind ${osmo_bts_oc2g.addr} +! +phy 0 + instance 0 +bts 0 + band ${osmo_bts_oc2g.band} + ipa unit-id ${osmo_bts_oc2g.ipa_unit_id} 0 + oml remote-ip ${osmo_bts_oc2g.oml_remote_ip} + pcu-socket ${osmo_bts_oc2g.pcu_socket_path} + gsmtap-sapi bcch + gsmtap-sapi ccch + gsmtap-sapi rach + gsmtap-sapi agch + gsmtap-sapi pch + gsmtap-sapi sdcch + gsmtap-sapi tch/f + gsmtap-sapi tch/h + gsmtap-sapi pacch + gsmtap-sapi pdtch + gsmtap-sapi ptcch + gsmtap-sapi cbch + gsmtap-sapi sacch + trx 0 + phy 0 instance 0 -- To view, visit https://gerrit.osmocom.org/13113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I446e27039f75e63c2870d751c190a4fd76947000 Gerrit-Change-Number: 13113 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:27:36 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:27:36 +0000 Subject: Change in osmo-mgw[master]: log: don't spam with "can not patch PT" messages Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13114 Change subject: log: don't spam with "can not patch PT" messages ...................................................................... log: don't spam with "can not patch PT" messages currently, when looking at an osmo-mgw log output with a phone call working completely fine, you see these messages on LOGL_ERROR for each RTP packet: 20190304221420619 DRTP ERROR endpoint:0x0 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420639 DRTP ERROR endpoint:0x1 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420639 DRTP ERROR endpoint:0x0 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420659 DRTP ERROR endpoint:0x1 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420659 DRTP ERROR endpoint:0x0 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) Put these messages on DEBUG level instead. They currently do not convey useful information. Possibly our MGCP clients could use some changes in behavior regarding payload types, but since that topic is quite unresolved, let's not spam the ERROR log level with this. Change-Id: I4afc41fd472ec8ba887b9263fbac62de50d7cef9 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/14/13114/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 33738bc..30ed7fd 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -756,7 +756,7 @@ if (is_rtp) { rc = mgcp_patch_pt(conn_src, conn_dst, buf, len); if (rc < 0) { - LOGP(DRTP, LOGL_ERROR, + LOGP(DRTP, LOGL_DEBUG, "endpoint:0x%x can not patch PT because no suitable egress codec was found.\n", ENDPOINT_NUMBER(endp)); } -- To view, visit https://gerrit.osmocom.org/13114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4afc41fd472ec8ba887b9263fbac62de50d7cef9 Gerrit-Change-Number: 13114 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:27:36 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:27:36 +0000 Subject: Change in osmo-mgw[master]: mgcp client: allow setting conn mode for CRCX and MDCX Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13115 Change subject: mgcp client: allow setting conn mode for CRCX and MDCX ...................................................................... mgcp client: allow setting conn mode for CRCX and MDCX Add conn_mode to struct mgcp_conn_peer, to allow setting an explicit connection mode instead of implicit MGCP_CONN_RECV_ONLY / MGCP_CONN_RECV_SEND depending on remote RTP port presence. Default to old behavior if this is left unset. Rationale: For IuUP Initialization, osmo-msc currently still uses a hack at osmo-mgw to echo the IuUP Initialization back to the sender as an ACK. For sanity checking reasons, this is done iff the CRCX created the CI in loopback mode. So, in order to be able to switch to the mgcp_client_fsm in osmo-msc instead of "manual" MGCP message composition and yet still be able to support IuUP and IuCS, we need to be able to set the conn mode upon CRCX to loopback. If we merged the IuUP patch (which is already on a branch somewhere) to osmo-mgw, we wouldn't bother with this patch, but adding this conn mode choice has these benefits: - post-IuUP-fix osmo-msc versions can interop with older osmo-mgw IuUP for IuCS. - It is conceivable that some MGCP clients prefer explicit conn modes instead of the implicit MGCP_CONN_RECV_ONLY / MGCP_CONN_RECV_SEND choice. This opens the possibility to switch between conn modes with MDCX messages. Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc --- M include/osmocom/mgcp_client/mgcp_client_fsm.h M src/libosmo-mgcp-client/mgcp_client_fsm.c 2 files changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/15/13115/1 diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index bb07872..716a6d4 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -47,6 +47,10 @@ * known to issue incoherent or unknown CallIDs / to issue CRCX commands with a different domain * name than the BSC. An OsmoMGW will then ignore these and not fail on mismatches. */ uint32_t x_osmo_ign; + + /*! If left MGCP_CONN_NONE, use MGCP_CONN_RECV_ONLY or MGCP_CONN_RECV_SEND, depending on whether an audio RTP + * address is set. If != MGCP_CONN_NONE, force this conn mode. */ + enum mgcp_connection_mode conn_mode; }; struct osmo_fsm_inst *mgcp_conn_create(struct mgcp_client *mgcp, struct osmo_fsm_inst *parent_fi, uint32_t parent_term_evt, diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index da900c5..7c4e081 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -134,6 +134,13 @@ mgcp_msg->conn_mode = MGCP_CONN_RECV_SEND; } +static void set_conn_mode(struct mgcp_msg *mgcp_msg, struct mgcp_conn_peer *peer) +{ + enum mgcp_connection_mode conn_mode = peer->conn_mode; + if (conn_mode != MGCP_CONN_NONE) + mgcp_msg->conn_mode = conn_mode; +} + static struct msgb *make_mdcx_msg(struct mgcp_ctx *mgcp_ctx) { struct mgcp_msg mgcp_msg; @@ -155,6 +162,8 @@ memcpy(mgcp_msg.codecs, mgcp_ctx->conn_peer_local.codecs, sizeof(mgcp_msg.codecs)); memcpy(mgcp_msg.ptmap, mgcp_ctx->conn_peer_local.ptmap, sizeof(mgcp_msg.ptmap)); + set_conn_mode(&mgcp_msg, &mgcp_ctx->conn_peer_local); + /* Note: We take the endpoint and the call_id from the remote * connection info, because we can be confident that the * information there is valid. For the local info, we explicitly @@ -199,6 +208,8 @@ make_crcx_msg(&mgcp_msg, &mgcp_ctx->conn_peer_local); if (mgcp_ctx->conn_peer_local.port) add_audio(&mgcp_msg, &mgcp_ctx->conn_peer_local); + set_conn_mode(&mgcp_msg, &mgcp_ctx->conn_peer_local); + msg = mgcp_msg_gen(mgcp_ctx->mgcp, &mgcp_msg); OSMO_ASSERT(msg); -- To view, visit https://gerrit.osmocom.org/13115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc Gerrit-Change-Number: 13115 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:27:36 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:27:36 +0000 Subject: Change in osmo-mgw[master]: make codec_table public as osmo_mgcpc_codec_names Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13116 Change subject: make codec_table public as osmo_mgcpc_codec_names ...................................................................... make codec_table public as osmo_mgcpc_codec_names These value_string[]s are also useful for printing chosen codecs in osmo-msc. Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa --- M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c 2 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/16/13116/1 diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 98e58d7..e09a446 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -47,6 +47,10 @@ * this is an internal assumption that is made to avoid lookup tables. * The API-User should not rely on this coincidence! */ +extern const struct value_string osmo_mgcpc_codec_names[]; +static inline const char *osmo_mgcpc_codec_name(enum mgcp_codecs val) +{ return get_value_string(osmo_mgcpc_codec_names, val); } + /*! Structure to build a payload type map to allow the defiition custom payload * types. */ struct ptmap { diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 29acd0a..ead3512 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -37,7 +37,7 @@ #include /* Codec descripton for dynamic payload types (SDP) */ -static const struct value_string codec_table[] = { +const struct value_string osmo_mgcpc_codec_names[] = { { CODEC_PCMU_8000_1, "PCMU/8000/1" }, { CODEC_GSM_8000_1, "GSM/8000/1" }, { CODEC_PCMA_8000_1, "PCMA/8000/1" }, @@ -81,12 +81,12 @@ osmo_strlcpy(str_buf, extract_codec_name(str), sizeof(str_buf)); - for (i = 0; i < ARRAY_SIZE(codec_table); i++) { - codec_name = extract_codec_name(codec_table[i].str); + for (i = 0; i < ARRAY_SIZE(osmo_mgcpc_codec_names); i++) { + codec_name = extract_codec_name(osmo_mgcpc_codec_names[i].str); if (!codec_name) continue; if (strcmp(codec_name, str_buf) == 0) - return codec_table[i].value; + return osmo_mgcpc_codec_names[i].value; } return -1; @@ -978,7 +978,7 @@ rc += msgb_printf(msg, " a:"); for (i = 0; i < mgcp_msg->codecs_len; i++) { pt = mgcp_msg->codecs[i]; - codec = get_value_string_or_null(codec_table, pt); + codec = get_value_string_or_null(osmo_mgcpc_codec_names, pt); /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ @@ -1058,7 +1058,7 @@ * require to be explained further via rtpmap. All others * are implcitly definedby the number in m=audio */ if (pt >= 96 && pt <= 127) { - codec = get_value_string_or_null(codec_table, mgcp_msg->codecs[i]); + codec = get_value_string_or_null(osmo_mgcpc_codec_names, mgcp_msg->codecs[i]); /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ -- To view, visit https://gerrit.osmocom.org/13116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa Gerrit-Change-Number: 13116 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:54:12 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:54:12 +0000 Subject: Change in osmo-bsc[master]: cosmetic: drop unused struct mgcp_ctx shadow Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13117 Change subject: cosmetic: drop unused struct mgcp_ctx shadow ...................................................................... cosmetic: drop unused struct mgcp_ctx shadow Change-Id: If9c705e9fe6dba9225f7dec045e790af7a875ee8 --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/13117/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4d27a2e..c4315c0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -38,7 +38,6 @@ struct mgcp_client_conf; struct mgcp_client; -struct mgcp_ctx; struct gsm0808_cell_id; struct mgw_endpoint; -- To view, visit https://gerrit.osmocom.org/13117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If9c705e9fe6dba9225f7dec045e790af7a875ee8 Gerrit-Change-Number: 13117 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:56:41 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:56:41 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13118 Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() osmo-msc identifies its BSC and RNC peers by SCCP address, and compares those by memcmp(), which is not really accurate. Rather provide a meaningful osmo_sccp_addr_cmp() API to determine whether SCCP addresses are identical. Go for a full cmp that would also allow sorting. Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 --- M include/osmocom/sigtran/sccp_sap.h M src/sccp_user.c 2 files changed, 111 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/18/13118/1 diff --git a/include/osmocom/sigtran/sccp_sap.h b/include/osmocom/sigtran/sccp_sap.h index 84d762c..f8cb686 100644 --- a/include/osmocom/sigtran/sccp_sap.h +++ b/include/osmocom/sigtran/sccp_sap.h @@ -275,5 +275,8 @@ uint32_t ssn); bool osmo_sccp_check_addr(struct osmo_sccp_addr *addr, uint32_t presence); +int osmo_sccp_addr_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b, uint32_t presence_criteria); +int osmo_sccp_addr_ri_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b); +int osmo_sccp_gt_cmp(const struct osmo_sccp_gt *a, const struct osmo_sccp_gt *b); const char *osmo_sccp_user_name(struct osmo_sccp_user *scu); diff --git a/src/sccp_user.c b/src/sccp_user.c index 8a98e46..f4a1730 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -293,6 +293,114 @@ return true; } +/*! Compare two SCCP Global Titles. + * \param[in] a left side. + * \param[in] b right side. + * \return -1 if a < b, 1 if a > b, and 0 if a == b. + */ +int osmo_sccp_gt_cmp(const struct osmo_sccp_gt *a, const struct osmo_sccp_gt *b) +{ + if (!a) + return b ? -1 : 0; + if (!b) + return a ? 1 : 0; + return memcmp(a, b, sizeof(*a)); +} + +/*! Compare two SCCP addresses by given presence criteria. + * Any OSMO_SCCP_ADDR_T_* type not set in presence_criteria is ignored. + * In case all bits are set in presence_criteria, the comparison is in the order of: + * OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_IPv4, OSMO_SCCP_ADDR_T_IPv6, OSMO_SCCP_ADDR_T_SSN. + * The SCCP addresses' Routing Indicator is not compared, see osmo_sccp_addr_ri_cmp(). + * \param[in] a left side. + * \param[in] b right side. + * \param[in] presence_criteria A bitmask of OSMO_SCCP_ADDR_T_* values, or 0xffffffff to compare all parts, except the + * routing indicator. + * \return -1 if a < b, 1 if a > b, and 0 if all checked values match. + */ +int osmo_sccp_addr_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b, uint32_t presence_criteria) +{ + int rc; + if (!a) + return b ? -1 : 0; + if (!b) + return a ? 1 : 0; + + if (presence_criteria & OSMO_SCCP_ADDR_T_GT) { + if ((a->presence & OSMO_SCCP_ADDR_T_GT) != (b->presence & OSMO_SCCP_ADDR_T_GT)) + return (b->presence & OSMO_SCCP_ADDR_T_GT) ? -1 : 1; + rc = osmo_sccp_gt_cmp(&a->gt, &b->gt); + if (rc) + return rc; + } + + if (presence_criteria & OSMO_SCCP_ADDR_T_PC) { + if ((a->presence & OSMO_SCCP_ADDR_T_PC) != (b->presence & OSMO_SCCP_ADDR_T_PC)) + return (b->presence & OSMO_SCCP_ADDR_T_PC) ? -1 : 1; + + if ((a->presence & OSMO_SCCP_ADDR_T_PC) + && a->pc != b->pc) + return (a->pc < b->pc)? -1 : 1; + } + + if (presence_criteria & OSMO_SCCP_ADDR_T_IPv4) { + if ((a->presence & OSMO_SCCP_ADDR_T_IPv4) != (b->presence & OSMO_SCCP_ADDR_T_IPv4)) + return (b->presence & OSMO_SCCP_ADDR_T_IPv4) ? -1 : 1; + rc = memcmp(&a->ip.v4, &b->ip.v4, sizeof(a->ip.v4)); + } + + if (presence_criteria & OSMO_SCCP_ADDR_T_IPv6) { + if ((a->presence & OSMO_SCCP_ADDR_T_IPv6) != (b->presence & OSMO_SCCP_ADDR_T_IPv6)) + return (b->presence & OSMO_SCCP_ADDR_T_IPv6) ? -1 : 1; + rc = memcmp(&a->ip.v6, &b->ip.v6, sizeof(a->ip.v6)); + } + + if (presence_criteria & OSMO_SCCP_ADDR_T_SSN) { + if ((a->presence & OSMO_SCCP_ADDR_T_SSN) != (b->presence & OSMO_SCCP_ADDR_T_SSN)) + return (b->presence & OSMO_SCCP_ADDR_T_SSN) ? -1 : 1; + if (a->ssn != b->ssn) + return (a->ssn < b->ssn) ? -1 : 1; + } + + return 0; +} + +/*! Compare the routing information of two SCCP addresses. + * Compare the ri of a and b, and, if equal, return osmo_sccp_addr_cmp() with presence criteria selected according to + * ri. + * \param[in] a left side. + * \param[in] b right side. + * \return -1 if a < b, 1 if a > b, and 0 if a == b. + */ +int osmo_sccp_addr_ri_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b) +{ + uint32_t presence_criteria; + if (!a) + return b ? -1 : 0; + if (!b) + return a ? 1 : 0; + if (a->ri != b->ri) + return (a->ri < b->ri) ? -1 : 1; + switch (a->ri) { + case OSMO_SCCP_RI_NONE: + return 0; + case OSMO_SCCP_RI_GT: + presence_criteria = OSMO_SCCP_ADDR_T_GT; + break; + case OSMO_SCCP_RI_SSN_PC: + presence_criteria = OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC; + break; + case OSMO_SCCP_RI_SSN_IP: + /* Pick IPv4 or v6 depending on what a->presence indicates. */ + presence_criteria = OSMO_SCCP_ADDR_T_SSN | (a->presence & (OSMO_SCCP_ADDR_T_IPv4 | OSMO_SCCP_ADDR_T_IPv6)); + break; + default: + return 0; + } + + return osmo_sccp_addr_cmp(a, b, presence_criteria); +} + /*! Compose a human readable string to describe the SCCP user's connection. * The output follows ['':], e.g. "'OsmoHNBW':RI=SSN_PC,PC=0.23.5,SSN=RANAP", * or just "RI=SSN_PC,PC=0.23.5,SSN=RANAP" if no scu->name is set. -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:56:46 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:56:46 +0000 Subject: Change in libosmo-sccp[master]: debug log typo fix Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13119 Change subject: debug log typo fix ...................................................................... debug log typo fix Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd --- M src/sccp_scoc.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/19/13119/1 diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index fbbad49..cb1d567 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -1700,7 +1700,7 @@ int rc = 0; int event; - LOGP(DLSCCP, LOGL_DEBUG, "Received SCCP User Primitive %s)\n", + LOGP(DLSCCP, LOGL_DEBUG, "Received SCCP User Primitive (%s)\n", osmo_scu_prim_name(&prim->oph)); switch (OSMO_PRIM_HDR(&prim->oph)) { -- To view, visit https://gerrit.osmocom.org/13119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd Gerrit-Change-Number: 13119 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 21:57:12 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 21:57:12 +0000 Subject: Change in libosmo-sccp[master]: debug log typo fix in sccp_scoc.c In-Reply-To: References: Message-ID: Neels Hofmeyr has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/13119 ) Change subject: debug log typo fix in sccp_scoc.c ...................................................................... debug log typo fix in sccp_scoc.c Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd --- M src/sccp_scoc.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/19/13119/2 -- To view, visit https://gerrit.osmocom.org/13119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd Gerrit-Change-Number: 13119 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 22:10:17 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 22:10:17 +0000 Subject: Change in libosmocore[master]: api doc: tweak gsm0808_cell_id_matches_list() doc Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13120 Change subject: api doc: tweak gsm0808_cell_id_matches_list() doc ...................................................................... api doc: tweak gsm0808_cell_id_matches_list() doc Change-Id: Ide94558d1c31356483252b83e04b061b4ee4d3bf --- M src/gsm/gsm0808_utils.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/13120/1 diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 606899e..5477598 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1559,7 +1559,8 @@ * \param[in] list Cell Identifier list to search in. * \param[in] match_nr Ignore this many matches. * \param[in] exact_match If true, consider as match only if the CELL_IDENT types and all values are identical. - * \returns -1 if no match is found, list index if a match is found. + * \returns -1 if no match is found, list index if a match is found (i.e. rc == 0 means a match was found on the first + * entry). */ int gsm0808_cell_id_matches_list(const struct gsm0808_cell_id *id, const struct gsm0808_cell_id_list2 *list, unsigned int match_nr, bool exact_match) -- To view, visit https://gerrit.osmocom.org/13120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ide94558d1c31356483252b83e04b061b4ee4d3bf Gerrit-Change-Number: 13120 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 22:10:17 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 22:10:17 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13121 Change subject: add osmo_use_count API ...................................................................... add osmo_use_count API Provide a common implementation of use counting that supports naming each user as well as counting more than just one use per user, depending on the rules the caller implies. In osmo-msc, we were originally using a simple int counter to see whether a connection is still in use or should be discarded. For clarity, we later added names to each user in the form of a bitmask of flags, to figure out exactly which users are still active: for logging and to debug double get / double put bugs. This however is still not adequate, since there may be more than one CM Service Request pending. Also, it is a specialized implementation that is not re-usable. With this generalized implementation, we can: - fix the problem of inadequate counting of multiple concurrent CM Service Requests, - add more than one use count per user category, - use arbitrary names for users instead of enum definitions. Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 --- M include/Makefile.am A include/osmocom/core/use_count.h M src/Makefile.am A src/use_count.c M tests/Makefile.am M tests/testsuite.at A tests/use_count/use_count_test.c A tests/use_count/use_count_test.err A tests/use_count/use_count_test.ok 9 files changed, 980 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/13121/1 diff --git a/include/Makefile.am b/include/Makefile.am index 17f7d1c..6f64fa6 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -52,6 +52,7 @@ osmocom/core/timer_compat.h \ osmocom/core/utils.h \ osmocom/core/write_queue.h \ + osmocom/core/use_count.h \ osmocom/crypt/auth.h \ osmocom/crypt/gprs_cipher.h \ osmocom/ctrl/control_cmd.h \ diff --git a/include/osmocom/core/use_count.h b/include/osmocom/core/use_count.h new file mode 100644 index 0000000..0c22fd4 --- /dev/null +++ b/include/osmocom/core/use_count.h @@ -0,0 +1,176 @@ +/*! \file use_count.h + * Generic object usage counter API (get, put and deallocate on zero count). + */ +/* + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * Author: Neels Hofmeyr + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#pragma once + +#include +#include + +#include + +/*! \defgroup use_count Use Counter + * @{ + * \file use_count.h + */ + +struct osmo_use_count_entry; + +/*! Invoked when a use count changes. + * + * The implementation is free to trigger actions on arbitrary use count changes, typically to free the + * use_count->talloc_object when the total use count reaches zero. + * + * The implementation may modify use_count_entry->count, for example for handling of get()/put() bugs, to clamp specific use + * tokens to specific counts, or to prevent the caller from put()ting into negative counts. When returning an error, + * there is no implicit undo -- if errors need to be corrected, this function is responsible for that. + * + * Be aware: use token strings are not copied, and use count entries usually remain listed also when they reach a zero + * count. This is trivially perfectly ok when using string literals as use tokens. It is also possible to use + * dynamically allocated string tokens, but should a use token string become invalid memory when reaching zero count, it + * is the responsibility of this function to set the use_count_entry->use = NULL; this is required to avoid subsequent + * osmo_use_count_get_put() invocations from calling strcmp() on invalid memory. (Setting use = NULL cannot be done + * implicitly after this callback invocation, because callback implementations are allowed to completely deallocate the + * talloc_object and the use_count list entries.) + * + * \param[in] use_count_entry Use count entry that is being modified. + * \param[in] old_use_count Use count the item had before the change in use count. + * \param[in] file Source file string, passed in as __FILE__ from macro osmo_use_count_get_put(). + * \param[in] line Source file line, passed in as __LINE__ from macro osmo_use_count_get_put(). + * \return 0 on success, negative if any undesired use count is reached; this rc will be returned by + * osmo_use_count_get_put(). + */ +typedef int (* osmo_use_count_cb_t )(struct osmo_use_count_entry *use_count_entry, int32_t old_use_count, + const char *file, int line); + +/*! Use counter state for one used object. + * + * On initialization, typically, set a use_cb and a talloc_object. + * + * The talloc_object is typically a pointer to the object that this struct is a member of. + * + * The use_cb implementation allows to trigger actions when reaching specific use counts, e.g. deallocate when reaching + * a total of zero. + * + * Can be left fully zero initialized (the llist_head use_counts is implicitly initialized upon the first + * osmo_use_count_get_put()). + * + * struct foo { + * struct osmo_use_count use_count; + * }; + * + * // Convenience macros for struct foo instances. These are strict about use count errors. + * #define foo_get(FOO, USE) OSMO_ASSERT( osmo_use_count_get_put(&(FOO)->use_count, USE, 1) == 0 ); + * #define foo_put(FOO, USE) OSMO_ASSERT( osmo_use_count_get_put(&(FOO)->use_count, USE, -1) == 0 ); + * + * int foo_use_cb(struct osmo_use_count_entry *use_count_entry, int32_t old_use_count, const char *file, int line) + * { + * struct foo *foo = use_count_entry->use_count->talloc_object; + * if (osmo_use_count_total(&use_count_entry->use_count) == 0) + * talloc_free(foo); + * } + * + * // The function name is a convenient use token: + * void rx_stop_baz_request(struct foo *foo) + * { + * foo_get(foo, __func__); + * + * foo_put(foo, "baz"); + * printf("Stopped Bazing (%p)\n", foo); + * + * foo_put(foo, __func__); + * } + * + * void use_count_example() + * { + * struct foo *foo = talloc_zero(ctx, struct foo); + * *foo = (struct foo){ + * .use_count = { + * .talloc_object = foo, + * .use_cb = foo_use_cb, + * }, + * }; + * + * foo_get(foo, "bar"); + * foo_get(foo, "baz"); + * foo_get(foo, "baz"); + * + * printf("use: %s\n", osmo_use_count_name_buf(namebuf, sizeof(namebuf), &foo->use_count)); + * // "use: 3 (bar,2*baz)" + * + * foo_put(foo, "bar"); + * foo_put(foo, "baz"); + * rx_stop_baz_request(foo); + * // freed. + * }; + */ +struct osmo_use_count { + /*! Context to talloc use count entries from, as well as back-pointer to the owning object for + * osmo_use_count_cb_t implementations. */ + void *talloc_object; + /*! If not NULL, this is invoked for each use count change. */ + osmo_use_count_cb_t use_cb; + /*! List of use tokens. No need to touch this, the llist is initialized implicitly. */ + struct llist_head use_counts; +}; + +/*! Entry for a single use token. Gets created as necessary by osmo_use_count_get_put(). + */ +struct osmo_use_count_entry { + /*! Entry in osmo_use_count::use_counts. */ + struct llist_head entry; + /*! Parent use count and backpointer to the talloc_object. */ + struct osmo_use_count *use_count; + /*! Use token string that was passed to osmo_use_count_get_put(). */ + const char *use; + /*! Current use count. Can be negative, if the use_cb implementation permits that. */ + int32_t count; +}; + +/*! Change the use count for a given use token. + * \param USE_LIST A struct osmo_use_count*, e.g. &my_obj->use_count. + * \param USE A use token: arbitrary string (const char*). This must remain valid memory, e.g. string constants. + * \param CHANGE Signed integer value to add to the use count: positive means get(), negative means put(). + * \return Negative on range violations or USE_LIST == NULL, the use_cb()'s return value, or 0 on success. + */ +#define osmo_use_count_get_put(USE_LIST, USE, CHANGE) \ + _osmo_use_count_get_put(USE_LIST, USE, CHANGE, __FILE__, __LINE__) + +int _osmo_use_count_get_put(struct osmo_use_count *uc, const char *use, int32_t diff, + const char *file, int line); + +const char *osmo_use_count_name_buf(char *buf, size_t buf_len, const struct osmo_use_count *uc); + +int32_t osmo_use_count_total(const struct osmo_use_count *uc); +int32_t osmo_use_count_by(const struct osmo_use_count *uc, const char *use); + +struct osmo_use_count_entry *osmo_use_count_find(const struct osmo_use_count *uc, const char *use); +void osmo_use_count_free(struct osmo_use_count_entry *use_count_entry); + +void osmo_use_count_make_static_entries(struct osmo_use_count *uc, struct osmo_use_count_entry *buf, + size_t buf_n_entries); + +/*! @} */ diff --git a/src/Makefile.am b/src/Makefile.am index 27ab702..726ad15 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -24,7 +24,9 @@ macaddr.c stat_item.c stats.c stats_statsd.c prim.c \ conv_acc.c conv_acc_generic.c sercomm.c prbs.c \ isdnhdlc.c \ - tdef.c + tdef.c \ + use_count.c \ + $(NULL) if HAVE_SSSE3 libosmocore_la_SOURCES += conv_acc_sse.c diff --git a/src/use_count.c b/src/use_count.c new file mode 100644 index 0000000..4de0128 --- /dev/null +++ b/src/use_count.c @@ -0,0 +1,278 @@ +/*! \file use_count.c + * Generic object usage counter Implementation (get, put and deallocate on zero count). + */ +/* + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * Author: Neels Hofmeyr + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include + +#include +#include +#include + +/*! \addtogroup use_count + * + * Generic object usage counter (get, put and deallocate on zero count). + * + * For an example, see struct osmo_use_count. + * + * @{ + * \file use_count.c + */ + +/*! Add two int32_t but make sure to min- and max-clamp at INT32_MIN and INT32_MAX, respectively. */ +static inline bool count_safe(int32_t *val_p, int32_t add) +{ + int32_t val = *val_p; + + /* A simpler implementation would just let the integer overflow and compare with previous value afterwards, but + * that causes runtime errors in the address sanitizer. So let's just do this without tricks. */ + if (add < 0 && val < 0 && val - INT32_MIN < -add) { + *val_p = INT32_MIN; + return false; + } + + if (add > 0 && val > 0 && INT32_MAX - val < add) { + *val_p = INT32_MAX; + return false; + } + + *val_p = val + add; + return true; +} + +/*! Return the sum of all use counts, min- and max-clamped at INT32_MIN and INT32_MAX. + * \param[in] uc Use counts to sum up. + * \return Accumulated counts, or 0 if uc is NULL. + */ +int32_t osmo_use_count_total(const struct osmo_use_count *uc) +{ + struct osmo_use_count_entry *e; + int32_t total = 0; + + if (!uc || !uc->use_counts.next) + return 0; + + llist_for_each_entry(e, &uc->use_counts, entry) { + count_safe(&total, e->count); + } + return total; +} + +/*! Return use count by a single use token. + * \param[in] uc Use counts to look up in. + * \param[in] use Use token. + * \return Use count, or 0 if uc is NULL or use token is not present. + */ +int32_t osmo_use_count_by(const struct osmo_use_count *uc, const char *use) +{ + const struct osmo_use_count_entry *e; + if (!uc) + return 0; + e = osmo_use_count_find(uc, use); + if (!e) + return 0; + return e->count; +} + +/*! Write a comprehensive listing of use counts to a string buffer. + * Reads like "12 (3*barring,fighting,8*kungfoo)". + * \param[inout] buf Destination buffer. + * \param[in] buf_len sizeof(buf). + * \param[in] uc Use counts to print. + * \return buf, always nul-terminated (except when buf_len < 1). + */ +const char *osmo_use_count_name_buf(char *buf, size_t buf_len, const struct osmo_use_count *uc) +{ + int32_t count = osmo_use_count_total(uc); + struct osmo_strbuf sb = { .buf = buf, .len = buf_len }; + struct osmo_use_count_entry *e; + bool first; + + OSMO_STRBUF_PRINTF(sb, "%" PRId32 " (", count); + + first = true; + llist_for_each_entry(e, &uc->use_counts, entry) { + if (!e->count) + continue; + if (!first) + OSMO_STRBUF_PRINTF(sb, ","); + first = false; + if (e->count != 1) + OSMO_STRBUF_PRINTF(sb, "%" PRId32 "*", e->count); + OSMO_STRBUF_PRINTF(sb, "%s", e->use ? : "NULL"); + } + if (first) + OSMO_STRBUF_PRINTF(sb, "-"); + OSMO_STRBUF_PRINTF(sb, ")"); + return buf; +} + +/* Return a use token's use count entry. + * \param[in] uc Use counts to look up in. + * \param[in] use Use token. + * \return matching entry, or NULL if not present. + */ +struct osmo_use_count_entry *osmo_use_count_find(const struct osmo_use_count *uc, const char *use) +{ + struct osmo_use_count_entry *e; + if (!uc->use_counts.next) + return NULL; + llist_for_each_entry(e, &uc->use_counts, entry) { + if (e->use == use || (use && e->use && !strcmp(e->use, use))) + return e; + } + return NULL; +} + +/*! Find a use count entry that currently has zero count, and re-use that for this new use token. */ +static struct osmo_use_count_entry *osmo_use_count_repurpose_zero_entry(struct osmo_use_count *uc, const char *use) +{ + struct osmo_use_count_entry *e; + if (!uc->use_counts.next) + return NULL; + llist_for_each_entry(e, &uc->use_counts, entry) { + if (!e->count) { + e->use = use; + return e; + } + } + return NULL; +} + +/*! Allocate a new use count entry, happens implicitly in osmo_use_count_get_put(). */ +static struct osmo_use_count_entry *osmo_use_count_create(struct osmo_use_count *uc, const char *use) +{ + struct osmo_use_count_entry *e = talloc_zero(uc->talloc_object, struct osmo_use_count_entry); + if (!e) + return NULL; + *e = (struct osmo_use_count_entry){ + .use_count = uc, + .use = use, + }; + if (!uc->use_counts.next) + INIT_LLIST_HEAD(&uc->use_counts); + llist_add_tail(&e->entry, &uc->use_counts); + return e; +} + +/*! Deallocate a use count entry. + * Normally, this is not necessary -- it is ok and even desirable to leave use count entries around even when they reach + * a count of zero, until the use_count->talloc_object deallocates and removes all of them in one flush. This avoids + * repeated allocation and deallocation for use tokens, because use count entries that have reached zero count are + * repurposed for any other use tokens. A cleanup makes sense only if a large number of concurrent uses of the same + * object has created as many use count entries; if so, this should be done by the osmo_use_count_cb_t implementation. + * + * osmo_use_count_free() must *not* be called on use count entries that were added by + * osmo_use_count_make_static_entries(). + * + * \param[in] use_count_entry Use count entry to unlist and free. + */ +void osmo_use_count_free(struct osmo_use_count_entry *use_count_entry) +{ + if (!use_count_entry) + return; + llist_del(&use_count_entry->entry); + talloc_free(use_count_entry); +} + +/*! Implementation for osmo_use_count_get_put(), which can also be directly invoked to pass source file information. For + * arguments besides file and line, see osmo_use_count_get_put(). + * \param[in] file Source file path, as in __FILE__. + * \param[in] line Source file line, as in __LINE__. + */ +int _osmo_use_count_get_put(struct osmo_use_count *uc, const char *use, int32_t change, + const char *file, int line) +{ + struct osmo_use_count_entry *e; + int32_t old_use_count; + if (!change) + return 0; + + e = osmo_use_count_find(uc, use); + if (!e) + e = osmo_use_count_repurpose_zero_entry(uc, use); + if (!e) + e = osmo_use_count_create(uc, use); + if (!e) + return -ENOMEM; + + if (!e->count) { + /* move to end */ + llist_del(&e->entry); + llist_add_tail(&e->entry, &uc->use_counts); + } + + old_use_count = e->count; + if (!count_safe(&e->count, change)) { + e->count = old_use_count; + return -ERANGE; + } + + if (uc->use_cb) + return uc->use_cb(e, old_use_count, file, line); + return 0; +} + +/*! Add N static use token entries to avoid dynamic allocation of use count tokens. + * When not using this function, use count entries are talloc allocated from uc->talloc_object as ctx. This means that + * there are small dynamic allocations for each use count. osmo_use_count_get_put() normally leaves zero-count entries + * around and re-purposes them later, so the number of small allocations is at most the number of concurrent uses of the + * same object -- fair enough. If that is not enough, this function allows completely avoiding dynamic use count + * allocations, by adding N static entries with a zero count and a NULL use token. They will be used by + * osmo_use_count_get_put(), and, if the caller avoids using osmo_use_count_free(), the osmo_use_count implementation + * never deallocates them. The idea is that the entries are members of the uc->talloc_object, or that they will by other + * means be implicitly deallocated by the talloc_object. It is fine to call + * osmo_use_count_make_static_entries(buf_n_entries=N) and later have more than N concurrent uses, i.e. it is no + * problem to mix static and dynamic entries. To completely avoid dynamic use count entries, N has to >= the maximum + * number of concurrent users with differing use tokens that will occur in the lifetime of the talloc_object. + * + * struct my_object { + * struct osmo_use_count use_count; + * struct osmo_use_count_entry use_count_buf[3]; // planning for 3 concurrent users + * }; + * + * void example() { + * struct my_object *o = talloc_zero(ctx, struct my_object); + * osmo_use_count_make_static_entries(&o->use_count, o->use_count_buf, ARRAY_SIZE(o->use_count_buf)); + * } + */ +void osmo_use_count_make_static_entries(struct osmo_use_count *uc, struct osmo_use_count_entry *buf, + size_t buf_n_entries) +{ + size_t idx; + if (!uc->use_counts.next) + INIT_LLIST_HEAD(&uc->use_counts); + for (idx = 0; idx < buf_n_entries; idx++) { + struct osmo_use_count_entry *e = &buf[idx]; + *e = (struct osmo_use_count_entry){ + .use_count = uc, + }; + llist_add_tail(&e->entry, &uc->use_counts); + } +} + +/*! @} */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 63f3959..0584834 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -30,6 +30,7 @@ tdef/tdef_test tdef/tdef_vty_test_config_root \ tdef/tdef_vty_test_config_subnode \ tdef/tdef_vty_test_dynamic \ + use_count/use_count_test \ $(NULL) if ENABLE_MSGFILE @@ -236,6 +237,9 @@ tdef_tdef_vty_test_dynamic_SOURCES = tdef/tdef_vty_test_dynamic.c tdef_tdef_vty_test_dynamic_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la +use_count_use_count_test_SOURCES = use_count/use_count_test.c +use_count_use_count_test_LDADD = $(LDADD) + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -304,6 +308,7 @@ tdef/tdef_vty_test_config_root.vty \ tdef/tdef_vty_test_config_subnode.vty \ tdef/tdef_vty_test_dynamic.vty \ + use_count/use_count_test.ok use_count/use_count_test.err \ $(NULL) DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c diff --git a/tests/testsuite.at b/tests/testsuite.at index 0093403..edf127d 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -331,3 +331,10 @@ cat $abs_srcdir/tdef/tdef_test.ok > expout AT_CHECK([$abs_top_builddir/tests/tdef/tdef_test], [0], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([use_count]) +AT_KEYWORDS([use_count]) +cat $abs_srcdir/use_count/use_count_test.ok > expout +cat $abs_srcdir/use_count/use_count_test.err > experr +AT_CHECK([$abs_top_builddir/tests/use_count/use_count_test], [0], [expout], [experr]) +AT_CLEANUP diff --git a/tests/use_count/use_count_test.c b/tests/use_count/use_count_test.c new file mode 100644 index 0000000..0b081c9 --- /dev/null +++ b/tests/use_count/use_count_test.c @@ -0,0 +1,339 @@ +/* Test implementation for osmo_use_count API. */ +/* + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * Author: Neels Hofmeyr + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include + +#include +#include +#include + +#include + +static void *ctx = NULL; + +#define log(fmt, args...) fprintf(stderr, fmt, ##args) + +enum { + DFOO, +}; + +#define FOO_USE_BARRING "barring" +#define FOO_USE_FIGHTING "fighting" +#define FOO_USE_KUNG "kungfoo" +#define FOO_USE_RELEASING "releasing" + +LLIST_HEAD(all_foo); + +struct foo { + struct llist_head entry; + struct osmo_fsm_inst *fi; + struct osmo_use_count use_count; + struct osmo_use_count_entry use_count_buf[10]; +}; + +enum foo_fsm_events { + FOO_EV_UNUSED, +}; + +static char name_buf[1024]; +#define use_count_name(UL) osmo_use_count_name_buf(name_buf, sizeof(name_buf), UL) + +int foo_use_cb(struct osmo_use_count_entry *use_count_entry, int32_t old_use_count, + const char *file, int line) +{ + struct osmo_use_count *use_count = use_count_entry->use_count; + struct foo *foo = use_count->talloc_object; + const char *use = use_count_entry->use; + int32_t new_use_count = use_count_entry->count; + + if (use && (!strcmp(use, FOO_USE_BARRING) || !strcmp(use, FOO_USE_RELEASING)) + && new_use_count > 1) { + LOGPFSMLSRC(foo->fi, LOGL_ERROR, file, line, + "Attempt to get more than one %s\n", use); + /* Fix the use count */ + use_count_entry->count = 1; + return -ERANGE; + } + + LOGPFSMLSRC(foo->fi, LOGL_NOTICE, file, line, "%s %+d %s: now used by %s\n", + foo->fi->id, new_use_count - old_use_count, use ? : "NULL", use_count_name(use_count)); + + if (new_use_count < 0) { + LOGPFSMLSRC(foo->fi, LOGL_ERROR, file, line, "Negative use count on %s: %s\n", + use ? : "NULL", use_count_name(use_count)); + /* Let it pass for the sake of this test */ + } + + if (osmo_use_count_total(use_count) == 0) + osmo_fsm_inst_dispatch(foo->fi, FOO_EV_UNUSED, NULL); + return 0; +} + +#define foo_get_put(FOO, USE, CHANGE) do { \ + int rc = osmo_use_count_get_put(&(FOO)->use_count, USE, CHANGE); \ + if (rc) \ + log("osmo_use_count_get_put(%s, %s, %d) returned error: %d %s\n", \ + (FOO)->fi->id, USE ? : "NULL", CHANGE, rc, strerror(-rc)); \ + } while(0) + +#define foo_get(FOO, USE) foo_get_put(FOO, USE, 1) +#define foo_put(FOO, USE) foo_get_put(FOO, USE, -1) + +enum foo_fsm_states { + FOO_ST_IN_USE, + FOO_ST_IN_RELEASE, +}; + +void foo_fsm_in_use(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(event == FOO_EV_UNUSED); + osmo_fsm_inst_state_chg(fi, FOO_ST_IN_RELEASE, 0, 0); +} + +void foo_fsm_in_release_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct foo *foo = fi->priv; + foo_get(foo, FOO_USE_RELEASING); +} + +void foo_fsm_in_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + OSMO_ASSERT(event == FOO_EV_UNUSED); + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL); +} + + +#define S(x) (1 << (x)) + +static const struct osmo_fsm_state foo_fsm_states[] = { + [FOO_ST_IN_USE] = { + .name = "IN_USE", + .in_event_mask = 0 + | S(FOO_EV_UNUSED) + , + .out_state_mask = 0 + | S(FOO_ST_IN_RELEASE) + , + .action = foo_fsm_in_use, + }, + [FOO_ST_IN_RELEASE] = { + .name = "IN_RELEASE", + .in_event_mask = 0 + | S(FOO_EV_UNUSED) + , + .out_state_mask = 0 + , + .onenter = foo_fsm_in_release_onenter, + .action = foo_fsm_in_release, + }, +}; + +static const struct value_string foo_fsm_event_names[] = { + OSMO_VALUE_STRING(FOO_EV_UNUSED), + {} +}; + +void foo_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + struct foo *foo = fi->priv; + llist_del(&foo->entry); +} + +static struct osmo_fsm foo_fsm = { + .name = "foo", + .states = foo_fsm_states, + .event_names = foo_fsm_event_names, + .num_states = ARRAY_SIZE(foo_fsm_states), + .log_subsys = DFOO, + .cleanup = foo_cleanup, +}; + +static struct foo *foo_alloc(const char *name, size_t static_entries) +{ + struct foo *foo; + struct osmo_fsm_inst *fi = osmo_fsm_inst_alloc(&foo_fsm, ctx, NULL, LOGL_DEBUG, name); + OSMO_ASSERT(fi); + OSMO_ASSERT(static_entries <= ARRAY_SIZE(foo->use_count_buf)); + + foo = talloc_zero(fi, struct foo); + *foo = (struct foo){ + .fi = fi, + .use_count = { + .talloc_object = foo, + .use_cb = foo_use_cb, + }, + }; + fi->priv = foo; + + osmo_use_count_make_static_entries(&foo->use_count, foo->use_count_buf, static_entries); + + llist_add_tail(&foo->entry, &all_foo); + return foo; +} + +void print_foos() +{ + int count = 0; + struct foo *foo; + fprintf(stderr, "\nall use counts:\n"); + llist_for_each_entry(foo, &all_foo, entry) { + fprintf(stderr, "%s: %s\n", foo->fi->id, use_count_name(&foo->use_count)); + count++; + } + fprintf(stderr, "%d foos\n\n", count); +} + +static void test_use_count_fsm() +{ + struct foo *a, *b, *c; + log("\n%s()\n", __func__); + + a = foo_alloc("a", 0); + b = foo_alloc("b", 2); + c = foo_alloc("c", 10); + print_foos(); + + log("A few gets and puts, logging source file information\n"); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_BASENAME); + foo_get(a, FOO_USE_BARRING); + + foo_get(b, FOO_USE_BARRING); + foo_get(b, FOO_USE_FIGHTING); + + print_foos(); + + log("Attempt to get more than one on limited 'barring' user:\n"); + foo_get(b, FOO_USE_BARRING); + print_foos(); + + log("Put away one user of b\n"); + foo_put(b, FOO_USE_BARRING); + print_foos(); + + log("(no longer log source file information)\n"); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + + log("Test null use token\n"); + foo_get(a, NULL); + print_foos(); + foo_put(a, NULL); + print_foos(); + + log("Put away last user of a, goes to RELEASING state and waits for a hypothetic async release process\n"); + foo_put(a, FOO_USE_BARRING); + print_foos(); + + log("Async releasing of a is done, will dealloc\n"); + foo_put(a, FOO_USE_RELEASING); + print_foos(); + + log("Use b multiple times\n"); + foo_get(b, FOO_USE_KUNG); + foo_get(b, FOO_USE_KUNG); + + foo_put(b, FOO_USE_KUNG); + foo_get(b, FOO_USE_KUNG); + + foo_get(b, FOO_USE_KUNG); + print_foos(); + + log("Test range: set kung-fu to INT32_MAX-1, then get three more; total count gets max-clamped to INT32_MAX\n"); + foo_get_put(b, FOO_USE_KUNG, INT32_MAX-1 - osmo_use_count_by(&b->use_count, FOO_USE_KUNG)); + print_foos(); + foo_get(b, FOO_USE_KUNG); + foo_get(b, FOO_USE_KUNG); + foo_get(b, FOO_USE_KUNG); + foo_get_put(b, FOO_USE_FIGHTING, 2); + foo_get_put(b, FOO_USE_KUNG, -3); + foo_put(b, FOO_USE_KUNG); + foo_put(b, FOO_USE_KUNG); + foo_get(b, FOO_USE_FIGHTING); + foo_get(b, FOO_USE_FIGHTING); + foo_get(b, FOO_USE_FIGHTING); + print_foos(); + + log("Release all uses of b\n"); + foo_get_put(b, FOO_USE_KUNG, - osmo_use_count_by(&b->use_count, FOO_USE_KUNG)); + foo_get_put(b, FOO_USE_FIGHTING, - osmo_use_count_by(&b->use_count, FOO_USE_FIGHTING)); + + log("Signal async release as done\n"); + foo_put(b, FOO_USE_RELEASING); + print_foos(); + + log("Release something not gotten before: a get/put bug goes into negative count\n"); + foo_put(c, FOO_USE_KUNG); + print_foos(); + log("More negative\n"); + foo_put(c, FOO_USE_KUNG); + foo_put(c, FOO_USE_KUNG); + print_foos(); + + log("Also release c\n"); + foo_get_put(c, FOO_USE_KUNG, 4); + foo_put(c, FOO_USE_KUNG); + log("Signal async release as done\n"); + foo_put(c, FOO_USE_RELEASING); + print_foos(); +} + +static const struct log_info_cat default_categories[] = { + [DFOO] = { + .name = "DFOO", + .description = "FOO", + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; + +static const struct log_info log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + + +int main(int argc, char **argv) +{ + ctx = talloc_named_const(NULL, 0, "use_count_test.c"); + + osmo_fsm_log_addr(false); + + osmo_init_logging2(ctx, &log_info); + + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_BASENAME); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_filename_pos(osmo_stderr_target, LOG_FILENAME_POS_LINE_END); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_print_level(osmo_stderr_target, 1); + log_set_use_color(osmo_stderr_target, 0); + + osmo_fsm_register(&foo_fsm); + + test_use_count_fsm(); + + return EXIT_SUCCESS; +} diff --git a/tests/use_count/use_count_test.err b/tests/use_count/use_count_test.err new file mode 100644 index 0000000..97e74a5 --- /dev/null +++ b/tests/use_count/use_count_test.err @@ -0,0 +1,171 @@ + +test_use_count_fsm() +DFOO DEBUG foo(a){IN_USE}: Allocated +DFOO DEBUG foo(b){IN_USE}: Allocated +DFOO DEBUG foo(c){IN_USE}: Allocated + +all use counts: +a: 0 (-) +b: 0 (-) +c: 0 (-) +3 foos + +A few gets and puts, logging source file information +DFOO NOTICE foo(a){IN_USE}: a +1 barring: now used by 1 (barring) (use_count_test.c:223) +DFOO NOTICE foo(b){IN_USE}: b +1 barring: now used by 1 (barring) (use_count_test.c:225) +DFOO NOTICE foo(b){IN_USE}: b +1 fighting: now used by 2 (barring,fighting) (use_count_test.c:226) + +all use counts: +a: 1 (barring) +b: 2 (barring,fighting) +c: 0 (-) +3 foos + +Attempt to get more than one on limited 'barring' user: +DFOO ERROR foo(b){IN_USE}: Attempt to get more than one barring (use_count_test.c:231) +osmo_use_count_get_put(b, barring, 1) returned error: -34 Numerical result out of range + +all use counts: +a: 1 (barring) +b: 2 (barring,fighting) +c: 0 (-) +3 foos + +Put away one user of b +DFOO NOTICE foo(b){IN_USE}: b -1 barring: now used by 1 (fighting) (use_count_test.c:235) + +all use counts: +a: 1 (barring) +b: 1 (fighting) +c: 0 (-) +3 foos + +(no longer log source file information) +Test null use token +DFOO NOTICE foo(a){IN_USE}: a +1 NULL: now used by 2 (barring,NULL) + +all use counts: +a: 2 (barring,NULL) +b: 1 (fighting) +c: 0 (-) +3 foos + +DFOO NOTICE foo(a){IN_USE}: a -1 NULL: now used by 1 (barring) + +all use counts: +a: 1 (barring) +b: 1 (fighting) +c: 0 (-) +3 foos + +Put away last user of a, goes to RELEASING state and waits for a hypothetic async release process +DFOO NOTICE foo(a){IN_USE}: a -1 barring: now used by 0 (-) +DFOO DEBUG foo(a){IN_USE}: Received Event FOO_EV_UNUSED +DFOO DEBUG foo(a){IN_USE}: state_chg to IN_RELEASE +DFOO NOTICE foo(a){IN_RELEASE}: a +1 releasing: now used by 1 (releasing) + +all use counts: +a: 1 (releasing) +b: 1 (fighting) +c: 0 (-) +3 foos + +Async releasing of a is done, will dealloc +DFOO NOTICE foo(a){IN_RELEASE}: a -1 releasing: now used by 0 (-) +DFOO DEBUG foo(a){IN_RELEASE}: Received Event FOO_EV_UNUSED +DFOO DEBUG foo(a){IN_RELEASE}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DFOO DEBUG foo(a){IN_RELEASE}: Freeing instance +DFOO DEBUG foo(a){IN_RELEASE}: Deallocated + +all use counts: +b: 1 (fighting) +c: 0 (-) +2 foos + +Use b multiple times +DFOO NOTICE foo(b){IN_USE}: b +1 kungfoo: now used by 2 (fighting,kungfoo) +DFOO NOTICE foo(b){IN_USE}: b +1 kungfoo: now used by 3 (fighting,2*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b -1 kungfoo: now used by 2 (fighting,kungfoo) +DFOO NOTICE foo(b){IN_USE}: b +1 kungfoo: now used by 3 (fighting,2*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b +1 kungfoo: now used by 4 (fighting,3*kungfoo) + +all use counts: +b: 4 (fighting,3*kungfoo) +c: 0 (-) +2 foos + +Test range: set kung-fu to INT32_MAX-1, then get three more; total count gets max-clamped to INT32_MAX +DFOO NOTICE foo(b){IN_USE}: b +2147483643 kungfoo: now used by 2147483647 (fighting,2147483646*kungfoo) + +all use counts: +b: 2147483647 (fighting,2147483646*kungfoo) +c: 0 (-) +2 foos + +DFOO NOTICE foo(b){IN_USE}: b +1 kungfoo: now used by 2147483647 (fighting,2147483647*kungfoo) +osmo_use_count_get_put(b, kungfoo, 1) returned error: -34 Numerical result out of range +osmo_use_count_get_put(b, kungfoo, 1) returned error: -34 Numerical result out of range +DFOO NOTICE foo(b){IN_USE}: b +2 fighting: now used by 2147483647 (3*fighting,2147483647*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b -3 kungfoo: now used by 2147483647 (3*fighting,2147483644*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b -1 kungfoo: now used by 2147483646 (3*fighting,2147483643*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b -1 kungfoo: now used by 2147483645 (3*fighting,2147483642*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b +1 fighting: now used by 2147483646 (4*fighting,2147483642*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b +1 fighting: now used by 2147483647 (5*fighting,2147483642*kungfoo) +DFOO NOTICE foo(b){IN_USE}: b +1 fighting: now used by 2147483647 (6*fighting,2147483642*kungfoo) + +all use counts: +b: 2147483647 (6*fighting,2147483642*kungfoo) +c: 0 (-) +2 foos + +Release all uses of b +DFOO NOTICE foo(b){IN_USE}: b -2147483642 kungfoo: now used by 6 (6*fighting) +DFOO NOTICE foo(b){IN_USE}: b -6 fighting: now used by 0 (-) +DFOO DEBUG foo(b){IN_USE}: Received Event FOO_EV_UNUSED +DFOO DEBUG foo(b){IN_USE}: state_chg to IN_RELEASE +DFOO NOTICE foo(b){IN_RELEASE}: b +1 releasing: now used by 1 (releasing) +Signal async release as done +DFOO NOTICE foo(b){IN_RELEASE}: b -1 releasing: now used by 0 (-) +DFOO DEBUG foo(b){IN_RELEASE}: Received Event FOO_EV_UNUSED +DFOO DEBUG foo(b){IN_RELEASE}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DFOO DEBUG foo(b){IN_RELEASE}: Freeing instance +DFOO DEBUG foo(b){IN_RELEASE}: Deallocated + +all use counts: +c: 0 (-) +1 foos + +Release something not gotten before: a get/put bug goes into negative count +DFOO NOTICE foo(c){IN_USE}: c -1 kungfoo: now used by -1 (-1*kungfoo) +DFOO ERROR foo(c){IN_USE}: Negative use count on kungfoo: -1 (-1*kungfoo) + +all use counts: +c: -1 (-1*kungfoo) +1 foos + +More negative +DFOO NOTICE foo(c){IN_USE}: c -1 kungfoo: now used by -2 (-2*kungfoo) +DFOO ERROR foo(c){IN_USE}: Negative use count on kungfoo: -2 (-2*kungfoo) +DFOO NOTICE foo(c){IN_USE}: c -1 kungfoo: now used by -3 (-3*kungfoo) +DFOO ERROR foo(c){IN_USE}: Negative use count on kungfoo: -3 (-3*kungfoo) + +all use counts: +c: -3 (-3*kungfoo) +1 foos + +Also release c +DFOO NOTICE foo(c){IN_USE}: c +4 kungfoo: now used by 1 (kungfoo) +DFOO NOTICE foo(c){IN_USE}: c -1 kungfoo: now used by 0 (-) +DFOO DEBUG foo(c){IN_USE}: Received Event FOO_EV_UNUSED +DFOO DEBUG foo(c){IN_USE}: state_chg to IN_RELEASE +DFOO NOTICE foo(c){IN_RELEASE}: c +1 releasing: now used by 1 (releasing) +Signal async release as done +DFOO NOTICE foo(c){IN_RELEASE}: c -1 releasing: now used by 0 (-) +DFOO DEBUG foo(c){IN_RELEASE}: Received Event FOO_EV_UNUSED +DFOO DEBUG foo(c){IN_RELEASE}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DFOO DEBUG foo(c){IN_RELEASE}: Freeing instance +DFOO DEBUG foo(c){IN_RELEASE}: Deallocated + +all use counts: +0 foos + diff --git a/tests/use_count/use_count_test.ok b/tests/use_count/use_count_test.ok new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/use_count/use_count_test.ok -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 22:10:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 22:10:18 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13122 Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() For example, for Paging, osmo-msc has a CGI for a subscriber and needs to send out a Cell Identifier IE. Makes sense to add this conversion here. While at it, also provide the reverse conversion. Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 3 files changed, 91 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/13122/1 diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 2b48be7..53f145c 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -84,6 +84,9 @@ bool gsm0808_cell_ids_match(const struct gsm0808_cell_id *id1, const struct gsm0808_cell_id *id2, bool exact_match); int gsm0808_cell_id_matches_list(const struct gsm0808_cell_id *id, const struct gsm0808_cell_id_list2 *list, unsigned int match_nr, bool exact_match); +void gsm0808_cell_id_from_cgi(struct gsm0808_cell_id *cid, enum CELL_IDENT id_discr, + const struct osmo_cell_global_id *cgi); +int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid); uint8_t gsm0808_enc_cause(struct msgb *msg, uint16_t cause); uint8_t gsm0808_enc_aoip_trasp_addr(struct msgb *msg, diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 5477598..0426f78 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1577,6 +1577,92 @@ return -1; } +/*! Copy information from a CGI to form a Cell Identifier of the specified kind. + * \param [out] cid Compose new Cell Identifier here. + * \param [in] id_discr Which kind of Cell Identifier to compose. + * \param [in] cgi Cell Global Identifier to form the Cell Identifier from. + */ +void gsm0808_cell_id_from_cgi(struct gsm0808_cell_id *cid, enum CELL_IDENT id_discr, + const struct osmo_cell_global_id *cgi) +{ + *cid = (struct gsm0808_cell_id){ + .id_discr = id_discr, + }; + + switch (id_discr) { + case CELL_IDENT_WHOLE_GLOBAL: + cid->id.global = *cgi; + return; + + case CELL_IDENT_LAC_AND_CI: + cid->id.lac_and_ci = (struct osmo_lac_and_ci_id){ + .lac = cgi->lai.lac, + .ci = cgi->cell_identity, + }; + return; + + case CELL_IDENT_CI: + cid->id.ci = cgi->cell_identity; + return; + + case CELL_IDENT_LAI: + cid->id.lai_and_lac = cgi->lai; + return; + + case CELL_IDENT_LAC: + cid->id.lac = cgi->lai.lac; + return; + + case CELL_IDENT_NO_CELL: + case CELL_IDENT_BSS: + case CELL_IDENT_UTRAN_PLMN_LAC_RNC: + case CELL_IDENT_UTRAN_RNC: + case CELL_IDENT_UTRAN_LAC_RNC: + default: + return; + }; +} + +/*! Overwrite parts of cgi with values from a Cell Identifier. + * Place only those items given in cid into cgi, leaving other values unchanged. + * \param[out] cgi Cell Global Identity to write to. + * \param[in] cid Cell Identity to read from. + * \return a bitmask of items that were set: 0x1 == PLMN, 0x2 == LAC, 0x4 == CI; 0 if nothing was written to cgi. + */ +int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid) +{ + switch (cid->id_discr) { + case CELL_IDENT_WHOLE_GLOBAL: + *cgi = cid->id.global; + return 0x1 | 0x2 | 0x4; + + case CELL_IDENT_LAC_AND_CI: + cgi->lai.lac = cid->id.lac_and_ci.lac; + cgi->cell_identity = cid->id.lac_and_ci.ci; + return 0x2 | 0x4; + + case CELL_IDENT_CI: + cgi->cell_identity = cid->id.ci; + return 0x4; + + case CELL_IDENT_LAI: + cgi->lai = cid->id.lai_and_lac; + return 0x1 | 0x2; + + case CELL_IDENT_LAC: + cgi->lai.lac = cid->id.lac; + return 0x2; + + case CELL_IDENT_NO_CELL: + case CELL_IDENT_BSS: + case CELL_IDENT_UTRAN_PLMN_LAC_RNC: + case CELL_IDENT_UTRAN_RNC: + case CELL_IDENT_UTRAN_LAC_RNC: + default: + return 0; + }; +} + /*! value_string[] for enum CELL_IDENT. */ const struct value_string gsm0808_cell_id_discr_names[] = { { CELL_IDENT_WHOLE_GLOBAL, "CGI" }, diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 2d47d7a..3fadc5a 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -205,6 +205,8 @@ gsm0808_dec_cell_id_list2; gsm0808_cell_id_list_add; gsm0808_cell_id_to_list; +gsm0808_cell_id_to_cgi; +gsm0808_cell_id_from_cgi; gsm0808_enc_cell_id; gsm0808_dec_cell_id; gsm0808_cell_id_name; -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 22:10:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 22:10:18 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13123 Change subject: add osmo_ip_port API ...................................................................... add osmo_ip_port API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M include/Makefile.am A include/osmocom/core/ip_port.h M src/Makefile.am A src/ip_port.c M tests/Makefile.am A tests/ip_port/ip_port_test.c A tests/ip_port/ip_port_test.ok M tests/testsuite.at 8 files changed, 995 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/1 diff --git a/include/Makefile.am b/include/Makefile.am index 6f64fa6..1f0f94b 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -53,6 +53,7 @@ osmocom/core/utils.h \ osmocom/core/write_queue.h \ osmocom/core/use_count.h \ + osmocom/core/ip_port.h \ osmocom/crypt/auth.h \ osmocom/crypt/gprs_cipher.h \ osmocom/ctrl/control_cmd.h \ diff --git a/include/osmocom/core/ip_port.h b/include/osmocom/core/ip_port.h new file mode 100644 index 0000000..2dad411 --- /dev/null +++ b/include/osmocom/core/ip_port.h @@ -0,0 +1,81 @@ +/*! \file ip_port.h + * Common API to store an IP address and port. + */ +/* + * (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * Author: neels at hofmeyr.de + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#pragma once + +#include +#include +#include + +/*! \defgroup ip_port IP address/port utilities. + * @{ + * \file ip_port.h + */ + +int osmo_ip_str_type(const char *ip); + +struct osmo_ip_port { + /*! AF_INET for IPv4 address, or AF_INET6 for IPv6 address. */ + int af; + /*! NUL terminated string of the IPv4 or IPv6 address. */ + char ip[INET6_ADDRSTRLEN]; + /*! Port number */ + uint16_t port; +}; + +/*! Format string to print an osmo_ip_port. + * + * For example: + * + * struct osmo_ip_port *my_ip_port = ...; + * printf("got " OSMO_IP_PORT_FMT, OSMO_IP_PORT_ARGS(my_ip_port)); + */ +#define OSMO_IP_PORT_FMT "%s:%u" +#define OSMO_IP_PORT_ARGS(R) ((R)->ip ? : ""), (R)->port + +bool osmo_ip_port_is_set(const struct osmo_ip_port *ip_port); + +int osmo_ip_port_from_str(struct osmo_ip_port *ip_port, const char *ip, uint16_t port); + +int osmo_ip_port_from_in_addr(struct osmo_ip_port *ip_port, const struct in_addr *addr, uint16_t port); +int osmo_ip_port_from_in6_addr(struct osmo_ip_port *ip_port, const struct in6_addr *addr, uint16_t port); +int osmo_ip_port_from_32(struct osmo_ip_port *ip_port, uint32_t ip, uint16_t port); +int osmo_ip_port_from_32n(struct osmo_ip_port *ip_port, uint32_t ip, uint16_t port); +int osmo_ip_port_from_sockaddr_in(struct osmo_ip_port *ip_port, const struct sockaddr_in *src); +int osmo_ip_port_from_sockaddr_in6(struct osmo_ip_port *ip_port, const struct sockaddr_in6 *src); +int osmo_ip_port_from_sockaddr(struct osmo_ip_port *ip_port, const struct sockaddr_storage *dst); + +int osmo_ip_port_to_in_addr(const struct osmo_ip_port *ip_port, struct in_addr *dst); +int osmo_ip_port_to_in6_addr(const struct osmo_ip_port *ip_port, struct in6_addr *dst); +int osmo_ip_port_to_32(const struct osmo_ip_port *ip_port, uint32_t *ip); +int osmo_ip_port_to_32n(const struct osmo_ip_port *ip_port, uint32_t *ip); +int osmo_ip_port_to_sockaddr_in(const struct osmo_ip_port *ip_port, struct sockaddr_in *dst); +int osmo_ip_port_to_sockaddr_in6(const struct osmo_ip_port *ip_port, struct sockaddr_in6 *dst); +int osmo_ip_port_to_sockaddr(const struct osmo_ip_port *ip_port, struct sockaddr_storage *dst); + +/*! @} */ diff --git a/src/Makefile.am b/src/Makefile.am index 726ad15..cb1d76c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,6 +26,7 @@ isdnhdlc.c \ tdef.c \ use_count.c \ + ip_port.c \ $(NULL) if HAVE_SSSE3 diff --git a/src/ip_port.c b/src/ip_port.c new file mode 100644 index 0000000..4ab6f79 --- /dev/null +++ b/src/ip_port.c @@ -0,0 +1,375 @@ +/*! \file ip_port.c + * Common implementation to store an IP address and port. + */ +/* + * (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * Author: neels at hofmeyr.de + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include + +#include +#include +#include + +/*! \addtogroup ip_port + * + * Common operations to store IP address as a char string along with a uint16_t port number. + * + * Convert IP address string to/from in_addr and in6_addr, with bounds checking and basic housekeeping. + * + * The initial purpose is to store and translate IP address info between GSM CC and MGCP protocols -- GSM mostly using + * 32-bit IPv4 addresses, and MGCP forwarding addresses as ASCII character strings. + * + * (At the time of writing, there are no immediate IPv6 users that come to mind, but it seemed appropriate to + * accommodate both address families from the start.) + * + * @{ + * \file ip_port.c + */ + + +/*! Return true if all elements of the osmo_ip_port instance are set. + * \param[in] ip_port The instance to examine. + * \return True iff ip is nonempty, port is not 0 and af is set to either AF_INET or AF_INET6. + */ +bool osmo_ip_port_is_set(const struct osmo_ip_port *ip_port) +{ + return *ip_port->ip + && ip_port->port + && (ip_port->af == AF_INET || ip_port->af == AF_INET6); +} + +/*! Distinguish between valid IPv4 and IPv6 strings. + * This does not verify whether the string is a valid IP address; it assumes that the input is a valid IP address, and + * on that premise returns whether it is an IPv4 or IPv6 string, by looking for '.' and ':' characters. It is safe to + * feed invalid address strings, but the return value is only guaranteed to be meaningful if the input was valid. + * \param[in] ip Valid IP address string. + * \return AF_INET or AF_INET6, or AF_UNSPEC if neither '.' nor ':' are found in the string. + */ +int osmo_ip_str_type(const char *ip) +{ + if (!ip) + return AF_UNSPEC; + /* Could also be IPv4-mapped IPv6 format with both colons and dots: x:x:x:x:x:x:d.d.d.d */ + if (strchr(ip, ':')) + return AF_INET6; + if (strchr(ip, '.')) + return AF_INET; + return AF_UNSPEC; +} + +/*! Safely copy the given ip string to ip_port, classify to AF_INET or AF_INET6, and set the port. + * Data will be written to ip_port even if an error is returned. + * \param[out] ip_port The instance to copy to. + * \param[in] ip Valid IP address string. + * \param[in] port Port number. + * \return 0 on success, negative if copying the address string failed (e.g. too long), if the address family could + * not be detected (i.e. if osmo_ip_str_type() returned AF_UNSPEC), or if ip_port is NULL. + */ +int osmo_ip_port_from_str(struct osmo_ip_port *ip_port, const char *ip, uint16_t port) +{ + int rc; + if (!ip_port) + return -ENOSPC; + if (!ip) + ip = ""; + *ip_port = (struct osmo_ip_port){ + .af = osmo_ip_str_type(ip), + .port = port, + }; + rc = osmo_strlcpy(ip_port->ip, ip, sizeof(ip_port->ip)); + if (rc <= 0) + return -EIO; + if (rc >= sizeof(ip_port->ip)) + return -ENOSPC; + if (ip_port->af == AF_UNSPEC) + return -EINVAL; + return 0; +} + +/*! Convert IPv4 address to osmo_ip_port, and set port. + * \param[out] ip_port The instance to copy to. + * \param[in] addr IPv4 address data. + * \param[in] port Port number. + * \return 0 on success, negative on error. + */ +int osmo_ip_port_from_in_addr(struct osmo_ip_port *ip_port, const struct in_addr *addr, uint16_t port) +{ + if (!ip_port) + return -ENOSPC; + *ip_port = (struct osmo_ip_port){ + .af = AF_INET, + .port = port, + }; + if (!inet_ntop(AF_INET, addr, ip_port->ip, sizeof(ip_port->ip))) + return -ENOSPC; + return 0; +} + +/*! Convert IPv6 address to osmo_ip_port, and set port. + * \param[out] ip_port The instance to copy to. + * \param[in] addr IPv6 address data. + * \param[in] port Port number. + * \return 0 on success, negative on error. + */ +int osmo_ip_port_from_in6_addr(struct osmo_ip_port *ip_port, const struct in6_addr *addr, uint16_t port) +{ + if (!ip_port) + return -ENOSPC; + *ip_port = (struct osmo_ip_port){ + .af = AF_INET6, + .port = port, + }; + if (!inet_ntop(AF_INET6, addr, ip_port->ip, sizeof(ip_port->ip))) + return -ENOSPC; + return 0; +} + +/*! Convert IPv4 address from 32bit host-byte-order to osmo_ip_port, and set port. + * \param[out] ip_port The instance to copy to. + * \param[in] addr 32bit IPv4 address data. + * \param[in] port Port number. + * \return 0 on success, negative on error. + */ +int osmo_ip_port_from_32(struct osmo_ip_port *ip_port, uint32_t ip, uint16_t port) +{ + struct in_addr addr; + if (!ip_port) + return -ENOSPC; + addr.s_addr = ip; + return osmo_ip_port_from_in_addr(ip_port, &addr, port); +} + +/*! Convert IPv4 address from 32bit network-byte-order to osmo_ip_port, and set port. + * \param[out] ip_port The instance to copy to. + * \param[in] addr 32bit IPv4 address data. + * \param[in] port Port number. + * \return 0 on success, negative on error. + */ +int osmo_ip_port_from_32n(struct osmo_ip_port *ip_port, uint32_t ip, uint16_t port) +{ + if (!ip_port) + return -ENOSPC; + return osmo_ip_port_from_32(ip_port, osmo_ntohl(ip), port); +} + +/*! Convert IPv4 address and port to osmo_ip_port. + * \param[out] ip_port The instance to copy to. + * \param[in] src IPv4 address and port data. + * \return 0 on success, negative on error. + */ +int osmo_ip_port_from_sockaddr_in(struct osmo_ip_port *ip_port, const struct sockaddr_in *src) +{ + if (!ip_port) + return -ENOSPC; + if (!src) + return -EINVAL; + if (src->sin_family != AF_INET) + return -EINVAL; + return osmo_ip_port_from_in_addr(ip_port, &src->sin_addr, osmo_ntohs(src->sin_port)); +} + +/*! Convert IPv6 address and port to osmo_ip_port. + * \param[out] ip_port The instance to copy to. + * \param[in] src IPv6 address and port data. + * \return 0 on success, negative on error. + */ +int osmo_ip_port_from_sockaddr_in6(struct osmo_ip_port *ip_port, const struct sockaddr_in6 *src) +{ + if (!ip_port) + return -ENOSPC; + if (!src) + return -EINVAL; + if (src->sin6_family != AF_INET6) + return -EINVAL; + return osmo_ip_port_from_in6_addr(ip_port, &src->sin6_addr, osmo_ntohs(src->sin6_port)); +} + +/*! Convert IPv4 or IPv6 address and port to osmo_ip_port. + * \param[out] ip_port The instance to copy to. + * \param[in] src IPv4 or IPv6 address and port data. + * \return 0 on success, negative if src does not indicate AF_INET nor AF_INET6 (or if the conversion fails, which + * should not be possible in practice). + */ +int osmo_ip_port_from_sockaddr(struct osmo_ip_port *ip_port, const struct sockaddr_storage *src) +{ + const struct sockaddr_in *sin = (void*)src; + const struct sockaddr_in6 *sin6 = (void*)src; + if (!ip_port) + return -ENOSPC; + if (!src) + return -EINVAL; + if (sin->sin_family == AF_INET) + return osmo_ip_port_from_sockaddr_in(ip_port, sin); + if (sin6->sin6_family == AF_INET6) + return osmo_ip_port_from_sockaddr_in6(ip_port, sin6); + return -EINVAL; +} + +/*! Convert osmo_ip_port address string to IPv4 address data. + * \param[in] ip_port The instance to convert the IP of. + * \param[out] dst IPv4 address data to write to. + * \return 0 on success, negative on error (e.g. invalid IPv4 address string). + */ +int osmo_ip_port_to_in_addr(const struct osmo_ip_port *ip_port, struct in_addr *dst) +{ + int rc; + if (!ip_port) + return -EINVAL; + if (!dst) + return -ENOSPC; + if (ip_port->af != AF_INET) + return -EAFNOSUPPORT; + rc = inet_pton(AF_INET, ip_port->ip, dst); + if (rc != 1) + return -EINVAL; + return 0; +} + +/*! Convert osmo_ip_port address string to IPv6 address data. + * \param[in] ip_port The instance to convert the IP of. + * \param[out] dst IPv6 address data to write to. + * \return 0 on success, negative on error (e.g. invalid IPv6 address string). + */ +int osmo_ip_port_to_in6_addr(const struct osmo_ip_port *ip_port, struct in6_addr *dst) +{ + int rc; + if (!ip_port) + return -EINVAL; + if (!dst) + return -ENOSPC; + if (ip_port->af != AF_INET6) + return -EINVAL; + rc = inet_pton(AF_INET6, ip_port->ip, dst); + if (rc != 1) + return -EINVAL; + return 0; +} + +/*! Convert osmo_ip_port address string to IPv4 address data in host-byte-order. + * \param[in] ip_port The instance to convert the IP of. + * \param[out] dst IPv4 address data in 32bit host-byte-order format to write to. + * \return 0 on success, negative on error (e.g. invalid IPv4 address string). + */ +int osmo_ip_port_to_32(const struct osmo_ip_port *ip_port, uint32_t *ip) +{ + int rc; + struct in_addr addr; + if (!ip_port) + return -EINVAL; + if (!ip) + return -ENOSPC; + rc = osmo_ip_port_to_in_addr(ip_port, &addr); + if (rc) + return rc; + *ip = addr.s_addr; + return 0; +} + +/*! Convert osmo_ip_port address string to IPv4 address data in network-byte-order. + * \param[in] ip_port The instance to convert the IP of. + * \param[out] dst IPv4 address data in 32bit network-byte-order format to write to. + * \return 0 on success, negative on error (e.g. invalid IPv4 address string). + */ +int osmo_ip_port_to_32n(const struct osmo_ip_port *ip_port, uint32_t *ip) +{ + int rc; + uint32_t ip_h; + if (!ip_port) + return -EINVAL; + if (!ip) + return -ENOSPC; + rc = osmo_ip_port_to_32(ip_port, &ip_h); + if (rc) + return rc; + *ip = osmo_htonl(ip_h); + return 0; +} + +/*! Convert osmo_ip_port address string and port to IPv4 address and port data. + * \param[in] ip_port The instance to convert the IP and port of. + * \param[out] dst IPv4 address and port data to write to. + * \return 0 on success, negative on error (e.g. invalid IPv4 address string). + */ +int osmo_ip_port_to_sockaddr_in(const struct osmo_ip_port *ip_port, struct sockaddr_in *dst) +{ + if (!ip_port) + return -EINVAL; + if (!dst) + return -ENOSPC; + if (ip_port->af != AF_INET) + return -EINVAL; + *dst = (struct sockaddr_in){ + .sin_family = ip_port->af, + .sin_port = osmo_htons(ip_port->port), + }; + return osmo_ip_port_to_in_addr(ip_port, &dst->sin_addr); +} + +/*! Convert osmo_ip_port address string and port to IPv6 address and port data. + * \param[in] ip_port The instance to convert the IP and port of. + * \param[out] dst IPv6 address and port data to write to. + * \return 0 on success, negative on error (e.g. invalid IPv6 address string). + */ +int osmo_ip_port_to_sockaddr_in6(const struct osmo_ip_port *ip_port, struct sockaddr_in6 *dst) +{ + if (!ip_port) + return -EINVAL; + if (!dst) + return -ENOSPC; + if (ip_port->af != AF_INET6) + return -EINVAL; + *dst = (struct sockaddr_in6){ + .sin6_family = ip_port->af, + .sin6_port = osmo_htons(ip_port->port), + }; + return osmo_ip_port_to_in6_addr(ip_port, &dst->sin6_addr); +} + +/*! Convert osmo_ip_port address string and port to IPv4 or IPv6 address and port data. + * Depending on ip_port->af, dst will be handled as struct sockaddr_in or struct sockaddr_in6. + * \param[in] ip_port The instance to convert the IP and port of. + * \param[out] dst IPv4/IPv6 address and port data to write to. + * \return 0 on success, negative on error (e.g. invalid IP address string for the family indicated by ip_port->af). + */ +int osmo_ip_port_to_sockaddr(const struct osmo_ip_port *ip_port, struct sockaddr_storage *dst) +{ + if (!ip_port) + return -EINVAL; + if (!dst) + return -ENOSPC; + switch (ip_port->af) { + case AF_INET: + return osmo_ip_port_to_sockaddr_in(ip_port, (void*)dst); + case AF_INET6: + return osmo_ip_port_to_sockaddr_in6(ip_port, (void*)dst); + default: + return -EINVAL; + } +} + +/*! @} */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 0584834..afed74d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -31,6 +31,7 @@ tdef/tdef_vty_test_config_subnode \ tdef/tdef_vty_test_dynamic \ use_count/use_count_test \ + ip_port/ip_port_test \ $(NULL) if ENABLE_MSGFILE @@ -240,6 +241,9 @@ use_count_use_count_test_SOURCES = use_count/use_count_test.c use_count_use_count_test_LDADD = $(LDADD) +ip_port_ip_port_test_SOURCES = ip_port/ip_port_test.c +ip_port_ip_port_test_LDADD = $(LDADD) + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -309,6 +313,7 @@ tdef/tdef_vty_test_config_subnode.vty \ tdef/tdef_vty_test_dynamic.vty \ use_count/use_count_test.ok use_count/use_count_test.err \ + ip_port/ip_port_test.ok \ $(NULL) DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c diff --git a/tests/ip_port/ip_port_test.c b/tests/ip_port/ip_port_test.c new file mode 100644 index 0000000..da1150b --- /dev/null +++ b/tests/ip_port/ip_port_test.c @@ -0,0 +1,238 @@ +/* tests for osmo_ip_port API of libmsomcore */ +/* + * (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * Author: neels at hofmeyr.de + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include + +struct osmo_ip_port oip_data[] = { + { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }, + { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }, + { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }, + { .af = AF_INET, .ip = "0.0.0.256", .port = 1 }, + { .af = AF_INET, .ip = "not an ip address", .port = 1 }, + { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }, + { .af = AF_INET6, .ip = "::", .port = 0 }, + { .af = AF_INET6, .ip = "::1", .port = 0 }, + { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }, + { .af = AF_INET6, .ip = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", .port = 65535 }, + { .af = AF_INET6, .ip = "::fffff", .port = 1 }, + { .af = AF_INET6, .ip = "not an ip address", .port = 1 }, + + { .af = AF_INET6, .ip = "1.2.3.4", .port = 5 }, + { .af = AF_INET, .ip = "1:2:3::4", .port = 5 }, + { .af = AF_UNSPEC, .ip = "1.2.3.4", .port = 5 }, + { .af = AF_INET, .ip = "", .port = 5 }, + { .af = AF_INET6, .ip = "", .port = 5 }, + { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }, + { .af = AF_INET, .ip = "1.2.3:4:5", .port = 0 }, + { .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 }, +}; + +const char *af_name(int af) +{ + switch (af) { + case AF_INET: + return "AF_INET"; + case AF_INET6: + return "AF_INET6"; + case AF_UNSPEC: + return "AF_UNSPEC"; + default: + return "?"; + } +} + +static const struct value_string err_names[] = { + { -EINVAL, "-EINVAL" }, + {} +}; + +static inline const char *err_name(int err) +{ return get_value_string(err_names, err); } + +static inline const char *rc_name(int rc) +{ + if (!rc) + return "rc == 0"; + if (rc < 0) + return "rc < 0"; + return "rc > 0"; +} + +void dump_oip(const struct osmo_ip_port *oip) +{ + printf("{ .af = %s, .ip = %s, .port = %u }\n", af_name(oip->af), osmo_quote_str(oip->ip, -1), oip->port); +} + +void ip_port_test_conversions() +{ + int i; + char buf[1024]; + +#define hexdump(what) \ + osmo_hexdump_buf(buf, sizeof(buf), (void*)(&what), sizeof(what), "", false) + + for (i = 0; i < ARRAY_SIZE(oip_data); i++) { + struct osmo_ip_port *x = &oip_data[i]; + int rc; + printf("\n\n"); + dump_oip(x); + + printf(" osmo_ip_port_is_set() = %s\n", osmo_ip_port_is_set(x) ? "true" : "false"); + + { + struct in_addr a = {}; + + rc = osmo_ip_port_to_in_addr(x, &a); + printf(" osmo_ip_port_to_in_addr() %s in_addr=%s\n", rc_name(rc), hexdump(a)); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_in_addr(&back, &a, x->port); + printf(" -> osmo_ip_port_from_in_addr() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + struct in6_addr a = {}; + + rc = osmo_ip_port_to_in6_addr(x, &a); + printf(" osmo_ip_port_to_in6_addr() %s in6_addr=%s\n", rc_name(rc), hexdump(a)); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_in6_addr(&back, &a, x->port); + printf(" -> osmo_ip_port_from_in6_addr() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + uint32_t a = 0; + + rc = osmo_ip_port_to_32(x, &a); + printf(" osmo_ip_port_to_32() %s uint32_t=0x%x\n", rc_name(rc), a); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_32(&back, a, x->port); + printf(" -> osmo_ip_port_from_32() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + uint32_t a = 0; + + rc = osmo_ip_port_to_32n(x, &a); + printf(" osmo_ip_port_to_32n() %s uint32_t=0x%x\n", rc_name(rc), a); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_32n(&back, a, x->port); + printf(" -> osmo_ip_port_from_32n() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + struct sockaddr_in a = {}; + + rc = osmo_ip_port_to_sockaddr_in(x, &a); + printf(" osmo_ip_port_to_sockaddr_in() %s sockaddr_in=%s\n", rc_name(rc), hexdump(a)); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_sockaddr_in(&back, &a); + printf(" -> osmo_ip_port_from_sockaddr_in() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + struct sockaddr_in6 a = {}; + + rc = osmo_ip_port_to_sockaddr_in6(x, &a); + printf(" osmo_ip_port_to_sockaddr_in6() %s sockaddr_in6=%s\n", rc_name(rc), hexdump(a)); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_sockaddr_in6(&back, &a); + printf(" -> osmo_ip_port_from_sockaddr_in6() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + struct sockaddr_storage a = {}; + + rc = osmo_ip_port_to_sockaddr(x, &a); + printf(" osmo_ip_port_to_sockaddr() %s sockaddr_storage=%s\n", rc_name(rc), hexdump(a)); + + if (rc == 0) { + struct osmo_ip_port back; + rc = osmo_ip_port_from_sockaddr(&back, &a); + printf(" -> osmo_ip_port_from_sockaddr() %s ", rc_name(rc)); + dump_oip(&back); + if (memcmp(x, &back, sizeof(back))) + printf(" DIFFERS!\n"); + } + } + + { + struct osmo_ip_port from_str; + rc = osmo_ip_port_from_str(&from_str, x->ip, x->port); + printf(" osmo_ip_port_from_str() %s ", rc_name(rc)); + dump_oip(&from_str); + if (rc == 0 && memcmp(x, &from_str, sizeof(from_str))) + printf(" DIFFERS!\n"); + } + } + +} + +int main(int argc, char **argv) +{ + ip_port_test_conversions(); + return 0; +} + diff --git a/tests/ip_port/ip_port_test.ok b/tests/ip_port/ip_port_test.ok new file mode 100644 index 0000000..7ab7b01 --- /dev/null +++ b/tests/ip_port/ip_port_test.ok @@ -0,0 +1,288 @@ + + +{ .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc == 0 in_addr=01020304 + -> osmo_ip_port_from_in_addr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc == 0 uint32_t=0x4030201 + -> osmo_ip_port_from_32() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_to_32n() rc == 0 uint32_t=0x1020304 + -> osmo_ip_port_from_32n() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_to_sockaddr_in() rc == 0 sockaddr_in=02000005010203040000000000000000 + -> osmo_ip_port_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0200000501020304000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + + +{ .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc == 0 in_addr=00000000 + -> osmo_ip_port_from_in_addr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc == 0 uint32_t=0x0 + -> osmo_ip_port_from_32() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + osmo_ip_port_to_32n() rc == 0 uint32_t=0x0 + -> osmo_ip_port_from_32n() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + osmo_ip_port_to_sockaddr_in() rc == 0 sockaddr_in=02000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 } + + +{ .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc == 0 in_addr=ffffffff + -> osmo_ip_port_from_in_addr() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc == 0 uint32_t=0xffffffff + -> osmo_ip_port_from_32() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + osmo_ip_port_to_32n() rc == 0 uint32_t=0xffffffff + -> osmo_ip_port_from_32n() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + osmo_ip_port_to_sockaddr_in() rc == 0 sockaddr_in=0200ffffffffffff0000000000000000 + -> osmo_ip_port_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0200ffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 } + + +{ .af = AF_INET, .ip = "0.0.0.256", .port = 1 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=02000001000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0200000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "0.0.0.256", .port = 1 } + + +{ .af = AF_INET, .ip = "not an ip address", .port = 1 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=02000001000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0200000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "not an ip address", .port = 1 } + + +{ .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc == 0 in6_addr=00010002000300000000000000000004 + -> osmo_ip_port_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000005000000000001000200030000000000000000000400000000 + -> osmo_ip_port_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0a00000500000000000100020003000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } + + +{ .af = AF_INET6, .ip = "::", .port = 0 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000000 + -> osmo_ip_port_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 } + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 } + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 } + + +{ .af = AF_INET6, .ip = "::1", .port = 0 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000001 + -> osmo_ip_port_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 } + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000000000000000000000000000000000000000000000100000000 + -> osmo_ip_port_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 } + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0a00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 } + + +{ .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc == 0 in6_addr=ffffffffffffffffffffffffffffffff + -> osmo_ip_port_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc == 0 sockaddr_in6=0a00ffff00000000ffffffffffffffffffffffffffffffff00000000 + -> osmo_ip_port_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0a00ffff00000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + + +{ .af = AF_INET6, .ip = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", .port = 65535 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc == 0 in6_addr=ffffffffffffffffffffffffffffffff + -> osmo_ip_port_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + DIFFERS! + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc == 0 sockaddr_in6=0a00ffff00000000ffffffffffffffffffffffffffffffff00000000 + -> osmo_ip_port_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + DIFFERS! + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0a00ffff00000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 } + DIFFERS! + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", .port = 65535 } + + +{ .af = AF_INET6, .ip = "::fffff", .port = 1 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000001000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "::fffff", .port = 1 } + + +{ .af = AF_INET6, .ip = "not an ip address", .port = 1 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000001000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "not an ip address", .port = 1 } + + +{ .af = AF_INET6, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000005000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + DIFFERS! + + +{ .af = AF_INET, .ip = "1:2:3::4", .port = 5 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=02000005000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 } + DIFFERS! + + +{ .af = AF_UNSPEC, .ip = "1.2.3.4", .port = 5 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 } + DIFFERS! + + +{ .af = AF_INET, .ip = "", .port = 5 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=02000005000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "", .port = 5 } + + +{ .af = AF_INET6, .ip = "", .port = 5 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000005000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "", .port = 5 } + + +{ .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc == 0 in_addr=01020304 + -> osmo_ip_port_from_in_addr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc == 0 uint32_t=0x4030201 + -> osmo_ip_port_from_32() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + osmo_ip_port_to_32n() rc == 0 uint32_t=0x1020304 + -> osmo_ip_port_from_32n() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + osmo_ip_port_to_sockaddr_in() rc == 0 sockaddr_in=02000000010203040000000000000000 + -> osmo_ip_port_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0200000001020304000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + osmo_ip_port_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 } + + +{ .af = AF_INET, .ip = "1.2.3:4:5", .port = 0 } + osmo_ip_port_is_set() = false + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000 + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=02000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000 + osmo_ip_port_to_sockaddr() rc < 0 sockaddr_storage=0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "1.2.3:4:5", .port = 0 } + DIFFERS! + + +{ .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 } + osmo_ip_port_is_set() = true + osmo_ip_port_to_in_addr() rc < 0 in_addr=00000000 + osmo_ip_port_to_in6_addr() rc == 0 in6_addr=0000000000000000000000010a090807 + -> osmo_ip_port_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 } + DIFFERS! + osmo_ip_port_to_32() rc < 0 uint32_t=0x0 + osmo_ip_port_to_32n() rc < 0 uint32_t=0x0 + osmo_ip_port_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000 + osmo_ip_port_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000001000000000000000000000000000000010a09080700000000 + -> osmo_ip_port_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 } + DIFFERS! + osmo_ip_port_to_sockaddr() rc == 0 sockaddr_storage=0a000001000000000000000000000000000000010a0908070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + -> osmo_ip_port_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 } + DIFFERS! + osmo_ip_port_from_str() rc == 0 { .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 } diff --git a/tests/testsuite.at b/tests/testsuite.at index edf127d..5d74af1 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -338,3 +338,9 @@ cat $abs_srcdir/use_count/use_count_test.err > experr AT_CHECK([$abs_top_builddir/tests/use_count/use_count_test], [0], [expout], [experr]) AT_CLEANUP + +AT_SETUP([ip_port]) +AT_KEYWORDS([ip_port]) +cat $abs_srcdir/ip_port/ip_port_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/ip_port/ip_port_test], [0], [expout], [ignore]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 23:20:17 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 23:20:17 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13123 to look at the new patch set (#3). Change subject: add osmo_ip_port API ...................................................................... add osmo_ip_port API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M include/Makefile.am A include/osmocom/core/ip_port.h M src/Makefile.am A src/ip_port.c M tests/Makefile.am A tests/ip_port/ip_port_test.c A tests/ip_port/ip_port_test.ok M tests/testsuite.at 8 files changed, 995 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/3 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 23:20:30 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 23:20:30 +0000 Subject: Change in libosmocore[master]: represent negative T-timers as Osmocom-specific X-timers In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/12988 ) Change subject: represent negative T-timers as Osmocom-specific X-timers ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/12988 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3a59457623da9309fbbda235fe18fadd1636bff6 Gerrit-Change-Number: 12988 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 04 Mar 2019 23:20:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 4 23:53:48 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 4 Mar 2019 23:53:48 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13123 to look at the new patch set (#4). Change subject: add osmo_ip_port API ...................................................................... add osmo_ip_port API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M configure.ac M include/Makefile.am A include/osmocom/core/ip_port.h M src/Makefile.am A src/ip_port.c M tests/Makefile.am A tests/ip_port/ip_port_test.c A tests/ip_port/ip_port_test.ok M tests/testsuite.at 9 files changed, 1,007 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/4 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 02:52:45 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 02:52:45 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a type attribute to the resource definition In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13074 ) Change subject: resource: Introduce a type attribute to the resource definition ...................................................................... resource: Introduce a type attribute to the resource definition Change-Id: Ie1fd10ec878311b7347118badb1b9dce5b49e976 --- M src/osmo_gsm_tester/resource.py 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 98651ce..a536e18 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -75,6 +75,7 @@ 'bts[].osmo_trx.multi_arfcn': schema.BOOL_STR, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, + 'modem[].type': schema.STR, 'modem[].label': schema.STR, 'modem[].path': schema.STR, 'modem[].imsi': schema.IMSI, -- To view, visit https://gerrit.osmocom.org/13074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie1fd10ec878311b7347118badb1b9dce5b49e976 Gerrit-Change-Number: 13074 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:05:14 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:05:14 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Use a factory to initiate a modem In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13075 to look at the new patch set (#6). Change subject: resource: Use a factory to initiate a modem ...................................................................... resource: Use a factory to initiate a modem Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 2 files changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/75/13075/6 -- To view, visit https://gerrit.osmocom.org/13075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af Gerrit-Change-Number: 13075 Gerrit-PatchSet: 6 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:05:14 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:05:14 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13076 to look at the new patch set (#6). Change subject: resource: Introduce a base class for the modem ...................................................................... resource: Introduce a base class for the modem Extract IMSI, KI and authentication algorithm into a base class. Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 --- M src/osmo_gsm_tester/modem.py A src/osmo_gsm_tester/ms.py 2 files changed, 44 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/13076/6 -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 6 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:08:38 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:08:38 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13029 ) Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I49a821e8e4656466259e519ef901726cbb76ef86 Gerrit-Change-Number: 13029 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 03:08:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:31:39 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:31:39 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13029 ) Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... nitb_netreg_mass: Add code to declare a run successful/failure Change-Id: I49a821e8e4656466259e519ef901726cbb76ef86 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_ms_driver/location_update_test.py M suites/nitb_netreg_mass/register_default_mass.py 3 files changed, 71 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index e8e543c..de2f967 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -146,6 +146,18 @@ """ self._test_case.print_stats() + def get_stats(self): + """ + Returns a statistical summary of the test. + """ + return self._test_case.get_stats() + + def get_result_values(self): + """ + Returns the raw result values of the test run in any order. + """ + return self._test_case.get_result_values() + def cleanup(self): """ Cleans up the driver (e.g. AF_UNIX files). diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index 8500607..f14bd28 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -23,9 +23,11 @@ from datetime import timedelta +import collections import time class LUResult(Results): + """Representation of a Location Updating Result.""" def __init__(self, name): super().__init__(name) @@ -44,6 +46,10 @@ def lu_delay(self): return self.lu_time() - self.start_time() + +LUStats = collections.namedtuple("LUStats", ["num_attempted", "num_completed", + "min_latency", "max_latency"]) + class MassUpdateLocationTest(log.Origin): """ A test to launch a configurable amount of MS and make them @@ -207,9 +213,24 @@ max_value = result.lu_delay() return min_value, max_value + def get_result_values(self): + """ + Returns the raw result values of the test run in any order. + """ + return self._results.values() + + def get_stats(self): + """ + Returns a statistical summary of the test. + """ + attempted = self._number_of_ms + completed = attempted - self._outstanding + min_latency, max_latency = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) + return LUStats(attempted, completed, min_latency, max_latency) + def print_stats(self): - all_completed = self.all_completed() - min_value, max_value = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) + stats = self.get_stats() + all_completed = stats.num_attempted == stats.num_completed self.log("Tests done", all_completed=all_completed, - min=min_value, max=max_value) + min=stats.min_latency, max=stats.max_latency) diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/suites/nitb_netreg_mass/register_default_mass.py index ede2b74..8259359 100644 --- a/suites/nitb_netreg_mass/register_default_mass.py +++ b/suites/nitb_netreg_mass/register_default_mass.py @@ -1,16 +1,17 @@ #!/usr/bin/env python3 """ -Run a network registration with a 'massive' amount of MS +Runs a network registration with a 'massive' amount of MS using the ms_driver infrastructure. """ from osmo_gsm_tester.testenv import * +from datetime import timedelta -print('use resources...') +print('Claiming resources for the test') nitb = suite.nitb() bts = suite.bts() ms_driver = suite.ms_driver() -print('start nitb and bts...') +print('Launching a simple network') nitb.bts_add(bts) nitb.start() bts.start() @@ -23,5 +24,35 @@ # Run the base test. ms_driver.run_test() -# Print stats +# Print the stats of the run. ms_driver.print_stats() + +# Evaluate if this run was successful or not. Our initial acceptance criteria +# is quite basic but it should allow us to scale to a larger number of MS and +# reasons (e.g. have a full BCCH). +# +# 99% of LUs should complete +# 99% of successful LUs should complete within 10s. +stats = ms_driver.get_stats() +if len(mobiles) > 0 and stats.num_completed < 1: + raise Exception("No run completed.") +completion_ratio = stats.num_attempted / stats.num_completed + +# Verify that 99% of LUs completed. +if completion_ratio < 0.99: + raise Exception("Completion ratio of %f%% lower than threshold." % (completion_ratio * 100.0)) + +# Check how many results are below our threshold. +acceptable_delay = timedelta(seconds=20) +results = ms_driver.get_result_values() +quick_enough = 0 +for result in results: + if not result.has_lu_time(): + continue + if timedelta(seconds=result.lu_delay()) >= acceptable_delay: + continue + quick_enough = quick_enough + 1 + +latency_ratio = quick_enough / len(results) +if latency_ratio < 0.99: + raise Exception("Latency ratio of %f%% lower than threshold." % (latency_ratio * 100.0)) -- To view, visit https://gerrit.osmocom.org/13029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I49a821e8e4656466259e519ef901726cbb76ef86 Gerrit-Change-Number: 13029 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:38:10 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:38:10 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13087 to look at the new patch set (#3). Change subject: process: Make killing processes non-sequential ...................................................................... process: Make killing processes non-sequential Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 --- M selftest/suite_test.ok M src/osmo_gsm_tester/process.py 2 files changed, 129 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/13087/3 -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:53:04 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:53:04 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13087 ) Change subject: process: Make killing processes non-sequential ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 03:53:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:53:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:53:13 +0000 Subject: Change in osmo-gsm-tester[master]: process: Make killing processes non-sequential In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13087 ) Change subject: process: Make killing processes non-sequential ...................................................................... process: Make killing processes non-sequential Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 --- M selftest/suite_test.ok M src/osmo_gsm_tester/process.py 2 files changed, 129 insertions(+), 3 deletions(-) Approvals: Holger Freyther: Looks good to me, approved Jenkins Builder: Verified diff --git a/selftest/suite_test.ok b/selftest/suite_test.ok index 908f24f..85e94b2 100644 --- a/selftest/suite_test.ok +++ b/selftest/suite_test.ok @@ -96,6 +96,14 @@ tst hello_world.py:[LINENR]: two [test_suite?hello_world.py:[LINENR]] tst hello_world.py:[LINENR]: three [test_suite?hello_world.py:[LINENR]] tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suite?hello_world.py] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- @@ -119,6 +127,14 @@ tst test_error.py:[LINENR]: I am 'test_suite' / 'test_error.py:[LINENR]' [test_suite?test_error.py:[LINENR]] [test_error.py:[LINENR]] tst test_error.py:[LINENR]: ERR: AssertionError: test_error.py:[LINENR]: assert False [test_suite?test_error.py:[LINENR]] [test_error.py:[LINENR]: assert False] tst test_error.py:[LINENR]: Test FAILED (N.N sec) [test_suite?test_error.py:[LINENR]] [test.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- @@ -142,6 +158,14 @@ tst test_fail.py:[LINENR]: I am 'test_suite' / 'test_fail.py:[LINENR]' [test_suite?test_fail.py:[LINENR]] [test_fail.py:[LINENR]] tst test_fail.py:[LINENR]: ERR: EpicFail: This failure is expected [test_suite?test_fail.py:[LINENR]] [test_fail.py:[LINENR]] tst test_fail.py:[LINENR]: Test FAILED (N.N sec) [test_suite?test_fail.py:[LINENR]] [test.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- @@ -164,6 +188,14 @@ ---------------------------------------------- tst test_fail_raise.py:[LINENR]: ERR: ExpectedFail: This failure is expected [test_suite?test_fail_raise.py:[LINENR]] [test_fail_raise.py:[LINENR]: raise ExpectedFail('This failure is expected')] tst test_fail_raise.py:[LINENR]: Test FAILED (N.N sec) [test_suite?test_fail_raise.py:[LINENR]] [test.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- @@ -251,6 +283,14 @@ tst hello_world.py:[LINENR]: two [test_suite?hello_world.py:[LINENR]] [hello_world.py:[LINENR]] tst hello_world.py:[LINENR]: three [test_suite?hello_world.py:[LINENR]] [hello_world.py:[LINENR]] tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suite?hello_world.py] [test.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- @@ -338,6 +378,14 @@ tst hello_world.py:[LINENR]: two [test_suite?hello_world.py:[LINENR]] [hello_world.py:[LINENR]] tst hello_world.py:[LINENR]: three [test_suite?hello_world.py:[LINENR]] [hello_world.py:[LINENR]] tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suite?hello_world.py] [test.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- @@ -471,6 +519,14 @@ tst hello_world.py:[LINENR]: two [test_suite?hello_world.py:[LINENR]] [hello_world.py:[LINENR]] tst hello_world.py:[LINENR]: three [test_suite?hello_world.py:[LINENR]] [hello_world.py:[LINENR]] tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suite?hello_world.py] [test.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Scheduled to terminate 0 processes. [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGTERM [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGINT [process.py:[LINENR]] +--- ParallelTerminationStrategy: DBG: Starting to kill with SIGKILL [process.py:[LINENR]] --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index 3050f83..a104e10 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -47,10 +47,75 @@ class ParallelTerminationStrategy(TerminationStrategy): """Processes will be terminated in parallel.""" - def terminate_all(self): - # TODO(zecke): Actually make this non-sequential. + def _prune_dead_processes(self, poll_first): + """Removes all dead processes from the list.""" + # Remove all processes that terminated! + self._processes = list(filter(lambda proc: proc.is_running(poll_first), self._processes)) + + def _build_process_map(self): + """Builds a mapping from pid to process.""" + self._process_map = {} for process in self._processes: - process.terminate() + pid = process.pid() + if pid is None: + continue + self._process_map[pid] = process + + def _poll_once(self): + """Polls for to be collected children once.""" + pid, result = os.waitpid(0, os.WNOHANG) + # Did some other process die? + if pid == 0: + return False + proc = self._process_map.get(pid) + if proc is None: + self.dbg("Unknown process with pid(%d) died." % pid) + return False + # Update the process state and forget about it + self.log("PID %d died..." % pid) + proc.result = result + proc.cleanup() + self._processes.remove(proc) + del self._process_map[pid] + return True + + def _poll_for_termination(self, time_to_wait_for_term=5): + """Waits for the termination of processes until timeout|all ended.""" + + wait_step = 0.001 + waited_time = 0 + while len(self._processes) > 0: + # Collect processes until there are none to be collected. + while True: + try: + if not self._poll_once(): + break + except ChildProcessError: + break + + # All processes died and we can return before sleeping + if len(self._processes) == 0: + break + waited_time += wait_step + # make wait_step approach 1.0 + wait_step = (1. + 5. * wait_step) / 6. + if waited_time >= time_to_wait_for_term: + break + time.sleep(wait_step) + + def terminate_all(self): + self.dbg("Scheduled to terminate %d processes." % len(self._processes)) + self._prune_dead_processes(True) + self._build_process_map() + + # Iterate through all signals. + for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGKILL]: + self.dbg("Starting to kill with %s" % sig.name) + for process in self._processes: + process.kill(sig) + if sig == signal.SIGKILL: + continue + self._poll_for_termination() class Process(log.Origin): @@ -145,6 +210,11 @@ def send_signal(self, sig): os.kill(self.process_obj.pid, sig) + def pid(self): + if self.process_obj is None: + return None + return self.process_obj.pid + def kill(self, sig): """Kills the process with the given signal and remembers it.""" self.log('Terminating (%s)' % sig.name) -- To view, visit https://gerrit.osmocom.org/13087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5 Gerrit-Change-Number: 13087 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 03:53:32 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 03:53:32 +0000 Subject: Change in osmo-gsm-tester[master]: process: Introduce and use an asyncio strategy for killing In-Reply-To: References: Message-ID: Holger Freyther has abandoned this change. ( https://gerrit.osmocom.org/13088 ) Change subject: process: Introduce and use an asyncio strategy for killing ...................................................................... Abandoned We are not using asyncio for now.. and have bad event loop integration -- To view, visit https://gerrit.osmocom.org/13088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I3441e280241a5ee1404623f1f0b5faf56271227d Gerrit-Change-Number: 13088 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 06:34:33 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 06:34:33 +0000 Subject: Change in osmo-gsm-tester[master]: Revert "nitb_netreg_mass: Add code to declare a run successful/failure" Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13124 to review the following change. Change subject: Revert "nitb_netreg_mass: Add code to declare a run successful/failure" ...................................................................... Revert "nitb_netreg_mass: Add code to declare a run successful/failure" This reverts commit b4ad8d72431df2336b9c7fbc6eb9597daa80a35c. Reason for revert: There was a true dependency on earlier changes (len(mobiles)). Rollback until the resource configuration is merged. Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_ms_driver/location_update_test.py M suites/nitb_netreg_mass/register_default_mass.py 3 files changed, 7 insertions(+), 71 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/24/13124/1 diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index de2f967..e8e543c 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -146,18 +146,6 @@ """ self._test_case.print_stats() - def get_stats(self): - """ - Returns a statistical summary of the test. - """ - return self._test_case.get_stats() - - def get_result_values(self): - """ - Returns the raw result values of the test run in any order. - """ - return self._test_case.get_result_values() - def cleanup(self): """ Cleans up the driver (e.g. AF_UNIX files). diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index f14bd28..8500607 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -23,11 +23,9 @@ from datetime import timedelta -import collections import time class LUResult(Results): - """Representation of a Location Updating Result.""" def __init__(self, name): super().__init__(name) @@ -46,10 +44,6 @@ def lu_delay(self): return self.lu_time() - self.start_time() - -LUStats = collections.namedtuple("LUStats", ["num_attempted", "num_completed", - "min_latency", "max_latency"]) - class MassUpdateLocationTest(log.Origin): """ A test to launch a configurable amount of MS and make them @@ -213,24 +207,9 @@ max_value = result.lu_delay() return min_value, max_value - def get_result_values(self): - """ - Returns the raw result values of the test run in any order. - """ - return self._results.values() - - def get_stats(self): - """ - Returns a statistical summary of the test. - """ - attempted = self._number_of_ms - completed = attempted - self._outstanding - min_latency, max_latency = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) - return LUStats(attempted, completed, min_latency, max_latency) - def print_stats(self): - stats = self.get_stats() - all_completed = stats.num_attempted == stats.num_completed + all_completed = self.all_completed() + min_value, max_value = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) self.log("Tests done", all_completed=all_completed, - min=stats.min_latency, max=stats.max_latency) + min=min_value, max=max_value) diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/suites/nitb_netreg_mass/register_default_mass.py index 8259359..ede2b74 100644 --- a/suites/nitb_netreg_mass/register_default_mass.py +++ b/suites/nitb_netreg_mass/register_default_mass.py @@ -1,17 +1,16 @@ #!/usr/bin/env python3 """ -Runs a network registration with a 'massive' amount of MS +Run a network registration with a 'massive' amount of MS using the ms_driver infrastructure. """ from osmo_gsm_tester.testenv import * -from datetime import timedelta -print('Claiming resources for the test') +print('use resources...') nitb = suite.nitb() bts = suite.bts() ms_driver = suite.ms_driver() -print('Launching a simple network') +print('start nitb and bts...') nitb.bts_add(bts) nitb.start() bts.start() @@ -24,35 +23,5 @@ # Run the base test. ms_driver.run_test() -# Print the stats of the run. +# Print stats ms_driver.print_stats() - -# Evaluate if this run was successful or not. Our initial acceptance criteria -# is quite basic but it should allow us to scale to a larger number of MS and -# reasons (e.g. have a full BCCH). -# -# 99% of LUs should complete -# 99% of successful LUs should complete within 10s. -stats = ms_driver.get_stats() -if len(mobiles) > 0 and stats.num_completed < 1: - raise Exception("No run completed.") -completion_ratio = stats.num_attempted / stats.num_completed - -# Verify that 99% of LUs completed. -if completion_ratio < 0.99: - raise Exception("Completion ratio of %f%% lower than threshold." % (completion_ratio * 100.0)) - -# Check how many results are below our threshold. -acceptable_delay = timedelta(seconds=20) -results = ms_driver.get_result_values() -quick_enough = 0 -for result in results: - if not result.has_lu_time(): - continue - if timedelta(seconds=result.lu_delay()) >= acceptable_delay: - continue - quick_enough = quick_enough + 1 - -latency_ratio = quick_enough / len(results) -if latency_ratio < 0.99: - raise Exception("Latency ratio of %f%% lower than threshold." % (latency_ratio * 100.0)) -- To view, visit https://gerrit.osmocom.org/13124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb Gerrit-Change-Number: 13124 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 06:34:34 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 06:34:34 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Holger Freyther has created a revert of this change. ( https://gerrit.osmocom.org/13029 ) Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... -- To view, visit https://gerrit.osmocom.org/13029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: revert Gerrit-Change-Id: I49a821e8e4656466259e519ef901726cbb76ef86 Gerrit-Change-Number: 13029 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 06:38:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 06:38:13 +0000 Subject: Change in osmo-ci[master]: python: Add pyflakes for some static analysis Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13125 Change subject: python: Add pyflakes for some static analysis ...................................................................... python: Add pyflakes for some static analysis Be able to run pyflakes as part of the CI process. Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/25/13125/1 diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index b2c1c9a..c365380 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -54,6 +54,7 @@ RUN pip3 install git+git://github.com/podshumok/python-smpplib.git RUN pip3 install pydbus RUN pip3 install pysispm +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3-pyflakes ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh -- To view, visit https://gerrit.osmocom.org/13125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed Gerrit-Change-Number: 13125 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 06:38:14 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 06:38:14 +0000 Subject: Change in osmo-ci[master]: gsm-tester: Run the virtual tests as part of gerrit verification as well Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13126 Change subject: gsm-tester: Run the virtual tests as part of gerrit verification as well ...................................................................... gsm-tester: Run the virtual tests as part of gerrit verification as well Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 --- M jobs/osmo-gsm-tester_run-gerrit.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/26/13126/1 diff --git a/jobs/osmo-gsm-tester_run-gerrit.sh b/jobs/osmo-gsm-tester_run-gerrit.sh index 4f250be..cb999a1 100644 --- a/jobs/osmo-gsm-tester_run-gerrit.sh +++ b/jobs/osmo-gsm-tester_run-gerrit.sh @@ -10,5 +10,5 @@ unlink osmo-gsm-tester/example/resources.conf || true ln -s resources.conf.prod osmo-gsm-tester/example/resources.conf -export OSMO_GSM_TESTER_OPTS="-s nitb_sms:sysmo -s sms:sysmo -s gprs:sysmo" +export OSMO_GSM_TESTER_OPTS="-s nitb_sms:sysmo -s sms:sysmo -s gprs:sysmo -s nitb -s nitb_netreg_mass" ./osmo-gsm-tester/contrib/jenkins-make-check-and-run.sh -- To view, visit https://gerrit.osmocom.org/13126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 Gerrit-Change-Number: 13126 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 07:50:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 07:50:03 +0000 Subject: Change in libosmocore[master]: api doc: tweak gsm0808_cell_id_matches_list() doc In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13120 ) Change subject: api doc: tweak gsm0808_cell_id_matches_list() doc ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ide94558d1c31356483252b83e04b061b4ee4d3bf Gerrit-Change-Number: 13120 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 05 Mar 2019 07:50:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:38:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 5 Mar 2019 09:38:56 +0000 Subject: Change in osmo-mgw[master]: AMR: Add option to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13082 ) Change subject: AMR: Add option to convert between bw-effient and octet aligned mode ...................................................................... Patch Set 2: > what I don't like here is that this implements "blind" change from > one type to another type, on a global scope for the entire MGW. > I'd much rather see this more fine-grained: Only on the AoIP-facing > connections, and only if the BSC actually asks us to. See my other > comment. I see the problem. I will check the specs what we can do here. Maybe we should even be more restrictive and configure at the BSC vty which exact packet format is spoken on the AoIP side. Maybe we can apply this to the HRv1 problem then as well. -- To view, visit https://gerrit.osmocom.org/13082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id46a3622a6b1995d5fce4bc611d409bcb4aef13b Gerrit-Change-Number: 13082 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 09:38:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:44:30 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 09:44:30 +0000 Subject: Change in osmo-gsm-tester[master]: Revert "nitb_netreg_mass: Add code to declare a run successful/failure" In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13124 ) Change subject: Revert "nitb_netreg_mass: Add code to declare a run successful/failure" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb Gerrit-Change-Number: 13124 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 09:44:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:44:38 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 09:44:38 +0000 Subject: Change in osmo-gsm-tester[master]: Revert "nitb_netreg_mass: Add code to declare a run successful/failure" In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13124 ) Change subject: Revert "nitb_netreg_mass: Add code to declare a run successful/failure" ...................................................................... Revert "nitb_netreg_mass: Add code to declare a run successful/failure" This reverts commit b4ad8d72431df2336b9c7fbc6eb9597daa80a35c. Reason for revert: There was a true dependency on earlier changes (len(mobiles)). Rollback until the resource configuration is merged. Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_ms_driver/location_update_test.py M suites/nitb_netreg_mass/register_default_mass.py 3 files changed, 7 insertions(+), 71 deletions(-) Approvals: Holger Freyther: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index de2f967..e8e543c 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -146,18 +146,6 @@ """ self._test_case.print_stats() - def get_stats(self): - """ - Returns a statistical summary of the test. - """ - return self._test_case.get_stats() - - def get_result_values(self): - """ - Returns the raw result values of the test run in any order. - """ - return self._test_case.get_result_values() - def cleanup(self): """ Cleans up the driver (e.g. AF_UNIX files). diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index f14bd28..8500607 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -23,11 +23,9 @@ from datetime import timedelta -import collections import time class LUResult(Results): - """Representation of a Location Updating Result.""" def __init__(self, name): super().__init__(name) @@ -46,10 +44,6 @@ def lu_delay(self): return self.lu_time() - self.start_time() - -LUStats = collections.namedtuple("LUStats", ["num_attempted", "num_completed", - "min_latency", "max_latency"]) - class MassUpdateLocationTest(log.Origin): """ A test to launch a configurable amount of MS and make them @@ -213,24 +207,9 @@ max_value = result.lu_delay() return min_value, max_value - def get_result_values(self): - """ - Returns the raw result values of the test run in any order. - """ - return self._results.values() - - def get_stats(self): - """ - Returns a statistical summary of the test. - """ - attempted = self._number_of_ms - completed = attempted - self._outstanding - min_latency, max_latency = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) - return LUStats(attempted, completed, min_latency, max_latency) - def print_stats(self): - stats = self.get_stats() - all_completed = stats.num_attempted == stats.num_completed + all_completed = self.all_completed() + min_value, max_value = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) self.log("Tests done", all_completed=all_completed, - min=stats.min_latency, max=stats.max_latency) + min=min_value, max=max_value) diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/suites/nitb_netreg_mass/register_default_mass.py index 8259359..ede2b74 100644 --- a/suites/nitb_netreg_mass/register_default_mass.py +++ b/suites/nitb_netreg_mass/register_default_mass.py @@ -1,17 +1,16 @@ #!/usr/bin/env python3 """ -Runs a network registration with a 'massive' amount of MS +Run a network registration with a 'massive' amount of MS using the ms_driver infrastructure. """ from osmo_gsm_tester.testenv import * -from datetime import timedelta -print('Claiming resources for the test') +print('use resources...') nitb = suite.nitb() bts = suite.bts() ms_driver = suite.ms_driver() -print('Launching a simple network') +print('start nitb and bts...') nitb.bts_add(bts) nitb.start() bts.start() @@ -24,35 +23,5 @@ # Run the base test. ms_driver.run_test() -# Print the stats of the run. +# Print stats ms_driver.print_stats() - -# Evaluate if this run was successful or not. Our initial acceptance criteria -# is quite basic but it should allow us to scale to a larger number of MS and -# reasons (e.g. have a full BCCH). -# -# 99% of LUs should complete -# 99% of successful LUs should complete within 10s. -stats = ms_driver.get_stats() -if len(mobiles) > 0 and stats.num_completed < 1: - raise Exception("No run completed.") -completion_ratio = stats.num_attempted / stats.num_completed - -# Verify that 99% of LUs completed. -if completion_ratio < 0.99: - raise Exception("Completion ratio of %f%% lower than threshold." % (completion_ratio * 100.0)) - -# Check how many results are below our threshold. -acceptable_delay = timedelta(seconds=20) -results = ms_driver.get_result_values() -quick_enough = 0 -for result in results: - if not result.has_lu_time(): - continue - if timedelta(seconds=result.lu_delay()) >= acceptable_delay: - continue - quick_enough = quick_enough + 1 - -latency_ratio = quick_enough / len(results) -if latency_ratio < 0.99: - raise Exception("Latency ratio of %f%% lower than threshold." % (latency_ratio * 100.0)) -- To view, visit https://gerrit.osmocom.org/13124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb Gerrit-Change-Number: 13124 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:50:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 Mar 2019 09:50:50 +0000 Subject: Change in osmo-dev[master]: Add .gitreview In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13109 ) Change subject: Add .gitreview ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 Gerrit-Change-Number: 13109 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 09:50:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:50:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 Mar 2019 09:50:53 +0000 Subject: Change in osmo-dev[master]: Add .gitreview In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13109 ) Change subject: Add .gitreview ...................................................................... Add .gitreview Allows downloading patches quickly with 'git review -d 1308' and other shortcurts. We also have this in the other Osmocom repositories. Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 --- A .gitreview 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, but someone else must approve Neels Hofmeyr: Looks good to me, approved osmith: Verified diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..dabcab9 --- /dev/null +++ b/.gitreview @@ -0,0 +1,3 @@ +[gerrit] +host=gerrit.osmocom.org +project=osmo-dev -- To view, visit https://gerrit.osmocom.org/13109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I18712cf0779ec65389736132ad6b40e629c37dc6 Gerrit-Change-Number: 13109 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:53:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 09:53:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13127 Change subject: TC_rach_content(): fail test explicitly ...................................................................... TC_rach_content(): fail test explicitly By default Misc_Helpers.f_shutdown() will set test verdict to 'none'. Let's fail test explicitly if we had any timeouts. Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/13127/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 279b437..ec9ec6a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1023,6 +1023,8 @@ } if (test_failed == false) { setverdict(pass); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Some out of 1000 RACH requests timed out")); } Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:55:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 09:55:34 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: (2 comments) I don't want to discourage you, but I cannot help if something less generic might be upt to the task. This quickly unfolds in tons of heap allocations and even more linear list traversals than I would normally like to see. Wouldn't it also be an otpion to have a limited set (array) of 'entry' inside the use count itself? That way we can avoid dynamic allocations for every 'entry' and the linear list iterations on lookup. And since the use_counter and all of its entries are then one big structure, that one could actually be statically part of a larger object of the user, avoiding any heap allocations at all? If you don't think it's possible to make a good fixed guess on the number of 'entries' (use counter buckets/classes is what I'd call them), then one could still make a compromise: use a [0] sized array at the end of the counter, and once you allocate the counter, you pass in the number of entries/classes/buckets that shall be allocated as part of the counter? That way we have dynamic number of entries at the expense of one heap allocation for the entire use_count? https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h File include/osmocom/core/use_count.h: https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 133 PS2, Line 133: talloc_object naming issue: this is basically just some opaque void * pointer, right? If nothing in the libosmocore use_count implementation actually treats this as 'talloc' object or context, then we should just call it 'priv', 'data', or 'user data'. Uers may then choose to store a talloc context or whatever else they may want to store. https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 150 PS2, Line 150: count I think it's rather difficult to understand that a given "entry" or "token" can have multiple "counts". I understand that it's something that's handy in the context of osmo-msc and the "multiple CM service requests". -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 09:55:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:56:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 09:56:35 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13122 ) Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... Patch Set 2: I'd appreciate some unit tests alongside the functions. -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 09:56:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 09:57:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 09:57:38 +0000 Subject: Change in libosmocore[master]: represent negative T-timers as Osmocom-specific X-timers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/12988 ) Change subject: represent negative T-timers as Osmocom-specific X-timers ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/12988 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3a59457623da9309fbbda235fe18fadd1636bff6 Gerrit-Change-Number: 12988 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Tue, 05 Mar 2019 09:57:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:05:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 10:05:32 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 4: (3 comments) I'm not opposed to merging this, I'm just raising some random questions that come to my mind. Feel free to use or ignore them. To me it seems like quite a bit of extra "abstraction" for what is essentialy containing the exact same information as sockaddr_storage. https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 47 PS4, Line 47: osmo_ip_port basically this looks like you're reinventing sockaddr_storage which is usually typecast to sockaddr_in / sockaddr_in6? I guess the only difference is that you're keeping the ip address as string, where as sockaddr_* keeps it in binary format. Is that really worth it? Could we not simply have a set of utility functions that work on sockaddr_storage instead? O r are our accesses 99% of the time for the string, and we basically want to cache the string and avoid converting from binary to string all the time? https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 51 PS4, Line 51: 46 there is a #define for the maximum length of an IPv6 address in string format somewhere in libc, AFAIR https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 80 PS4, Line 80: osmo_ip_port_to_32 normal convention in osmocom is lke memcpy(): Output argument is first, followed by input argument[s]. -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 10:05:32 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:09:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:09:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13127 to look at the new patch set (#2). Change subject: TC_rach_content(): fail test explicitly ...................................................................... TC_rach_content(): fail test explicitly By default Misc_Helpers.f_shutdown() will set test verdict to 'none'. Let's fail test explicitly if we had any timeouts. Related: OS#1854 Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/13127/2 -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:09:10 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:09:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): log successful allocations Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13128 Change subject: TC_rach_content(): log successful allocations ...................................................................... TC_rach_content(): log successful allocations It's helpful to compare RA value which works fine to those causing test failure as well as RA/FN values preceeding failed runs. Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Related: OS#1854 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/13128/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ec9ec6a..8a931a8 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1009,6 +1009,7 @@ T.start; alt { [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, ?))) { + log("[", i, "] CHAN RQD FN=", fn, " RA=", ra, " OK"); T.stop; } [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?))) { -- To view, visit https://gerrit.osmocom.org/13128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Gerrit-Change-Number: 13128 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:29:57 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 5 Mar 2019 10:29:57 +0000 Subject: Change in osmo-mgw[master]: AMR: Add option to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13082 ) Change subject: AMR: Add option to convert between bw-effient and octet aligned mode ...................................................................... Patch Set 2: > > what I don't like here is that this implements "blind" change > from > > one type to another type, on a global scope for the entire MGW. > > I'd much rather see this more fine-grained: Only on the > AoIP-facing > > connections, and only if the BSC actually asks us to. See my > other > > comment. > > I see the problem. I will check the specs what we can do here. > Maybe we should even be more restrictive and configure at the BSC > vty which exact packet format is spoken on the AoIP side. Maybe we > can apply this to the HRv1 problem then as well. There is indeed an SDP specified, which can be used to submit format specific parameters. The SDP string would look like this: a=fmtp:97 octet-align=1 I think this is how it should be done. osmo-msc should get a VTY option and depending on this option the MGW gets instructed to apply the conversion or not. -- To view, visit https://gerrit.osmocom.org/13082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id46a3622a6b1995d5fce4bc611d409bcb4aef13b Gerrit-Change-Number: 13082 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 10:29:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:32:39 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:32:39 +0000 Subject: Change in libosmocore[master]: coding: check gsm0503_rach_*() results Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13129 Change subject: coding: check gsm0503_rach_*() results ...................................................................... coding: check gsm0503_rach_*() results Check return value of RACH encode/decode functions and fail test on unexpected results. Change-Id: I41bfa808e3c064a11152e7ce8ee77a01d38a0744 Related: OS#1854 --- M tests/coding/coding_test.c 1 file changed, 10 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/29/13129/1 diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 7b4f2a5..2b0830f 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -104,13 +104,14 @@ static void test_rach(uint8_t bsic, uint8_t ra) { + int rc; uint8_t result; ubit_t bursts_u[36]; sbit_t bursts_s[36]; /* Encode L2 message */ - printf("Encoding: %02x\n", ra); - gsm0503_rach_ext_encode(bursts_u, ra, bsic, false); + rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, false); + printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -123,8 +124,8 @@ memset(bursts_s + 6, 0, 8); /* Decode, correcting errors */ - gsm0503_rach_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x\n", result); + rc = gsm0503_rach_decode_ber(&result, bursts_s, bsic, NULL, NULL); + printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); if (ra != result) printf("FAIL [RACH]: encoded %u != %u decoded\n", ra, result); @@ -134,13 +135,14 @@ static void test_rach_ext(uint8_t bsic, uint16_t ra) { + int rc; uint16_t result = 3000; /* Max ext. RA is 2^11 = 2048 */ ubit_t bursts_u[36]; sbit_t bursts_s[36]; /* Encode L2 message */ - printf("Encoding: %02x\n", ra); - gsm0503_rach_ext_encode(bursts_u, ra, bsic, true); + rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, true); + printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -153,8 +155,8 @@ memset(bursts_s + 9, 0, 8); /* Decode, correcting errors */ - gsm0503_rach_ext_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x\n", result); + rc = gsm0503_rach_ext_decode_ber(&result, bursts_s, bsic, NULL, NULL); + printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); if (ra != result) printf("FAIL [RACH ext]: encoded %u != %u decoded\n", ra, result); -- To view, visit https://gerrit.osmocom.org/13129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I41bfa808e3c064a11152e7ce8ee77a01d38a0744 Gerrit-Change-Number: 13129 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:45:10 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:45:10 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 51 PS4, Line 51: 46 > there is a #define for the maximum length of an IPv6 address in string format somewhere in libc, AFA [?] INET6_ADDRSTRLEN in arpa/inet.h - see b3e9b313838fe4c80acdf0a95e0cd9609370f8f2 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 10:45:10 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:47:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:47:11 +0000 Subject: Change in osmo-bsc[master]: cosmetic: drop unused struct mgcp_ctx shadow In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13117 ) Change subject: cosmetic: drop unused struct mgcp_ctx shadow ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If9c705e9fe6dba9225f7dec045e790af7a875ee8 Gerrit-Change-Number: 13117 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 05 Mar 2019 10:47:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:47:41 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:47:41 +0000 Subject: Change in libosmo-sccp[master]: debug log typo fix in sccp_scoc.c In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13119 ) Change subject: debug log typo fix in sccp_scoc.c ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd Gerrit-Change-Number: 13119 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 05 Mar 2019 10:47:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:53:05 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:53:05 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13118 ) Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... Patch Set 1: Code-Review-1 (3 comments) Please clarify. https://gerrit.osmocom.org/#/c/13118/1/src/sccp_user.c File src/sccp_user.c: https://gerrit.osmocom.org/#/c/13118/1/src/sccp_user.c at 349 PS1, Line 349: rc = memcmp(&a->ip.v4, &b->ip.v4, sizeof(a->ip.v4)); I'm confused - how do you use rc after setting it here? https://gerrit.osmocom.org/#/c/13118/1/src/sccp_user.c at 355 PS1, Line 355: rc = memcmp(&a->ip.v6, &b->ip.v6, sizeof(a->ip.v6)); Here too. https://gerrit.osmocom.org/#/c/13118/1/src/sccp_user.c at 365 PS1, Line 365: return 0; Maybe you should return rc here? -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 05 Mar 2019 10:53:05 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:54:58 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:54:58 +0000 Subject: Change in osmo-mgw[master]: mgcp client: allow setting conn mode for CRCX and MDCX In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13115 ) Change subject: mgcp client: allow setting conn mode for CRCX and MDCX ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc Gerrit-Change-Number: 13115 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 10:54:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:56:48 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:56:48 +0000 Subject: Change in osmo-mgw[master]: make codec_table public as osmo_mgcpc_codec_names In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13116 ) Change subject: make codec_table public as osmo_mgcpc_codec_names ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa Gerrit-Change-Number: 13116 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 05 Mar 2019 10:56:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 10:58:40 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 10:58:40 +0000 Subject: Change in osmo-mgw[master]: log: don't spam with "can not patch PT" messages In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13114 ) Change subject: log: don't spam with "can not patch PT" messages ...................................................................... Patch Set 1: Maybe it should be 'notice' or 'info' level at least if it's an actual error which needs fixing? -- To view, visit https://gerrit.osmocom.org/13114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4afc41fd472ec8ba887b9263fbac62de50d7cef9 Gerrit-Change-Number: 13114 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Tue, 05 Mar 2019 10:58:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 11:07:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 11:07:57 +0000 Subject: Change in osmo-pcu[master]: EDGE tests: remove no-op check In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13052 ) Change subject: EDGE tests: remove no-op check ...................................................................... Patch Set 1: > maybe this is to present a unified interface of GPRS and EGPRS coding? Maybe there are (future) cases where the return isn't envisioned as being const? Maybe so but I'm not sure that the envisioned future implementation will use headerType*() functions which expose rather low-level details like particular enum values. Hence I think it might be still beneficial to get rid of it now because there're no comments clarifying the actual intention. -- To view, visit https://gerrit.osmocom.org/13052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 Gerrit-Change-Number: 13052 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 11:07:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 11:11:02 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 11:11:02 +0000 Subject: Change in osmo-pcu[master]: EDGE tests: remove no-op check In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13052 to look at the new patch set (#2). Change subject: EDGE tests: remove no-op check ...................................................................... EDGE tests: remove no-op check The headerTypeControl() function always return constant and is only used inside OSMO_ASSERT() which compares it to the very same constant which makes it no-op. Let's remove this clutter. Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 --- M src/gprs_coding_scheme.h M tests/edge/EdgeTest.cpp 2 files changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/52/13052/2 -- To view, visit https://gerrit.osmocom.org/13052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 Gerrit-Change-Number: 13052 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 14:25:12 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 14:25:12 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13076 to look at the new patch set (#7). Change subject: resource: Introduce a base class for the modem ...................................................................... resource: Introduce a base class for the modem Extract IMSI, KI and authentication algorithm into a base class. Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 --- M src/osmo_gsm_tester/modem.py A src/osmo_gsm_tester/ms.py 2 files changed, 56 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/13076/7 -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 7 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 14:25:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 14:25:13 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13130 Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... nitb_netreg_mass: Add code to declare a run successful/failure Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_ms_driver/location_update_test.py M suites/nitb_netreg_mass/register_default_mass.py 3 files changed, 71 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/30/13130/1 diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index 8ee93b7..96b907a 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -118,6 +118,18 @@ """ self._test_case.print_stats() + def get_stats(self): + """ + Returns a statistical summary of the test. + """ + return self._test_case.get_stats() + + def get_result_values(self): + """ + Returns the raw result values of the test run in any order. + """ + return self._test_case.get_result_values() + def cleanup(self): """ Cleans up the driver (e.g. AF_UNIX files). diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index 2e3a648..5ff2199 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -23,9 +23,11 @@ from datetime import timedelta +import collections import time class LUResult(Results): + """Representation of a Location Updating Result.""" def __init__(self, name): super().__init__(name) @@ -44,6 +46,10 @@ def lu_delay(self): return self.lu_time() - self.start_time() + +LUStats = collections.namedtuple("LUStats", ["num_attempted", "num_completed", + "min_latency", "max_latency"]) + class MassUpdateLocationTest(log.Origin): """ A test to launch a configurable amount of MS and make them @@ -219,9 +225,24 @@ max_value = result.lu_delay() return min_value, max_value + def get_result_values(self): + """ + Returns the raw result values of the test run in any order. + """ + return self._results.values() + + def get_stats(self): + """ + Returns a statistical summary of the test. + """ + attempted = len(self._subscribers) + completed = attempted - self._outstanding + min_latency, max_latency = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) + return LUStats(attempted, completed, min_latency, max_latency) + def print_stats(self): - all_completed = self.all_completed() - min_value, max_value = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) + stats = self.get_stats() + all_completed = stats.num_attempted == stats.num_completed self.log("Tests done", all_completed=all_completed, - min=min_value, max=max_value) + min=stats.min_latency, max=stats.max_latency) diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/suites/nitb_netreg_mass/register_default_mass.py index 1033608..028e7e5 100644 --- a/suites/nitb_netreg_mass/register_default_mass.py +++ b/suites/nitb_netreg_mass/register_default_mass.py @@ -1,17 +1,18 @@ #!/usr/bin/env python3 """ -Run a network registration with a 'massive' amount of MS +Runs a network registration with a 'massive' amount of MS using the ms_driver infrastructure. """ from osmo_gsm_tester.testenv import * +from datetime import timedelta -print('use resources...') +print('Claiming resources for the test') nitb = suite.nitb() bts = suite.bts() ms_driver = suite.ms_driver() modems = suite.all_modems() -print('start nitb and bts...') +print('Launching a simple network') nitb.bts_add(bts) nitb.start() bts.start() @@ -25,5 +26,35 @@ # Run the base test. ms_driver.run_test() -# Print stats +# Print the stats of the run. ms_driver.print_stats() + +# Evaluate if this run was successful or not. Our initial acceptance criteria +# is quite basic but it should allow us to scale to a larger number of MS and +# reasons (e.g. have a full BCCH). +# +# 99% of LUs should complete +# 99% of successful LUs should complete within 10s. +stats = ms_driver.get_stats() +if len(modems) > 0 and stats.num_completed < 1: + raise Exception("No run completed.") +completion_ratio = stats.num_attempted / stats.num_completed + +# Verify that 99% of LUs completed. +if completion_ratio < 0.99: + raise Exception("Completion ratio of %f%% lower than threshold." % (completion_ratio * 100.0)) + +# Check how many results are below our threshold. +acceptable_delay = timedelta(seconds=20) +results = ms_driver.get_result_values() +quick_enough = 0 +for result in results: + if not result.has_lu_time(): + continue + if timedelta(seconds=result.lu_delay()) >= acceptable_delay: + continue + quick_enough = quick_enough + 1 + +latency_ratio = quick_enough / len(results) +if latency_ratio < 0.99: + raise Exception("Latency ratio of %f%% lower than threshold." % (latency_ratio * 100.0)) -- To view, visit https://gerrit.osmocom.org/13130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 Gerrit-Change-Number: 13130 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 14:25:13 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 14:25:13 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers Message-ID: Holger Freyther has uploaded this change for review. ( https://gerrit.osmocom.org/13131 Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... nitb_netreg_mass: Provide 100 subscribers Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b --- M example/resources.conf.virtual M suites/nitb_netreg_mass/suite.conf 2 files changed, 199 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/13131/1 diff --git a/example/resources.conf.virtual b/example/resources.conf.virtual index a27c76b..15cf0c8 100644 --- a/example/resources.conf.virtual +++ b/example/resources.conf.virtual @@ -63,3 +63,201 @@ type: mobile - imsi: "001010000000009" type: mobile + - imsi: "001020000000000" + type: mobile + - imsi: "001020000000001" + type: mobile + - imsi: "001020000000002" + type: mobile + - imsi: "001020000000003" + type: mobile + - imsi: "001020000000004" + type: mobile + - imsi: "001020000000005" + type: mobile + - imsi: "001020000000006" + type: mobile + - imsi: "001020000000007" + type: mobile + - imsi: "001020000000008" + type: mobile + - imsi: "001020000000009" + type: mobile + - imsi: "001020000000009" + type: mobile + - imsi: "001030000000000" + type: mobile + - imsi: "001030000000001" + type: mobile + - imsi: "001030000000002" + type: mobile + - imsi: "001030000000003" + type: mobile + - imsi: "001030000000004" + type: mobile + - imsi: "001030000000005" + type: mobile + - imsi: "001030000000006" + type: mobile + - imsi: "001030000000007" + type: mobile + - imsi: "001030000000008" + type: mobile + - imsi: "001030000000009" + type: mobile + - imsi: "001030000000009" + type: mobile + - imsi: "001040000000000" + type: mobile + - imsi: "001040000000001" + type: mobile + - imsi: "001040000000002" + type: mobile + - imsi: "001040000000003" + type: mobile + - imsi: "001040000000004" + type: mobile + - imsi: "001040000000005" + type: mobile + - imsi: "001040000000006" + type: mobile + - imsi: "001040000000007" + type: mobile + - imsi: "001040000000008" + type: mobile + - imsi: "001040000000009" + type: mobile + - imsi: "001040000000009" + type: mobile + - imsi: "001050000000000" + type: mobile + - imsi: "001050000000001" + type: mobile + - imsi: "001050000000002" + type: mobile + - imsi: "001050000000003" + type: mobile + - imsi: "001050000000004" + type: mobile + - imsi: "001050000000005" + type: mobile + - imsi: "001050000000006" + type: mobile + - imsi: "001050000000007" + type: mobile + - imsi: "001050000000008" + type: mobile + - imsi: "001050000000009" + type: mobile + - imsi: "001050000000009" + type: mobile + - imsi: "001060000000000" + type: mobile + - imsi: "001060000000001" + type: mobile + - imsi: "001060000000002" + type: mobile + - imsi: "001060000000003" + type: mobile + - imsi: "001060000000004" + type: mobile + - imsi: "001060000000005" + type: mobile + - imsi: "001060000000006" + type: mobile + - imsi: "001060000000007" + type: mobile + - imsi: "001060000000008" + type: mobile + - imsi: "001060000000009" + type: mobile + - imsi: "001060000000009" + type: mobile + - imsi: "001070000000000" + type: mobile + - imsi: "001070000000001" + type: mobile + - imsi: "001070000000002" + type: mobile + - imsi: "001070000000003" + type: mobile + - imsi: "001070000000004" + type: mobile + - imsi: "001070000000005" + type: mobile + - imsi: "001070000000006" + type: mobile + - imsi: "001070000000007" + type: mobile + - imsi: "001070000000008" + type: mobile + - imsi: "001070000000009" + type: mobile + - imsi: "001070000000009" + type: mobile + - imsi: "001080000000000" + type: mobile + - imsi: "001080000000001" + type: mobile + - imsi: "001080000000002" + type: mobile + - imsi: "001080000000003" + type: mobile + - imsi: "001080000000004" + type: mobile + - imsi: "001080000000005" + type: mobile + - imsi: "001080000000006" + type: mobile + - imsi: "001080000000007" + type: mobile + - imsi: "001080000000008" + type: mobile + - imsi: "001080000000009" + type: mobile + - imsi: "001080000000009" + type: mobile + - imsi: "001090000000000" + type: mobile + - imsi: "001090000000001" + type: mobile + - imsi: "001090000000002" + type: mobile + - imsi: "001090000000003" + type: mobile + - imsi: "001090000000004" + type: mobile + - imsi: "001090000000005" + type: mobile + - imsi: "001090000000006" + type: mobile + - imsi: "001090000000007" + type: mobile + - imsi: "001090000000008" + type: mobile + - imsi: "001090000000009" + type: mobile + - imsi: "001090000000009" + type: mobile + - imsi: "001100000000000" + type: mobile + - imsi: "001100000000001" + type: mobile + - imsi: "001100000000002" + type: mobile + - imsi: "001100000000003" + type: mobile + - imsi: "001100000000004" + type: mobile + - imsi: "001100000000005" + type: mobile + - imsi: "001100000000006" + type: mobile + - imsi: "001100000000007" + type: mobile + - imsi: "001100000000008" + type: mobile + - imsi: "001100000000009" + type: mobile + - imsi: "001100000000009" + type: mobile diff --git a/suites/nitb_netreg_mass/suite.conf b/suites/nitb_netreg_mass/suite.conf index 6dfdeaf..ea5b8ba 100644 --- a/suites/nitb_netreg_mass/suite.conf +++ b/suites/nitb_netreg_mass/suite.conf @@ -4,7 +4,7 @@ bts: - type: osmo-bts-virtual modem: - - times: 10 + - times: 100 type: mobile defaults: -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 14:25:58 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 14:25:58 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Add a mobile resource for the virtual test In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13041 ) Change subject: resource: Add a mobile resource for the virtual test ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc Gerrit-Change-Number: 13041 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 05 Mar 2019 14:25:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 14:26:00 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 14:26:00 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 14:26:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 14:58:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 14:58:12 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Use a factory to initiate a modem In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13075 ) Change subject: resource: Use a factory to initiate a modem ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af Gerrit-Change-Number: 13075 Gerrit-PatchSet: 7 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 14:58:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:01:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:01:41 +0000 Subject: Change in osmo-ci[master]: python: Add pyflakes for some static analysis In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13125 ) Change subject: python: Add pyflakes for some static analysis ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed Gerrit-Change-Number: 13125 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:01:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:03:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:03:01 +0000 Subject: Change in osmo-ci[master]: gsm-tester: Run the virtual tests as part of gerrit verification as well In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13126 ) Change subject: gsm-tester: Run the virtual tests as part of gerrit verification as well ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13126/1/jobs/osmo-gsm-tester_run-gerrit.sh File jobs/osmo-gsm-tester_run-gerrit.sh: https://gerrit.osmocom.org/#/c/13126/1/jobs/osmo-gsm-tester_run-gerrit.sh at 13 PS1, Line 13: export OSMO_GSM_TESTER_OPTS="-s nitb_sms:sysmo -s sms:sysmo -s gprs:sysmo -s nitb -s nitb_netreg_mass" There's no suite "nitb". -- To view, visit https://gerrit.osmocom.org/13126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 Gerrit-Change-Number: 13126 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:03:01 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:07:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:07:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13127 ) Change subject: TC_rach_content(): fail test explicitly ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13127/2/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13127/2/bts/BTS_Tests.ttcn at 1024 PS2, Line 1024: if (test_failed == false) { What about simplifying: if (test_failed) Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Some out of 1000 RACH requests timed out")); setverdict(pass); Misc_Helpers.f_shutdown(__BFILE__, __LINE__); -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:07:41 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:09:25 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:09:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): log successful allocations In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13128 ) Change subject: TC_rach_content(): log successful allocations ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn at 1012 PS1, Line 1012: log("[", i, "] CHAN RQD FN=", fn, " RA=", ra, " OK"); You should be able to see those in the pcap file (because they are received on RSL), so no need to fill the log with 1000 lines like that. Better print fn and ra on line 1016. -- To view, visit https://gerrit.osmocom.org/13128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Gerrit-Change-Number: 13128 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:09:25 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:12:20 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:12:20 +0000 Subject: Change in libosmocore[master]: coding: check gsm0503_rach_*() results In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13129 ) Change subject: coding: check gsm0503_rach_*() results ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I41bfa808e3c064a11152e7ce8ee77a01d38a0744 Gerrit-Change-Number: 13129 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:12:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:13:17 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:13:17 +0000 Subject: Change in osmo-bsc[master]: cosmetic: drop unused struct mgcp_ctx shadow In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13117 ) Change subject: cosmetic: drop unused struct mgcp_ctx shadow ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If9c705e9fe6dba9225f7dec045e790af7a875ee8 Gerrit-Change-Number: 13117 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:13:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:13:59 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:13:59 +0000 Subject: Change in libosmo-sccp[master]: debug log typo fix in sccp_scoc.c In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13119 ) Change subject: debug log typo fix in sccp_scoc.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd Gerrit-Change-Number: 13119 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:13:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:17:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:17:49 +0000 Subject: Change in osmo-mgw[master]: mgcp client: allow setting conn mode for CRCX and MDCX In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13115 ) Change subject: mgcp client: allow setting conn mode for CRCX and MDCX ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13115/1/include/osmocom/mgcp_client/mgcp_client_fsm.h File include/osmocom/mgcp_client/mgcp_client_fsm.h: https://gerrit.osmocom.org/#/c/13115/1/include/osmocom/mgcp_client/mgcp_client_fsm.h at 53 PS1, Line 53: enum mgcp_connection_mode conn_mode; Can we call this and related symbols "forced_conn_mode" ? It's much more clear this way. -- To view, visit https://gerrit.osmocom.org/13115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc Gerrit-Change-Number: 13115 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 15:17:49 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:18:55 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:18:55 +0000 Subject: Change in osmo-mgw[master]: make codec_table public as osmo_mgcpc_codec_names In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13116 ) Change subject: make codec_table public as osmo_mgcpc_codec_names ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa Gerrit-Change-Number: 13116 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 15:18:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:21:17 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:21:17 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13076 ) Change subject: resource: Introduce a base class for the modem ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 7 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:21:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:22:26 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 Mar 2019 15:22:26 +0000 Subject: Change in osmo-pcu[master]: EDGE tests: remove no-op check In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13052 ) Change subject: EDGE tests: remove no-op check ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 Gerrit-Change-Number: 13052 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 15:22:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:24:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 Mar 2019 15:24:52 +0000 Subject: Change in libosmocore[master]: coding: check gsm0503_rach_*() results In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13129 ) Change subject: coding: check gsm0503_rach_*() results ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I41bfa808e3c064a11152e7ce8ee77a01d38a0744 Gerrit-Change-Number: 13129 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 15:24:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:25:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:25:41 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Add a mobile resource for the virtual test In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13041 ) Change subject: resource: Add a mobile resource for the virtual test ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/ms.py File src/osmo_gsm_tester/ms.py: https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/ms.py at 52 PS3, Line 52: class Mobile(MS): Better move it to its own file, like ms_osmo_mobile.py Then calling the class MSOsmoMobile or similar. https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/ms.py at 54 PS3, Line 54: whitespace https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/resource.py at 114 PS3, Line 114: 'mobile': ms.Mobile, osmo-mobile would be better imho, "mobile" is too generic to understand what it is right away. https://gerrit.osmocom.org/#/c/13041/3/suites/nitb_netreg_mass/suite.conf File suites/nitb_netreg_mass/suite.conf: https://gerrit.osmocom.org/#/c/13041/3/suites/nitb_netreg_mass/suite.conf at 8 PS3, Line 8: type: mobile osmo-mobile -- To view, visit https://gerrit.osmocom.org/13041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc Gerrit-Change-Number: 13041 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:25:41 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:32:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:32:42 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/#/c/13042/3/src/osmo_gsm_tester/suite.py File src/osmo_gsm_tester/suite.py: https://gerrit.osmocom.org/#/c/13042/3/src/osmo_gsm_tester/suite.py at 341 PS3, Line 341: def modems(self, count): We could do the same for this method actually (see below). https://gerrit.osmocom.org/#/c/13042/3/src/osmo_gsm_tester/suite.py at 347 PS3, Line 347: def all_modems(self): Can we make this generic?: def all_resources(self, resource_func): ... l.append(resource_func()) ... This way we can use it for any object, ex: suite.all_resources(suite.bts) https://gerrit.osmocom.org/#/c/13042/3/suites/nitb_netreg_mass/register_default_mass.py File suites/nitb_netreg_mass/register_default_mass.py: https://gerrit.osmocom.org/#/c/13042/3/suites/nitb_netreg_mass/register_default_mass.py at 20 PS3, Line 20: # Configure all MS that are availavle to this test. avilable: typo. -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:32:42 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:34:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:34:31 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13130 ) Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 Gerrit-Change-Number: 13130 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:34:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:35:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 Mar 2019 15:35:32 +0000 Subject: Change in osmo-ci[master]: python: Add pyflakes for some static analysis In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13125 ) Change subject: python: Add pyflakes for some static analysis ...................................................................... Patch Set 1: Have you considered flake8? >From https://pypi.org/project/pyflakes/: > If you like Pyflakes but also want stylistic checks, you want flake8, which combines Pyflakes with style checks against PEP 8 and adds per-project configuration ability. I'm using that a lot in another free software project, and it is incredibly helpful for a consistent code style. -- To view, visit https://gerrit.osmocom.org/13125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed Gerrit-Change-Number: 13125 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 15:35:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:35:35 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:35:35 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13131 ) Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13131/1/example/resources.conf.virtual File example/resources.conf.virtual: https://gerrit.osmocom.org/#/c/13131/1/example/resources.conf.virtual at 262 PS1, Line 262: - imsi: "001100000000009" Isn't this last one repeated? -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:35:35 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:37:28 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 15:37:28 +0000 Subject: Change in libosmocore[master]: coding: check gsm0503_rach_*() results In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13129 ) Change subject: coding: check gsm0503_rach_*() results ...................................................................... coding: check gsm0503_rach_*() results Check return value of RACH encode/decode functions and fail test on unexpected results. Change-Id: I41bfa808e3c064a11152e7ce8ee77a01d38a0744 Related: OS#1854 --- M tests/coding/coding_test.c 1 file changed, 10 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 7b4f2a5..2b0830f 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -104,13 +104,14 @@ static void test_rach(uint8_t bsic, uint8_t ra) { + int rc; uint8_t result; ubit_t bursts_u[36]; sbit_t bursts_s[36]; /* Encode L2 message */ - printf("Encoding: %02x\n", ra); - gsm0503_rach_ext_encode(bursts_u, ra, bsic, false); + rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, false); + printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -123,8 +124,8 @@ memset(bursts_s + 6, 0, 8); /* Decode, correcting errors */ - gsm0503_rach_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x\n", result); + rc = gsm0503_rach_decode_ber(&result, bursts_s, bsic, NULL, NULL); + printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); if (ra != result) printf("FAIL [RACH]: encoded %u != %u decoded\n", ra, result); @@ -134,13 +135,14 @@ static void test_rach_ext(uint8_t bsic, uint16_t ra) { + int rc; uint16_t result = 3000; /* Max ext. RA is 2^11 = 2048 */ ubit_t bursts_u[36]; sbit_t bursts_s[36]; /* Encode L2 message */ - printf("Encoding: %02x\n", ra); - gsm0503_rach_ext_encode(bursts_u, ra, bsic, true); + rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, true); + printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -153,8 +155,8 @@ memset(bursts_s + 9, 0, 8); /* Decode, correcting errors */ - gsm0503_rach_ext_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x\n", result); + rc = gsm0503_rach_ext_decode_ber(&result, bursts_s, bsic, NULL, NULL); + printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); if (ra != result) printf("FAIL [RACH ext]: encoded %u != %u decoded\n", ra, result); -- To view, visit https://gerrit.osmocom.org/13129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I41bfa808e3c064a11152e7ce8ee77a01d38a0744 Gerrit-Change-Number: 13129 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:38:25 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:38:25 +0000 Subject: Change in osmo-ci[master]: python: Add pyflakes for some static analysis In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13125 ) Change subject: python: Add pyflakes for some static analysis ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed Gerrit-Change-Number: 13125 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 15:38:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:38:28 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:38:28 +0000 Subject: Change in osmo-ci[master]: python: Add pyflakes for some static analysis In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13125 ) Change subject: python: Add pyflakes for some static analysis ...................................................................... python: Add pyflakes for some static analysis Be able to run pyflakes as part of the CI process. Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed --- M docker/Dockerfile_osmocom_jenkins.amd64 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Holger Freyther: Verified diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index b2c1c9a..c365380 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -54,6 +54,7 @@ RUN pip3 install git+git://github.com/podshumok/python-smpplib.git RUN pip3 install pydbus RUN pip3 install pysispm +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3-pyflakes ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh -- To view, visit https://gerrit.osmocom.org/13125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed Gerrit-Change-Number: 13125 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:39:57 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:39:57 +0000 Subject: Change in osmo-ci[master]: gsm-tester: Run the virtual tests as part of gerrit verification. In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13126 to look at the new patch set (#2). Change subject: gsm-tester: Run the virtual tests as part of gerrit verification. ...................................................................... gsm-tester: Run the virtual tests as part of gerrit verification. Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 --- M jobs/osmo-gsm-tester_run-gerrit.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/26/13126/2 -- To view, visit https://gerrit.osmocom.org/13126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 Gerrit-Change-Number: 13126 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:42:10 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:42:10 +0000 Subject: Change in osmo-ci[master]: gsm-tester: Run the virtual tests as part of gerrit verification. In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13126 ) Change subject: gsm-tester: Run the virtual tests as part of gerrit verification. ...................................................................... Patch Set 2: (1 comment) > Patch Set 1: Code-Review-1 > > (1 comment) https://gerrit.osmocom.org/#/c/13126/1/jobs/osmo-gsm-tester_run-gerrit.sh File jobs/osmo-gsm-tester_run-gerrit.sh: https://gerrit.osmocom.org/#/c/13126/1/jobs/osmo-gsm-tester_run-gerrit.sh at 13 PS1, Line 13: export OSMO_GSM_TESTER_OPTS="-s nitb_sms:sysmo -s sms:sysmo -s gprs:sysmo -s nitb_netreg_mass" > There's no suite "nitb". Done. Thanks for catching it. -- To view, visit https://gerrit.osmocom.org/13126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 Gerrit-Change-Number: 13126 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:42:10 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:43:14 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:43:14 +0000 Subject: Change in osmo-gsm-tester[master]: ms_driver: Move Subscriber into the ms_driver from gsm_tester In-Reply-To: References: Message-ID: Holger Freyther has abandoned this change. ( https://gerrit.osmocom.org/13040 ) Change subject: ms_driver: Move Subscriber into the ms_driver from gsm_tester ...................................................................... Abandoned Subscriber is dead in favor of a Mobile.. -- To view, visit https://gerrit.osmocom.org/13040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: Ia2fdf0232560f7cce3a88de174a4870872c29812 Gerrit-Change-Number: 13040 Gerrit-PatchSet: 1 Gerrit-Owner: Holger Freyther Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:46:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 15:46:31 +0000 Subject: Change in osmo-ci[master]: gsm-tester: Run the virtual tests as part of gerrit verification. In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13126 ) Change subject: gsm-tester: Run the virtual tests as part of gerrit verification. ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13126/2/jobs/osmo-gsm-tester_run-gerrit.sh File jobs/osmo-gsm-tester_run-gerrit.sh: https://gerrit.osmocom.org/#/c/13126/2/jobs/osmo-gsm-tester_run-gerrit.sh at 13 PS2, Line 13: export OSMO_GSM_TESTER_OPTS="-s nitb_sms:sysmo -s sms:sysmo -s gprs:sysmo -s nitb_netreg_mass" BW, now that I think about it, that's not going to work for gerrit job, since it runs in Prod setup with example/resources.conf.prod file which uses real modems, and nitb_netreg_mass uses osmo_bts_virtual, so no way the MS is going to work. If you use osmo-gsm-tester_run-gerrit.sh with the docker container and nitb_netreg_mass.conf.virtual, then either add "-s nitb_netreg_mass" here based on existance of an env variable passed to the script, or set OSMO_GSM_TESTER_OPTS here only if not set before. -- To view, visit https://gerrit.osmocom.org/13126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28a5f29cedc2c788fcde35633db67e944a5509d7 Gerrit-Change-Number: 13126 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 15:46:31 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:49:11 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:49:11 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Use a factory to initiate a modem In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13075 ) Change subject: resource: Use a factory to initiate a modem ...................................................................... resource: Use a factory to initiate a modem Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 2 files changed, 15 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index a536e18..2e7f500 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -27,6 +27,7 @@ from . import util from . import schema from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts +from . import modem from .util import is_dict, is_list @@ -104,6 +105,14 @@ 'nanobts': bts_nanobts.NanoBts, } + +KNOWN_MS_TYPES = { + # Map None to ofono for forward compability + None: modem.Modem, + 'ofono': modem.Modem, +} + + def register_bts_type(name, clazz): KNOWN_BTS_TYPES[name] = clazz diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 39da917..db580ec 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -23,7 +23,7 @@ import pprint from . import config, log, util, resource, test from .event_loop import MainLoop -from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, modem, esme, osmocon, ms_driver, iperf3, process +from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process class Timeout(Exception): pass @@ -329,8 +329,12 @@ def modem(self, specifics=None): conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics) + ms_type = conf.get('type') + ms_class = resource.KNOWN_MS_TYPES.get(ms_type) + if ms_class is None: + raise RuntimeError('No such Modem type is defined: %r' % ms_type) self.dbg('create Modem object', conf=conf) - ms = modem.Modem(self, conf) + ms = ms_class(self, conf) self.register_for_cleanup(ms) return ms -- To view, visit https://gerrit.osmocom.org/13075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af Gerrit-Change-Number: 13075 Gerrit-PatchSet: 7 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 15:49:43 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 15:49:43 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Introduce a base class for the modem In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13076 ) Change subject: resource: Introduce a base class for the modem ...................................................................... resource: Introduce a base class for the modem Extract IMSI, KI and authentication algorithm into a base class. Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 --- M src/osmo_gsm_tester/modem.py A src/osmo_gsm_tester/ms.py 2 files changed, 56 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index 95ebb6b..e7ce68a 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -19,6 +19,7 @@ from . import log, util, sms, process from .event_loop import MainLoop +from .ms import MS from pydbus import SystemBus, Variant import os @@ -318,8 +319,7 @@ return self.property_is('Online', True) - -class Modem(log.Origin): +class Modem(MS): 'convenience for ofono Modem interaction' CTX_PROT_IPv4 = 'ip' @@ -327,16 +327,13 @@ CTX_PROT_IPv46 = 'dual' def __init__(self, suite_run, conf): - self.suite_run = suite_run - self.conf = conf self.syspath = conf.get('path') self.dbuspath = get_dbuspath_from_syspath(self.syspath) - super().__init__(log.C_TST, self.dbuspath) + super().__init__(self.dbuspath, conf) self.dbg('creating from syspath %s' % self.syspath) - self.msisdn = None self._ki = None self._imsi = None - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name().strip('/'))) + self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name().strip('/'))) self.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) self.register_attempts = 0 @@ -406,9 +403,6 @@ def is_online(self): return self.dbus.is_online() - def set_msisdn(self, msisdn): - self.msisdn = msisdn - def imsi(self): if self._imsi is None: if 'sim' in self.features(): @@ -423,7 +417,7 @@ self.dbg('got SIM properties', props) self._imsi = props.get('SubscriberIdentity', None) else: - self._imsi = self.conf.get('imsi') + self._imsi = super().imsi() if self._imsi is None: raise log.Error('No IMSI') return self._imsi @@ -434,13 +428,10 @@ def ki(self): if self._ki is not None: return self._ki - return self.conf.get('ki') - - def auth_algo(self): - return self.conf.get('auth_algo', None) + return super().ki() def features(self): - return self.conf.get('features', []) + return self._conf.get('features', []) def _required_ifaces(self): req_ifaces = (I_NETREG,) diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py new file mode 100644 index 0000000..a361865 --- /dev/null +++ b/src/osmo_gsm_tester/ms.py @@ -0,0 +1,49 @@ +# osmo_gsm_tester: Base class for Mobile Stations (MS) +# +# Copyright (C) 2016-2017 by sysmocom - s.f.m.c. GmbH +# +# Author: Neels Hofmeyr +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from abc import ABCMeta, abstractmethod +from . import log + +class MS(log.Origin, metaclass=ABCMeta): + """Base for everything about mobile/modem and SIMs.""" + + def __init__(self, name, conf): + super().__init__(log.C_TST, name) + self._conf = conf + self.msisdn = None + + def imsi(self): + return self._conf.get('imsi') + + def ki(self): + return self._conf.get('ki') + + def auth_algo(self): + return self._conf.get('auth_algo', None) + + def set_msisdn(self, msisdn): + self.msisdn = msisdn + + def msisdn(self): + return self.msisdn + + @abstractmethod + def cleanup(self): + """Cleans up resources allocated.""" + pass \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/13076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639 Gerrit-Change-Number: 13076 Gerrit-PatchSet: 7 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 16:15:40 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 5 Mar 2019 16:15:40 +0000 Subject: Change in osmo-pcu[master]: Use msgb_eq_data_print() in tests Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13132 Change subject: Use msgb_eq_data_print() in tests ...................................................................... Use msgb_eq_data_print() in tests This allows to see exact byte which differs with expected output in case of test failure. Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 --- M tests/llc/LlcTest.cpp M tests/rlcmac/RLCMACTest.cpp M tests/tbf/TbfTest.cpp 3 files changed, 43 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/13132/1 diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index 3083644..13bda3c 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -61,7 +61,6 @@ size_t len, const gprs_llc_queue::MetaInfo *exp_info = 0) { struct msgb *llc_msg; - uint8_t *msg_data; const gprs_llc_queue::MetaInfo *info_res; llc_msg = queue->dequeue(&info_res); @@ -70,10 +69,8 @@ fprintf(stderr, "dequeued msg, length %u (expected %zu), data %s\n", msgb_length(llc_msg), len, msgb_hexdump(llc_msg)); - OSMO_ASSERT(msgb_length(llc_msg) == len); - msg_data = msgb_data(llc_msg); - - OSMO_ASSERT(memcmp(msg_data, exp_data, len) == 0); + if (!msgb_eq_data_print(llc_msg, exp_data, len)) + fprintf(stderr, "check failed!\n"); if (exp_info) OSMO_ASSERT(memcmp(exp_info, info_res, sizeof(*exp_info)) == 0); @@ -229,7 +226,7 @@ log_set_use_color(osmo_stderr_target, 0); log_set_print_filename(osmo_stderr_target, 0); log_set_log_level(osmo_stderr_target, LOGL_INFO); - log_parse_category_mask(osmo_stderr_target, "DPCU,3"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:"); vty_init(&pcu_vty_info); pcu_vty_init(&gprs_log_info); diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index bf7a605..04d3895 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include } using namespace std; @@ -216,6 +217,8 @@ void testCsnLeftAlignedVarBmpBounds(void *test_ctx) { + struct msgb *m = msgb_alloc(80, "test"); + static uint8_t exp[] = { 0x7f, 0xff, 0xff, 0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; bitvec *vector = bitvec_alloc(23, test_ctx); bitvec_unhex(vector, "40200bffd161003e0e519ffffffb800000000000000000"); @@ -225,14 +228,16 @@ &data.u.Egprs_Packet_Downlink_Ack_Nack.EGPRS_AckNack.Desc; decode_gsm_rlcmac_uplink(vector, &data); - OSMO_ASSERT(!strcmp(osmo_hexdump(urbb->URBB, 13), - "7f ff ff ee 00 00 00 00 00 00 00 00 00 ")); + memcpy(msgb_put(m, 13), urbb->URBB, 13); + if (!msgb_eq_data_print(m, exp, 13)) + printf("%s failed!\n", __func__); } int main(int argc, char *argv[]) { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:"); //printSizeofRLCMAC(); testRlcMacDownlink(ctx); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index dfed79e..ff73d90 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -527,12 +527,21 @@ struct msgb *msg; int fn = 0; uint8_t expected_data = 1; + static uint8_t exp[][GSM_MACBLOCK_LEN] = { + { 0x07, 0x00, 0x00, 0x4d, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, + { 0x07, 0x00, 0x02, 0x4d, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 }, + { 0x07, 0x01, 0x04, 0x4d, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 }, + }; while (ms->dl_tbf()->have_data()) { msg = ms->dl_tbf()->create_dl_acked_block(fn += 4, 7); fprintf(stderr, "MSG = %s\n", msgb_hexdump(msg)); - OSMO_ASSERT(msgb_length(msg) == 23); - OSMO_ASSERT(msgb_data(msg)[10] == expected_data); + if (!msgb_eq_data_print(msg, exp[expected_data - 1], GSM_MACBLOCK_LEN)) + printf("%s failed at %u\n", __func__, expected_data); + expected_data += 1; } OSMO_ASSERT(expected_data-1 == 3); @@ -732,9 +741,14 @@ struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - OSMO_ASSERT(!strcmp(osmo_hexdump(msg1->data, msg1->data_len), - "40 24 01 3f 3e 24 46 68 90 87 b0 06 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b " - )); + static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x3f, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x87, 0xb0, 0x06, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + }; + + if (!msgb_eq_data_print(msg1, exp1, GSM_MACBLOCK_LEN)) { + printf("%s test failed on 1st segment!\n", __func__); + return NULL; + } egprs3->si = 0; egprs3->r = 1; @@ -754,10 +768,14 @@ msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - OSMO_ASSERT(!strcmp(osmo_hexdump(msg1->data, msg1->data_len), - "40 24 01 3f 3e 24 46 68 90 88 b0 06 8b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b " - )); + static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x3f, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x88, 0xb0, 0x06, 0x8b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + }; + if (!msgb_eq_data_print(msg1, exp2, GSM_MACBLOCK_LEN)) { + printf("%s test failed on 2nd segment!\n", __func__); + return NULL; + } return ul_tbf; } @@ -3205,6 +3223,10 @@ { BTS the_bts; uint32_t tlli = 0xffeeddcc; + static uint8_t exp[] = { 0x40, 0x84, 0x7f, 0xf7, 0x6e, 0xe6, 0x41, 0x4b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + }; printf("=== start %s ===\n", __func__); setup_bts(&the_bts, 4); @@ -3217,8 +3239,9 @@ printf("packet reject: %s\n", osmo_hexdump(msg->data, 23)); - OSMO_ASSERT(!strcmp(osmo_hexdump(msg->data, 23), - "40 84 7f f7 6e e6 41 4b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ")); + if (!msgb_eq_data_print(msg, exp, GSM_MACBLOCK_LEN)) + printf("%s test failed!\n", __func__); + printf("=== end %s ===\n", __func__); } -- To view, visit https://gerrit.osmocom.org/13132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 Gerrit-Change-Number: 13132 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 16:25:01 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 16:25:01 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Add a mobile resource for the virtual test In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13041 to look at the new patch set (#4). Change subject: resource: Add a mobile resource for the virtual test ...................................................................... resource: Add a mobile resource for the virtual test Add a new resource and make a reservation in the suite. Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc --- M example/resources.conf.virtual M src/osmo_gsm_tester/ms.py A src/osmo_gsm_tester/ms_osmo_mobile.py M src/osmo_gsm_tester/resource.py M suites/nitb_netreg_mass/suite.conf 5 files changed, 58 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/41/13041/4 -- To view, visit https://gerrit.osmocom.org/13041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc Gerrit-Change-Number: 13041 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 16:25:01 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 16:25:01 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13042 to look at the new patch set (#4). Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... nitb_netreg_mass: Allow a suite to configure num subscriber Remove hardcoded configuration and replace it with a reservation in the suite. Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_gsm_tester/ms_osmo_mobile.py M src/osmo_gsm_tester/suite.py M src/osmo_ms_driver/__main__.py M src/osmo_ms_driver/location_update_test.py M src/osmo_ms_driver/starter.py M suites/nitb_netreg_mass/register_default_mass.py 7 files changed, 88 insertions(+), 69 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/13042/4 -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 16:25:01 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 16:25:01 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13131 to look at the new patch set (#2). Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... nitb_netreg_mass: Provide 100 subscribers Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b --- M example/resources.conf.virtual M suites/nitb_netreg_mass/suite.conf 2 files changed, 199 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/13131/2 -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 16:25:34 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 16:25:34 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Add a mobile resource for the virtual test In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13041 ) Change subject: resource: Add a mobile resource for the virtual test ...................................................................... Patch Set 4: (5 comments) https://gerrit.osmocom.org/#/c/13041/3/example/resources.conf.virtual File example/resources.conf.virtual: https://gerrit.osmocom.org/#/c/13041/3/example/resources.conf.virtual at 45 PS3, Line 45: osmo-m changed these as well. https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/ms.py File src/osmo_gsm_tester/ms.py: https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/ms.py at 52 PS3, Line 52: > Better move it to its own file, like ms_osmo_mobile.py [?] Done https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/ms.py at 54 PS3, Line 54: > whitespace Done https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/#/c/13041/3/src/osmo_gsm_tester/resource.py at 114 PS3, Line 114: 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, > osmo-mobile would be better imho, "mobile" is too generic to understand what it is right away. Done https://gerrit.osmocom.org/#/c/13041/3/suites/nitb_netreg_mass/suite.conf File suites/nitb_netreg_mass/suite.conf: https://gerrit.osmocom.org/#/c/13041/3/suites/nitb_netreg_mass/suite.conf at 8 PS3, Line 8: type: osmo-mobile > osmo-mobile Done -- To view, visit https://gerrit.osmocom.org/13041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc Gerrit-Change-Number: 13041 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 16:25:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 16:25:47 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Tue, 5 Mar 2019 16:25:47 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/#/c/13042/3/src/osmo_gsm_tester/suite.py File src/osmo_gsm_tester/suite.py: https://gerrit.osmocom.org/#/c/13042/3/src/osmo_gsm_tester/suite.py at 341 PS3, Line 341: def modems(self, count): > We could do the same for this method actually (see below). Let's do this another day. I guess all_modems can get an optional count argument. https://gerrit.osmocom.org/#/c/13042/3/src/osmo_gsm_tester/suite.py at 347 PS3, Line 347: def all_modems(self): > Can we make this generic?: [?] I am implementing all_modems around it as I prefer expressive APIs. https://gerrit.osmocom.org/#/c/13042/3/suites/nitb_netreg_mass/register_default_mass.py File suites/nitb_netreg_mass/register_default_mass.py: https://gerrit.osmocom.org/#/c/13042/3/suites/nitb_netreg_mass/register_default_mass.py at 20 PS3, Line 20: # Configure all MS that are available to this test. > avilable: typo. Done -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 16:25:47 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 17:37:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 17:37:12 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13131 ) Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 2 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 17:37:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 17:40:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 17:40:22 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 4: Code-Review+2 (2 comments) https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py File src/osmo_gsm_tester/ms_osmo_mobile.py: https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py at 33 PS4, Line 33: return "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" Is this needed for later using imsi_ki_gen afaiu? https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/suite.py File src/osmo_gsm_tester/suite.py: https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/suite.py at 347 PS4, Line 347: def all_modems(self): I precisely wanted to avoid having more functions by having the generic one, since suite.py is already quite big (some stuff should be moved somewhere else, but of course not related). I'd prefer you using all_resources(suite.modem) instead and removing it, but fine. -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 17:40:22 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 17:51:47 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 5 Mar 2019 17:51:47 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13133 Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... encoding: Fixes TMSI vs MI bit selection in repeated page info Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf --- M src/encoding.cpp 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/13133/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 4c8cdb0..019de52 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1066,6 +1066,20 @@ return wp; } +/* 3GPP TS 44.060 ? 11.2.10: + < Repeated Page info struct > ::= + { 0 -- Page request for TBF establishment + { 0 < PTMSI : bit (32) > + | 1 < Length of Mobile Identity contents : bit (4) > + < Mobile Identity : octet (val (Length of Mobile Identity contents)) > } + | 1 -- Page request for RR conn. establishment + { 0 < TMSI : bit (32) > + | 1 < Length of Mobile Identity contents : bit (4) > + < Mobile Identity : octet (val (Length of Mobile Identity contents)) > } + < CHANNEL_NEEDED : bit (2) > + { 0 | 1 < eMLPP_PRIORITY : bit (3) > } + } + */ unsigned Encoding::write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, uint8_t *identity, uint8_t chan_needed) { @@ -1078,7 +1092,7 @@ identity++; len--; } else { - bitvec_write_field(dest, &wp,0x0,1); // MI + bitvec_write_field(dest, &wp,0x1,1); // MI bitvec_write_field(dest, &wp,len,4); // MI len } while (len) { -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 18:13:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 18:13:15 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13133 ) Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13133/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/#/c/13133/1/src/encoding.cpp at 1098 PS1, Line 1098: while (len) { iiuc when identity[0] & 0x07) == 4, then necessarily len = 32, would be nice to add an ASSERT or someting similar. -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 18:13:15 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 18:33:39 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 18:33:39 +0000 Subject: Change in osmo-gsm-tester[master]: Log signals from VoiceCall dbus objects In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/12899 ) Change subject: Log signals from VoiceCall dbus objects ...................................................................... Patch Set 1: This needs more some work. Second time the iface signals are attached, we get the signals twice because first one wasn't removed: 19:25:07.716201 tst /sierra_6: DBG: '/sierra_6/voicecall01':'org.ofono.VoiceCall'.PropertyChanged() -> State=alerting [trial-223?voice:trx-b200?/sierra_6] [modem.py:746] 19:25:07.716762 tst /sierra_6: DBG: '/sierra_6/voicecall01':'org.ofono.VoiceCall'.PropertyChanged() -> State=alerting [trial-223?voice:sysmo?/sierra_6] [modem.py:746] 19:25:07.875921 tst /sierra_7: DBG: '/sierra_7/voicecall01':'org.ofono.VoiceCall'.PropertyChanged() -> State=active [trial-223?voice:trx-b200?/sierra_7] [modem.py:746] 19:25:07.876545 tst /sierra_7: DBG: '/sierra_7/voicecall01':'org.ofono.VoiceCall'.PropertyChanged() -> State=active [trial-223?voice:sysmo?/sierra_7] [modem.py:746] We need to store the subscription returned during dbus_connect and then remove it once the call is removed with subscription.disconnect(). -- To view, visit https://gerrit.osmocom.org/12899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb Gerrit-Change-Number: 12899 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 18:33:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 18:48:57 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 5 Mar 2019 18:48:57 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13133 ) Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13133/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/#/c/13133/1/src/encoding.cpp at 1098 PS1, Line 1098: while (len) { > iiuc when identity[0] & 0x07) == 4, then necessarily len = 32, would be nice to add an ASSERT or som [?] Probably not an ASSERT as this is outside data (even if just the pcu sock). We don't want to bring down the whole bts in that case, do we? Should we output a LOGL_ERROR and cap len to 4? -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Omar Ramadan Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 18:48:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 19:00:25 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 5 Mar 2019 19:00:25 +0000 Subject: Change in osmocom-bb[master]: target/firmware/tiffs: update copyright statements Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13134 Change subject: target/firmware/tiffs: update copyright statements ...................................................................... target/firmware/tiffs: update copyright statements In OS#3582, the autor of TIFFS code, Mychaela Falconia, has noted: ... all of my code contributions are in the public domain and are NOT copyrighted by me, and I strenuously object to anyone taking it upon themselves to insert a copyright notice with my name in it. Let's update the copyright statements as recommended by the author. Change-Id: If115991425372a4cdbcfefa115532c9c410e58c4 --- M src/target/firmware/tiffs/init.c M src/target/firmware/tiffs/readfile.c 2 files changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/34/13134/1 diff --git a/src/target/firmware/tiffs/init.c b/src/target/firmware/tiffs/init.c index 6a3b48a..378f829 100644 --- a/src/target/firmware/tiffs/init.c +++ b/src/target/firmware/tiffs/init.c @@ -1,10 +1,11 @@ /* TIFFS (TI Flash File System) reader implementation */ /* - * (C) 2017 by Mychaela Falconia - * Tweaked (coding style changes) by Vadim Yanitskiy + * This code was written by Mychaela Falconia + * who refuses to claim copyright on it and has released it as public domain + * instead. NO rights reserved, all rights relinquished. * - * All Rights Reserved + * Tweaked (coding style changes) by Vadim Yanitskiy * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/target/firmware/tiffs/readfile.c b/src/target/firmware/tiffs/readfile.c index f3e916f..c712c43 100644 --- a/src/target/firmware/tiffs/readfile.c +++ b/src/target/firmware/tiffs/readfile.c @@ -1,10 +1,11 @@ /* TIFFS (TI Flash File System) reader implementation */ /* - * (C) 2017 by Mychaela Falconia - * Tweaked (coding style changes) by Vadim Yanitskiy + * This code was written by Mychaela Falconia + * who refuses to claim copyright on it and has released it as public domain + * instead. NO rights reserved, all rights relinquished. * - * All Rights Reserved + * Tweaked (coding style changes) by Vadim Yanitskiy * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- To view, visit https://gerrit.osmocom.org/13134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If115991425372a4cdbcfefa115532c9c410e58c4 Gerrit-Change-Number: 13134 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 19:27:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 19:27:49 +0000 Subject: Change in osmo-gsm-tester[master]: Log signals from VoiceCall dbus objects In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/12899 to look at the new patch set (#2). Change subject: Log signals from VoiceCall dbus objects ...................................................................... Log signals from VoiceCall dbus objects Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb --- M src/osmo_gsm_tester/modem.py 1 file changed, 53 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/99/12899/2 -- To view, visit https://gerrit.osmocom.org/12899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb Gerrit-Change-Number: 12899 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 19:29:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 19:29:56 +0000 Subject: Change in osmo-gsm-tester[master]: Log signals from VoiceCall dbus objects In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/12899 to look at the new patch set (#3). Change subject: Log signals from VoiceCall dbus objects ...................................................................... Log signals from VoiceCall dbus objects Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb --- M src/osmo_gsm_tester/modem.py 1 file changed, 54 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/99/12899/3 -- To view, visit https://gerrit.osmocom.org/12899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb Gerrit-Change-Number: 12899 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:18:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 20:18:45 +0000 Subject: Change in osmo-gsm-tester[master]: Log signals from VoiceCall dbus objects In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/12899 ) Change subject: Log signals from VoiceCall dbus objects ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/12899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb Gerrit-Change-Number: 12899 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 20:18:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:18:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 20:18:49 +0000 Subject: Change in osmo-gsm-tester[master]: Log signals from VoiceCall dbus objects In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/12899 ) Change subject: Log signals from VoiceCall dbus objects ...................................................................... Log signals from VoiceCall dbus objects Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb --- M src/osmo_gsm_tester/modem.py 1 file changed, 54 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index e7ce68a..28f7f04 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -40,6 +40,7 @@ I_CALL = 'org.ofono.VoiceCall' I_SS = 'org.ofono.SupplementaryServices' I_SIMMGR = 'org.ofono.SimManager' +I_VOICECALL = 'org.ofono.VoiceCall' # See https://github.com/intgr/ofono/blob/master/doc/network-api.txt#L78 NETREG_ST_REGISTERED = 'registered' @@ -318,6 +319,39 @@ def is_online(self): return self.property_is('Online', True) +class ModemCall(log.Origin): + 'ofono Modem voicecall dbus object' + + def __init__(self, modem, dbuspath): + super().__init__(log.C_TST, dbuspath) + self.modem = modem + self.dbuspath = dbuspath + self.signal_list = [] + self.register_signals() + + def register_signals(self): + call_dbus_obj = systembus_get(self.dbuspath) + subscr = dbus_connect(call_dbus_obj.PropertyChanged, lambda name, value: self.on_voicecall_property_change(self.dbuspath, name, value)) + self.signal_list.append(subscr) + subscr = dbus_connect(call_dbus_obj.DisconnectReason, lambda reason: self.on_voicecall_disconnect_reason(self.dbuspath, reason)) + self.signal_list.append(subscr) + + def unregister_signals(self): + for subscr in self.signal_list: + subscr.disconnect() + self.signal_list = [] + + def cleanup(self): + self.unregister_signals() + + def __del__(self): + self.cleanup() + + def on_voicecall_property_change(self, obj_path, name, value): + self.dbg('%r:%r.PropertyChanged() -> %s=%s' % (obj_path, I_VOICECALL, name, value)) + + def on_voicecall_disconnect_reason(self, obj_path, reason): + self.dbg('%r:%r.DisconnectReason() -> %s' % (obj_path, I_VOICECALL, reason)) class Modem(MS): 'convenience for ofono Modem interaction' @@ -357,6 +391,9 @@ self.cancellable = None if self.is_powered(): self.power_off() + for call_obj in self.call_list: + call_obj.cleanup() + self.call_list = [] self.dbus.cleanup() self.dbus = None @@ -670,8 +707,15 @@ return False def call_id_list(self): - self.dbg('call_id_list: %r' % self.call_list) - return self.call_list + li = [call.dbuspath for call in self.call_list] + self.dbg('call_id_list: %r' % li) + return li + + def call_find_by_id(self, id): + for call in self.call_list: + if call.dbuspath == id: + return call + return None def call_dial(self, to_msisdn_or_modem): if isinstance(to_msisdn_or_modem, Modem): @@ -681,9 +725,9 @@ self.dbg('Dialing:', to_msisdn) cmgr = self.dbus.interface(I_CALLMGR) call_obj_path = cmgr.Dial(to_msisdn, 'default') - if call_obj_path not in self.call_list: + if self.call_find_by_id(call_obj_path) is None: self.dbg('Adding %s to call list' % call_obj_path) - self.call_list.append(call_obj_path) + self.call_list.append(ModemCall(self, call_obj_path)) else: self.dbg('Dial returned already existing call') return call_obj_path @@ -734,15 +778,17 @@ def _on_callmgr_call_added(self, obj_path, properties): self.dbg('%r.CallAdded() -> %s=%r' % (I_CALLMGR, obj_path, repr(properties))) - if obj_path not in self.call_list: - self.call_list.append(obj_path) + if self.call_find_by_id(obj_path) is None: + self.call_list.append(ModemCall(self, obj_path)) else: self.dbg('Call already exists %r' % obj_path) def _on_callmgr_call_removed(self, obj_path): self.dbg('%r.CallRemoved() -> %s' % (I_CALLMGR, obj_path)) - if obj_path in self.call_list: - self.call_list.remove(obj_path) + call_obj = self.call_find_by_id(obj_path) + if call_obj is not None: + self.call_list.remove(call_obj) + call_obj.cleanup() else: self.dbg('Trying to remove non-existing call %r' % obj_path) -- To view, visit https://gerrit.osmocom.org/12899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb Gerrit-Change-Number: 12899 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Mar 5 20:24:18 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 05 Mar 2019 20:24:18 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5c7edb0718b7e_3678de5f09733d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_9.0/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 274s] | CONFIG_LINKS = [ 274s] | CONFIG_COMMANDS = [ 274s] | $ ./config.status [ 274s] | [ 274s] | on armbuild17 [ 274s] | [ 274s] | config.status:1121: creating libosmo-netif.pc [ 274s] | config.status:1121: creating include/Makefile [ 274s] | config.status:1121: creating include/osmocom/Makefile [ 274s] | config.status:1121: creating include/osmocom/netif/Makefile [ 274s] | config.status:1121: creating src/Makefile [ 274s] | config.status:1121: creating examples/Makefile [ 274s] | config.status:1121: creating tests/Makefile [ 274s] | config.status:1121: creating Doxyfile [ 274s] | config.status:1121: creating Makefile [ 274s] | config.status:1121: creating config.h [ 274s] | config.status:1350: executing tests/atconfig commands [ 274s] | config.status:1350: executing depfiles commands [ 274s] | config.status:1350: executing libtool commands [ 274s] | configure:15204: WARNING: unrecognized options: --disable-maintainer-mode [ 274s] | [ 274s] | ## ---------------- ## [ 274s] | ## Cache variables. ## [ 276s] | ## -------------[ 223.989239] sysrq: SysRq : Power Off [ 276s] [ 223.991604] reboot: Power down [ 276s] ### VM INTERACTION END ### [ 276s] [ 276s] armbuild17 failed "build libosmo-netif_0.4.0.17.05db.dsc" at Tue Mar 5 20:24:11 UTC 2019. [ 276s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:34:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:34:26 +0000 Subject: Change in osmo-bts[master]: OC-2G: Nominal transmit power is 25 dBm, not 40 Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13135 Change subject: OC-2G: Nominal transmit power is 25 dBm, not 40 ...................................................................... OC-2G: Nominal transmit power is 25 dBm, not 40 According to the OC-2G product specifiacation, the maximum output power is 25 dBm. This should be reflected in the code, there's no point in claiming to be able to trnasmit 40 dBm - which just creates confusion on all levels (such as the logs, where Tx power is claimed to be ramped up to 40 dBm right now). Closes: OS#3823 Change-Id: Ia6b3476ab2f9279f8905b8c7cfd07ef7b0a939ed --- M src/osmo-bts-oc2g/main.c M src/osmo-bts-oc2g/oc2gbts_vty.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/13135/1 diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c index ab3d36d..29fab47 100644 --- a/src/osmo-bts-oc2g/main.c +++ b/src/osmo-bts-oc2g/main.c @@ -126,7 +126,7 @@ int bts_model_trx_init(struct gsm_bts_trx *trx) { - trx->nominal_power = 40; + trx->nominal_power = 25; trx->power_params.trx_p_max_out_mdBm = to_mdB(trx->bts->c0->nominal_power); return 0; } diff --git a/src/osmo-bts-oc2g/oc2gbts_vty.c b/src/osmo-bts-oc2g/oc2gbts_vty.c index 9bb4579..4c3915b 100644 --- a/src/osmo-bts-oc2g/oc2gbts_vty.c +++ b/src/osmo-bts-oc2g/oc2gbts_vty.c @@ -328,15 +328,15 @@ } DEFUN(cfg_trx_nominal_power, cfg_trx_nominal_power_cmd, - "nominal-tx-power <0-40>", + "nominal-tx-power <0-25>", "Set the nominal transmit output power in dBm\n" "Nominal transmit output power level in dBm\n") { int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; - if (( nominal_power > 40 ) || ( nominal_power < 0 )) { - vty_out(vty, "Nominal Tx power level must be between 0 and 40 dBm (%d) %s", + if (( nominal_power > 25 ) || ( nominal_power < 0 )) { + vty_out(vty, "Nominal Tx power level must be between 0 and 25 dBm (%d) %s", nominal_power, VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/13135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia6b3476ab2f9279f8905b8c7cfd07ef7b0a939ed Gerrit-Change-Number: 13135 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:44:12 +0000 Subject: Change in osmocom-bb[master]: target/firmware/tiffs: update copyright statements In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13134 ) Change subject: target/firmware/tiffs: update copyright statements ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If115991425372a4cdbcfefa115532c9c410e58c4 Gerrit-Change-Number: 13134 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 05 Mar 2019 20:44:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:44:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:44:13 +0000 Subject: Change in osmocom-bb[master]: target/firmware/tiffs: update copyright statements In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13134 ) Change subject: target/firmware/tiffs: update copyright statements ...................................................................... target/firmware/tiffs: update copyright statements In OS#3582, the autor of TIFFS code, Mychaela Falconia, has noted: ... all of my code contributions are in the public domain and are NOT copyrighted by me, and I strenuously object to anyone taking it upon themselves to insert a copyright notice with my name in it. Let's update the copyright statements as recommended by the author. Change-Id: If115991425372a4cdbcfefa115532c9c410e58c4 --- M src/target/firmware/tiffs/init.c M src/target/firmware/tiffs/readfile.c 2 files changed, 8 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/target/firmware/tiffs/init.c b/src/target/firmware/tiffs/init.c index 6a3b48a..378f829 100644 --- a/src/target/firmware/tiffs/init.c +++ b/src/target/firmware/tiffs/init.c @@ -1,10 +1,11 @@ /* TIFFS (TI Flash File System) reader implementation */ /* - * (C) 2017 by Mychaela Falconia - * Tweaked (coding style changes) by Vadim Yanitskiy + * This code was written by Mychaela Falconia + * who refuses to claim copyright on it and has released it as public domain + * instead. NO rights reserved, all rights relinquished. * - * All Rights Reserved + * Tweaked (coding style changes) by Vadim Yanitskiy * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/target/firmware/tiffs/readfile.c b/src/target/firmware/tiffs/readfile.c index f3e916f..c712c43 100644 --- a/src/target/firmware/tiffs/readfile.c +++ b/src/target/firmware/tiffs/readfile.c @@ -1,10 +1,11 @@ /* TIFFS (TI Flash File System) reader implementation */ /* - * (C) 2017 by Mychaela Falconia - * Tweaked (coding style changes) by Vadim Yanitskiy + * This code was written by Mychaela Falconia + * who refuses to claim copyright on it and has released it as public domain + * instead. NO rights reserved, all rights relinquished. * - * All Rights Reserved + * Tweaked (coding style changes) by Vadim Yanitskiy * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by -- To view, visit https://gerrit.osmocom.org/13134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If115991425372a4cdbcfefa115532c9c410e58c4 Gerrit-Change-Number: 13134 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:45:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:45:42 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13133 ) Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Omar Ramadan Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 20:45:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:46:27 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:46:27 +0000 Subject: Change in osmo-pcu[master]: Use msgb_eq_data_print() in tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13132 ) Change subject: Use msgb_eq_data_print() in tests ...................................................................... Patch Set 1: Code-Review+1 fine with me, but it doesn't build properly :/ -- To view, visit https://gerrit.osmocom.org/13132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 Gerrit-Change-Number: 13132 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 05 Mar 2019 20:46:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:46:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:46:48 +0000 Subject: Change in osmo-pcu[master]: EDGE tests: remove no-op check In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13052 ) Change subject: EDGE tests: remove no-op check ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 Gerrit-Change-Number: 13052 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 Mar 2019 20:46:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:46:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:46:50 +0000 Subject: Change in osmo-pcu[master]: EDGE tests: remove no-op check In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13052 ) Change subject: EDGE tests: remove no-op check ...................................................................... EDGE tests: remove no-op check The headerTypeControl() function always return constant and is only used inside OSMO_ASSERT() which compares it to the very same constant which makes it no-op. Let's remove this clutter. Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 --- M src/gprs_coding_scheme.h M tests/edge/EdgeTest.cpp 2 files changed, 0 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 1acb14b..31f0940 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -100,7 +100,6 @@ uint8_t optionalPaddingBits() const; const char *name() const; HeaderType headerTypeData() const; - HeaderType headerTypeControl() const; static GprsCodingScheme getBySizeUL(unsigned size); static GprsCodingScheme getGprsByNum(unsigned num); @@ -146,11 +145,6 @@ return (isGprs() && o.isGprs()) || (isEgprs() && o.isEgprs()); } -inline GprsCodingScheme::HeaderType GprsCodingScheme::headerTypeControl() const -{ - return HEADER_GPRS_CONTROL; -} - inline GprsCodingScheme::GprsCodingScheme(Scheme s) : m_scheme(s) { diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 6ce2334..0cb123e 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -170,8 +170,6 @@ /* Check header types */ OSMO_ASSERT(current_cs.headerTypeData() == GprsCodingScheme::HEADER_GPRS_DATA); - OSMO_ASSERT(current_cs.headerTypeControl() == - GprsCodingScheme::HEADER_GPRS_CONTROL); check_coding_scheme(current_cs, GprsCodingScheme::GPRS); } -- To view, visit https://gerrit.osmocom.org/13052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4 Gerrit-Change-Number: 13052 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:47:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:47:26 +0000 Subject: Change in osmo-mgw[master]: log: don't spam with "can not patch PT" messages In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13114 ) Change subject: log: don't spam with "can not patch PT" messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4afc41fd472ec8ba887b9263fbac62de50d7cef9 Gerrit-Change-Number: 13114 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Tue, 05 Mar 2019 20:47:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:48:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:48:23 +0000 Subject: Change in osmo-mgw[master]: mgcp client: allow setting conn mode for CRCX and MDCX In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13115 ) Change subject: mgcp client: allow setting conn mode for CRCX and MDCX ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc Gerrit-Change-Number: 13115 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 20:48:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:48:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:48:51 +0000 Subject: Change in osmo-mgw[master]: make codec_table public as osmo_mgcpc_codec_names In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13116 ) Change subject: make codec_table public as osmo_mgcpc_codec_names ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa Gerrit-Change-Number: 13116 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 05 Mar 2019 20:48:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:49:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:49:08 +0000 Subject: Change in libosmo-sccp[master]: debug log typo fix in sccp_scoc.c In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13119 ) Change subject: debug log typo fix in sccp_scoc.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd Gerrit-Change-Number: 13119 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 20:49:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 20:50:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 5 Mar 2019 20:50:49 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13118 ) Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... Patch Set 1: I think my original assumption was that we always talloc_zero() and hence the sccp_addr structs would always be zero-initialized and hence a memcmp() woould work. But of course, one can be more diligent/intelligent about it. Not +2ing due to max' valid comment about rc. -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 20:50:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 21:32:51 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 5 Mar 2019 21:32:51 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13133 ) Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13133/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/#/c/13133/1/src/encoding.cpp at 1098 PS1, Line 1098: while (len) { > Probably not an ASSERT as this is outside data (even if just the pcu sock). [?] Didn't look at surrounding code with detail, but iiuc this code is to generate a message we want to send. If this function is passed a wrong len, our code is completely broken and we should notice asap. If we are using len coming from outside world, then whoever got that info should check it before this function. But if you have better information do whatever you think is best :) -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Omar Ramadan Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 05 Mar 2019 21:32:51 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 22:33:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 22:33:58 +0000 Subject: Change in osmo-msc[master]: vlr_subscr: use osmo_use_count Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13136 Change subject: vlr_subscr: use osmo_use_count ...................................................................... vlr_subscr: use osmo_use_count Depends: Ife31e6798b4e728a23913179e346552a7dd338c0 (libosmocore) Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475 --- M include/osmocom/msc/db.h M include/osmocom/msc/vlr.h M include/osmocom/msc/vlr_sgs.h M src/libmsc/ctrl_commands.c M src/libmsc/db.c M src/libmsc/gsm_04_08.c M src/libmsc/gsm_04_08_cc.c M src/libmsc/gsm_04_11.c M src/libmsc/gsm_subscriber.c M src/libmsc/msc_vty.c M src/libmsc/ran_conn.c M src/libmsc/sgs_iface.c M src/libmsc/smpp_openbsc.c M src/libmsc/sms_queue.c M src/libmsc/transaction.c M src/libvlr/vlr.c M src/libvlr/vlr_access_req_fsm.c M src/libvlr/vlr_lu_fsm.c M src/libvlr/vlr_sgs.c M tests/msc_vlr/msc_vlr_test_authen_reuse.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.c M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.c M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.c M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.c M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.c M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.c M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.c M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.c M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.c M tests/msc_vlr/msc_vlr_test_umts_authen.err 42 files changed, 2,335 insertions(+), 2,284 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/36/13136/1 -- To view, visit https://gerrit.osmocom.org/13136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475 Gerrit-Change-Number: 13136 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 22:33:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 22:33:58 +0000 Subject: Change in osmo-msc[master]: large refactoring: split RAN (MSC-I) and MSC-A roles Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13137 Change subject: large refactoring: split RAN (MSC-I) and MSC-A roles ...................................................................... large refactoring: split RAN (MSC-I) and MSC-A roles As a prerequisite to inter-MSC Handover support, split the RAN connection from subscriber management. 3GPP TS 49.008 '4.3 Roles of MSC-A, MSC-I and MSC-T' defines distinct roles: - MSC-A is responsible for managing subscribers, - MSC-I is the gateway to the RAN. - MSC-T is a second transitory gateway to another RAN during Handover. After inter-MSC Handover, the MSC-I is handled by a remote MSC instance, while the original MSC-A retains the responsibility of subscriber management. MSC-T exists in this patch but is not yet used, since Handover is only prepared for, not yet implemented. Inter-MSC and inter-BSC Handover are facilitated by the same internal split of MSC roles, where inter-BSC has the obvious simplifications: - all of MSC-A, MSC-I and MSC-T roles will be served by the same osmo-msc instance, - messages between MSC-A and MSC-{I,T} don't need to be routed via E-interface (GSUP), - no call routing between MSC-A and -I via MNCC necessary. The following are some details and rationale for this rather huge refactoring: * separate MSC subscriber management from ran_conn struct ran_conn is reduced from the pivotal subscriber management entity it has been so far to a mere storage for an SCCP connection ID and an MSC subscriber reference. The new pivotal subscriber management entity is struct msc_a -- struct msub lists the msc_a, msc_i, msc_t roles, the vast majority of code paths however use msc_a, since MSC-A is where all the interesting stuff happens. Before handover, msc_i is an FSM implementation that encodes to the local ran_conn. After inter-MSC Handover, msc_i is a compatible but different FSM implementation that instead forwards via/from GSUP. Same goes for the msc_a struct: if osmo-msc is the MSC-I "RAN proxy" for a remote MSC-A role, the msc_a->fi is an FSM implementation that merely forwards via/from GSUP. * New SCCP implementation for RAN access To be able to forward BSSAP and RANAP messages via the GSUP interface, the individual message layers need to be cleanly separated. The IuCS implementation used until now (iu_client from libosmo-ranap) did not provide this level of separation, and needed a complete rewrite. It was trivial to implement this in such a way that both BSSAP and RANAP can be handled by the same SCCP code, hence the new SCCP-RAN layer also replaces BSSAP handling. sccp_ran.h: struct sccp_ran_inst provides an abstract handler for incoming RAN connections. A set of callback functions provides implementation specific details. * RAN Abstraction (BSSAP vs. RANAP) The common SCCP implementation did set the theme for the remaining refactoring: make all other MSC code paths entirely RAN-implementation-agnostic. ran_infra.c provides data structures that list RAN implementation specifics, from logging to NAS de-/encoding to SCCP callbacks and timers. A ran_infra pointer hence allows complete abstraction of RAN implementations: - managing connected RAN peers (BSC, RNC) in ran_peer.c, - classifying and de-/encoding NAS PDUs, - recording connected LACs and cell IDs and sending out Paging requests to matching RAN peers. * RAN RESET now also for RANAP ran_peer.c absorbs the reset_fsm from a_reset.c; in consequence, RANAP also supports proper RESET semantics now. Hence osmo-hnbgw now also needs to provide proper RESET handling, which it so far duly ignores. (TODO) * NAS de-/encoding abstraction The NAS abstraction mentioned above serves not only to separate RANAP and BSSAP implementations transparently, but also to be able to optionally handle NAS on distinct levels. Before Handover, all NAS is handled by the MSC-A role. However, after an inter-MSC Handover, a standalone MSC-I will need to decode NAS PDUs, at least in order to manage Assignment of RTP streams between BSS/RNC and MNCC call forwarding. nas.h provides a common API with abstraction for: - receiving NAS events from RAN, i.e. passing NAS up from the BSC/RNC and MS/UE: struct nas_up_msg represents NAS messages decoded from either BSSMAP or RANAP; - sending NAS events: nas_down_msg is the counterpart to compose NAS messages that should be encoded to either BSSMAP or RANAP and passed down to the BSC/RNC and MS/UE. The RAN-specific implementations are completely contained by nas_a.c and nas_iu.c. In particular, Assignment and Ciphering have so far been distinct code paths for BSSAP and RANAP, with switch(via_ran){...} statements all over the place. Using NAS_UP_* and NAS_DOWN_* abstractions, these are now completely unified. Note that SGs does not qualify for NAS abstraction: the SGs interface always remains with the MSC-A role, and SGs messages follow quite distinct semantics from the fairly similar GERAN and UTRAN. * MGW and RTP stream management So far, managing MGW endpoints via MGCP was tightly glued in-between GSM-04.08-CC on the one and MNCC on the other side. Prepare for switching RTP streams between different RAN peers by moving to object-oriented implementations: implement struct call_leg and struct rtp_stream with distinct FSMs each. For MGW communication, use the osmo_mgcpc_ep API that has originated from osmo-bsc and recently moved to libosmo-mgcp-client for this purpose. Instead of implementing a sequence of events with code duplication for the RAN and CN sides, the idea is to manage each RTP stream separately by firing and receiving events as soon as codecs and RTP ports are negotiated, and letting the individual FSMs take care of the MGW management "asynchronously". The caller provides event IDs and an FSM instance that should be notified of RTP stream setup progress. Hence it becomes possible to reconnect RTP streams from one GSM-04.08-CC to another (inter-BSC Handover) or between CC and MNCC RTP peers (inter-MSC Handover) without duplicating the MGCP code for each transition. The number of FSM implementations used for MGCP handling may seem a bit of an overkill. But in fact, the number of perspectives on RTP forwarding are far from trivial: - an MGW endpoint is an entity with N connections, and MGCP "sessions" for configuring them by talking to the MGW; - an RTP stream is a remote peer connected to one of the endpoint's connections, which is asynchronously notified of codec and RTP port choices; - a call leg is the higher level view on either an MT or MO side of a voice call, a combination of two RTP streams to forward between two remote peers. BSC MGW PBX CI CI [MGW-endpoint] [--rtp_stream--] [--rtp_stream--] [----------------call_leg----------------] * Use counts Introduce using the new osmo_use_count API added to libosmocore for this purpose. Each use token has a distinct name in the logging, which can be a globally constant name or ad-hoc, like the local __func__ string constant. Use in the new struct msc_a, as well as change vlr_subscr to the new osmo_use_count API. * FSM Timeouts Introduce using the new osmo_tdef API, which provides a common VTY implementation for all timer numbers, and FSM state transitions with the correct timeout. Originated in osmo-bsc, recently moved to libosmocore. Depends: Ife31e6798b4e728a23913179e346552a7dd338c0 (libosmocore) Ib9af67b100c4583342a2103669732dab2e577b04 (libosmocore) Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 (libosmocore) Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 (libosmo-sccp) I26be5c4b06a680f25f19797407ab56a5a4880ddc (osmo-mgw) Ida0e59f9a1f2dd18efea0a51680a67b69f141efa (osmo-mgw) I9a3effd38e72841529df6c135c077116981dea36 (osmo-mgw) Change-Id: I27e4988e0371808b512c757d2b52ada1615067bd --- M configure.ac A doc/sequence_charts/Makefile.am A doc/sequence_charts/inter_bsc_ho.msc A doc/sequence_charts/inter_msc_ho.msc M include/osmocom/msc/Makefile.am D include/osmocom/msc/a_iface.h D include/osmocom/msc/a_iface_bssap.h D include/osmocom/msc/a_reset.h A include/osmocom/msc/call_leg.h M include/osmocom/msc/gsm_04_08.h M include/osmocom/msc/gsm_04_11.h M include/osmocom/msc/gsm_04_14.h M include/osmocom/msc/gsm_04_80.h M include/osmocom/msc/gsm_09_11.h M include/osmocom/msc/gsm_data.h M include/osmocom/msc/gsm_data_shared.h M include/osmocom/msc/gsm_subscriber.h D include/osmocom/msc/iu_dummy.h D include/osmocom/msc/iucs.h D include/osmocom/msc/iucs_ranap.h M include/osmocom/msc/mncc.h A include/osmocom/msc/msc_a.h M include/osmocom/msc/msc_common.h A include/osmocom/msc/msc_i.h D include/osmocom/msc/msc_ifaces.h D include/osmocom/msc/msc_mgcp.h A include/osmocom/msc/msc_roles.h A include/osmocom/msc/msc_t.h A include/osmocom/msc/msub.h A include/osmocom/msc/nas.h A include/osmocom/msc/nas_a.h A include/osmocom/msc/nas_iu.h A include/osmocom/msc/paging.h M include/osmocom/msc/ran_conn.h A include/osmocom/msc/ran_infra.h A include/osmocom/msc/ran_peer.h A include/osmocom/msc/rtp_stream.h A include/osmocom/msc/sccp_ran.h M include/osmocom/msc/sgs_iface.h M include/osmocom/msc/signal.h M include/osmocom/msc/transaction.h M include/osmocom/msc/vlr.h M include/osmocom/msc/vlr_sgs.h M src/libmsc/Makefile.am D src/libmsc/a_iface.c D src/libmsc/a_iface_bssap.c D src/libmsc/a_reset.c A src/libmsc/call_leg.c M src/libmsc/gsm_04_08.c M src/libmsc/gsm_04_08_cc.c M src/libmsc/gsm_04_11.c M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_04_14.c M src/libmsc/gsm_04_80.c M src/libmsc/gsm_09_11.c D src/libmsc/gsm_subscriber.c D src/libmsc/iu_dummy.c D src/libmsc/iucs.c D src/libmsc/iucs_ranap.c M src/libmsc/mncc_builtin.c A src/libmsc/msc_a.c A src/libmsc/msc_i.c A src/libmsc/msc_i_remote.c D src/libmsc/msc_ifaces.c D src/libmsc/msc_mgcp.c A src/libmsc/msc_net_init.c A src/libmsc/msc_t.c M src/libmsc/msc_vty.c A src/libmsc/msub.c A src/libmsc/nas.c A src/libmsc/nas_a.c A src/libmsc/nas_iu.c D src/libmsc/osmo_msc.c A src/libmsc/paging.c M src/libmsc/ran_conn.c A src/libmsc/ran_infra.c A src/libmsc/ran_peer.c A src/libmsc/ran_up_l2.c M src/libmsc/rrlp.c A src/libmsc/rtp_stream.c A src/libmsc/sccp_ran.c M src/libmsc/sgs_iface.c M src/libmsc/sgs_server.c M src/libmsc/silent_call.c M src/libmsc/smpp_openbsc.c M src/libmsc/smpp_smsc.h M src/libmsc/sms_queue.c M src/libmsc/transaction.c M src/libvlr/vlr.c M src/libvlr/vlr_access_req_fsm.c M src/libvlr/vlr_lu_fsm.c M src/libvlr/vlr_sgs.c M src/libvlr/vlr_sgs_fsm.c M src/osmo-msc/Makefile.am M src/osmo-msc/msc_main.c M tests/msc_vlr/Makefile.am M tests/msc_vlr/msc_vlr_test_authen_reuse.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.c M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.c M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.c M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.c M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.c M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.c M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.c M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.c M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.c M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.c M tests/msc_vlr/msc_vlr_test_umts_authen.err M tests/msc_vlr/msc_vlr_tests.c M tests/msc_vlr/msc_vlr_tests.h M tests/sms_queue/Makefile.am M tests/sms_queue/sms_queue_test.c 124 files changed, 28,010 insertions(+), 21,718 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/37/13137/1 -- To view, visit https://gerrit.osmocom.org/13137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I27e4988e0371808b512c757d2b52ada1615067bd Gerrit-Change-Number: 13137 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 22:33:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 22:33:58 +0000 Subject: Change in osmo-msc[master]: rename bscconfig.h to configure.h, cleanup Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13138 Change subject: rename bscconfig.h to configure.h, cleanup ...................................................................... rename bscconfig.h to configure.h, cleanup Get rid of the legacy name bscconfig.h from osmo-nitb times. Remove the #include from some of the files that aren't actually using it. Instead of '#include "../../configure.h"', use plain '#include "configure.h"' because we're anyway passing $top_srcdir as -I during compilation. Change-Id: Id4f683be1f36f0630c83da54e02868aae847aeec --- M .gitignore M configure.ac M src/libmsc/gsm_04_08.c M src/libmsc/gsm_04_08_cc.c M src/libmsc/gsm_04_11.c M src/libmsc/gsm_04_14.c M src/libmsc/msc_vty.c M src/libmsc/ran_infra.c M src/osmo-msc/msc_main.c 9 files changed, 8 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/38/13138/1 diff --git a/.gitignore b/.gitignore index 78974d7..b380b26 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,8 @@ .deps Makefile Makefile.in -bscconfig.h -bscconfig.h.in +configure.h +configure.h.in *.pc *.*~ diff --git a/configure.ac b/configure.ac index 060f61f..a36301e 100644 --- a/configure.ac +++ b/configure.ac @@ -254,7 +254,7 @@ AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) dnl Generate the output -AM_CONFIG_HEADER(bscconfig.h) +AM_CONFIG_HEADER(configure.h) AC_OUTPUT( include/Makefile diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 65f7e1e..1c746cd 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -32,7 +32,7 @@ #include #include -#include "bscconfig.h" +#include "configure.h" #include #include diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index f240842..3ecfacc 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -30,8 +30,6 @@ #include #include -#include "bscconfig.h" - #include #include #include diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index 8b6ba99..2cbbcaa 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -33,7 +33,7 @@ #include #include -#include "bscconfig.h" +#include "configure.h" #include #include diff --git a/src/libmsc/gsm_04_14.c b/src/libmsc/gsm_04_14.c index 044b61c..8116558 100644 --- a/src/libmsc/gsm_04_14.c +++ b/src/libmsc/gsm_04_14.c @@ -24,8 +24,6 @@ #include #include -#include "bscconfig.h" - #include #include #include diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index e2211a3..cc422e0 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -23,7 +23,7 @@ /* NOTE: I would have liked to call this the MSC_NODE instead of the MSC_NODE, * but MSC_NODE already exists to configure a remote MSC for osmo-bsc. */ -#include "../../bscconfig.h" +#include "configure.h" #include #include diff --git a/src/libmsc/ran_infra.c b/src/libmsc/ran_infra.c index 606b855..af12c10 100644 --- a/src/libmsc/ran_infra.c +++ b/src/libmsc/ran_infra.c @@ -6,7 +6,7 @@ #include #include -#include "bscconfig.h" +#include "configure.h" const struct value_string an_proto_names[] = { { TS3G_48_006, "Ts3G-48006" }, diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 40e93c6..d30bb3b 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -36,7 +36,7 @@ #include /* build switches from the configure script */ -#include "../../bscconfig.h" +#include "configure.h" #include #include -- To view, visit https://gerrit.osmocom.org/13138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id4f683be1f36f0630c83da54e02868aae847aeec Gerrit-Change-Number: 13138 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 22:33:59 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 22:33:59 +0000 Subject: Change in osmo-msc[master]: add LOG_TRANS, proper context for all transactions Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13139 Change subject: add LOG_TRANS, proper context for all transactions ...................................................................... add LOG_TRANS, proper context for all transactions Change-Id: I2e60964d7a3c06d051debd1c707051a0eb3101ba --- M include/osmocom/msc/transaction.h M src/libmsc/gsm_04_08_cc.c M src/libmsc/gsm_04_11.c M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_09_11.c M src/libmsc/transaction.c M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 14 files changed, 640 insertions(+), 640 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/39/13139/1 diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index 401b463..688fba9 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -3,14 +3,30 @@ #include #include #include +#include #include #include +#include +#include #include #include /* Used for late TID assignment */ #define TRANS_ID_UNASSIGNED 0xff +#define LOG_TRANS_CAT(trans, subsys, level, fmt, args...) \ + LOGP(subsys, level, \ + "trans(%s %s callref-0x%x tid-%u%s) " fmt, \ + (trans) ? gsm48_pdisc_name((trans)->protocol) : "NULL", \ + (trans) ? ((trans)->msc_a ? (trans)->msc_a->c.fi->id : vlr_subscr_name((trans)->vsub)) : "NULL", \ + (trans) ? (trans)->callref : 0, \ + (trans) ? (trans)->transaction_id : 0, \ + (trans) && (trans)->paging_request ? ",PAGING" : "", \ + ##args) + +#define LOG_TRANS(trans, level, fmt, args...) \ + LOG_TRANS_CAT(trans, trans_log_subsys(trans), level, fmt, ##args) + enum bridge_state { BRIDGE_STATE_NONE, BRIDGE_STATE_LOOPBACK_PENDING, @@ -117,3 +133,20 @@ uint8_t protocol); struct gsm_trans *trans_has_conn(const struct msc_a *msc_a); void trans_conn_closed(const struct msc_a *msc_a); + +static inline int trans_log_subsys(const struct gsm_trans *trans) +{ + if (!trans) + return DMSC; + switch (trans->protocol) { + case GSM48_PDISC_CC: + return DCC; + case GSM48_PDISC_SMS: + return DLSMS; + default: + break; + } + if (trans->msc_a) + return trans->msc_a->c.ran->log_subsys; + return DMSC; +} diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 3ecfacc..24a07e9 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -74,8 +74,7 @@ static void gsm48_cc_guard_timeout(void *arg) { struct gsm_trans *trans = arg; - DEBUGP(DCC, "(sub %s) guard timeout expired\n", - vlr_subscr_msisdn_or_name(trans->vsub)); + LOG_TRANS(trans, LOGL_DEBUG, "guard timeout expired\n"); trans_free(trans); return; } @@ -83,8 +82,7 @@ static void gsm48_stop_guard_timer(struct gsm_trans *trans) { if (osmo_timer_pending(&trans->cc.timer_guard)) { - DEBUGP(DCC, "(sub %s) stopping pending guard timer\n", - vlr_subscr_msisdn_or_name(trans->vsub)); + LOG_TRANS(trans, LOGL_DEBUG, "stopping pending guard timer\n"); osmo_timer_del(&trans->cc.timer_guard); } } @@ -101,9 +99,7 @@ * timer will time out and hard-clear the connection. */ if (osmo_timer_pending(&trans->cc.timer_guard)) gsm48_stop_guard_timer(trans); - DEBUGP(DCC, "(sub %s) starting guard timer with %d seconds\n", - vlr_subscr_msisdn_or_name(trans->vsub), - trans->net->mncc_guard_timeout); + LOG_TRANS(trans, LOGL_DEBUG, "starting guard timer with %d seconds\n", trans->net->mncc_guard_timeout); osmo_timer_setup(&trans->cc.timer_guard, gsm48_cc_guard_timeout, trans); osmo_timer_schedule(&trans->cc.timer_guard, trans->net->mncc_guard_timeout, 0); @@ -176,11 +172,9 @@ if (state > 31 || state < 0) return; - DEBUGP(DCC, "(ti %02x sub %s) new state %s -> %s\n", - trans->transaction_id, - vlr_subscr_name(trans->vsub), - gsm48_cc_state_name(trans->cc.state), - gsm48_cc_state_name(state)); + LOG_TRANS(trans, LOGL_DEBUG, "new state %s -> %s\n", + gsm48_cc_state_name(trans->cc.state), + gsm48_cc_state_name(state)); count_statistics(trans, state); trans->cc.state = state; @@ -212,7 +206,7 @@ static void gsm48_stop_cc_timer(struct gsm_trans *trans) { if (osmo_timer_pending(&trans->cc.timer)) { - DEBUGP(DCC, "stopping pending timer T%x\n", trans->cc.Tcurrent); + LOG_TRANS(trans, LOGL_DEBUG, "stopping pending timer T%x\n", trans->cc.Tcurrent); osmo_timer_del(&trans->cc.timer); trans->cc.Tcurrent = 0; } @@ -224,31 +218,7 @@ struct msgb *msg; unsigned char *data; - DEBUGP(DMNCC, "transmit message %s\n", get_mncc_name(msg_type)); - -#if BEFORE_MSCSPLIT - /* Re-enable this log output once we can obtain this information via - * A-interface, see OS#2391. */ - if (trans) - if (trans->conn && trans->conn->lchan) - DEBUGP(DCC, "(bts %d trx %d ts %d ti %x sub %s) " - "Sending '%s' to MNCC.\n", - trans->conn->lchan->ts->trx->bts->nr, - trans->conn->lchan->ts->trx->nr, - trans->conn->lchan->ts->nr, trans->transaction_id, - vlr_subscr_msisdn_or_name(trans->vsub), - get_mncc_name(msg_type)); - else - DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) " - "Sending '%s' to MNCC.\n", - vlr_subscr_msisdn_or_name(trans->vsub), - get_mncc_name(msg_type)); - else - DEBUGP(DCC, "(bts - trx - ts - ti -- sub -) " - "Sending '%s' to MNCC.\n", get_mncc_name(msg_type)); -#else - DEBUGP(DCC, "Sending '%s' to MNCC.\n", get_mncc_name(msg_type)); -#endif + LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "tx %s\n", get_mncc_name(msg_type)); mncc->msg_type = msg_type; @@ -321,7 +291,7 @@ } if (msc_a) { - LOG_MSC_A_CAT(msc_a, DCC, LOGL_DEBUG, "Paging succeeded\n"); + LOG_TRANS(trans, LOGL_DEBUG, "Paging succeeded\n"); /* Assign conn */ msc_a_get(msc_a, MSC_A_USE_CC); trans->msc_a = msc_a; @@ -330,7 +300,7 @@ /* send SETUP request to called party */ gsm48_cc_tx_setup(trans, &trans->cc.msg); } else { - LOGP(DCC, LOGL_DEBUG, "%s Paging expired\n", vlr_subscr_name(trans->vsub)); + LOG_TRANS(trans, LOGL_DEBUG, "Paging expired\n"); /* Temporarily out of order */ mncc_release_ind(trans->net, trans, trans->callref, @@ -350,11 +320,19 @@ struct call_leg *cl1; struct call_leg *cl2; - if (!trans1 || !trans2) + if (!trans1 || !trans2) { + LOG_TRANS(trans1 ? : trans2, LOGL_ERROR, "Cannot MNCC_BRIDGE, one or both call legs are unset\n"); return -EIO; + } - if (!trans1->msc_a || !trans2->msc_a) + if (!trans1->msc_a || !trans2->msc_a) { + LOG_TRANS(trans1, LOGL_ERROR, "Cannot MNCC_BRIDGE, one or both call legs lack an active connection\n"); + LOG_TRANS(trans2, LOGL_ERROR, "Cannot MNCC_BRIDGE, one or both call legs lack an active connection\n"); return -EIO; + } + + LOG_TRANS(trans1, LOGL_DEBUG, "MNCC_BRIDGE: Local bridge to callref 0x%x\n", trans2->callref); + LOG_TRANS(trans2, LOGL_DEBUG, "MNCC_BRIDGE: Local bridge to callref 0x%x\n", trans1->callref); /* This call bridging mechanism is only used with the internal MNCC (with external MNCC briding would be done by * the PBX). For inter-MSC Handover scenarios, an external MNCC is mandatory. The conclusion is that in this @@ -368,7 +346,7 @@ static int gsm48_cc_rx_status_enq(struct gsm_trans *trans, struct msgb *msg) { - DEBUGP(DCC, "-> STATUS ENQ\n"); + LOG_TRANS(trans, LOGL_DEBUG, "-> STATUS ENQ\n"); return gsm48_cc_tx_status(trans, msg); } @@ -464,7 +442,9 @@ if (!trans0 || !trans1) return; - DEBUGP(DCC, "Failed to bridge TCH for calls %x <-> %x :: %s \n", + LOG_TRANS(trans0, LOGL_ERROR, "Failed to bridge TCH for calls %x <-> %x :: %s \n", + trans0->callref, trans1->callref, strerror(err)); + LOG_TRANS(trans1, LOGL_ERROR, "Failed to bridge TCH for calls %x <-> %x :: %s \n", trans0->callref, trans1->callref, strerror(err)); memset(&mx_rel, 0, sizeof(struct gsm_mncc)); @@ -481,7 +461,7 @@ static void gsm48_start_cc_timer(struct gsm_trans *trans, int current, int sec, int micro) { - DEBUGP(DCC, "starting timer T%x with %d seconds\n", current, sec); + LOG_TRANS(trans, LOGL_DEBUG, "starting timer T%x with %d seconds\n", current, sec); osmo_timer_setup(&trans->cc.timer, gsm48_cc_timeout, trans); osmo_timer_schedule(&trans->cc.timer, sec, micro); trans->cc.Tcurrent = current; @@ -571,9 +551,8 @@ new_cc_state(trans, GSM_CSTATE_INITIATED); - LOGP(DCC, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "Subscriber %s (%s) sends %sSETUP to %s\n", - vlr_subscr_name(trans->vsub), trans->vsub->msisdn, setup.emergency ? "EMERGENCY_" : "", - setup.called.number); + LOG_TRANS(trans, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "%sSETUP to %s\n", + setup.emergency ? "EMERGENCY_" : "", setup.called.number); rate_ctr_inc(&trans->net->msc_ctrs->ctr[MSC_CTR_CALL_MO_SETUP]); @@ -597,7 +576,7 @@ /* transaction id must not be assigned */ if (trans->transaction_id != TRANS_ID_UNASSIGNED) { - DEBUGP(DCC, "TX Setup with assigned transaction. " + LOG_TRANS(trans, LOGL_DEBUG, "TX Setup with assigned transaction. " "This is not allowed!\n"); /* Temporarily out of order */ rc = mncc_release_ind(trans->net, trans, trans->callref, @@ -1636,13 +1615,13 @@ /* Find callref */ trans = trans_find_by_callref(net, callref); if (!trans) { - LOGP(DMNCC, LOGL_ERROR, "RTP create for non-existing trans\n"); + LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP create for non-existing trans\n"); mncc_recv_rtp_err(net, callref, MNCC_RTP_CREATE); return -EIO; } log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); if (!trans->msc_a) { - LOGP(DMNCC, LOGL_NOTICE, "RTP create for trans without conn\n"); + LOG_TRANS_CAT(trans, DMNCC, LOGL_NOTICE, "RTP create for trans without conn\n"); mncc_recv_rtp_err(net, callref, MNCC_RTP_CREATE); return 0; } @@ -1689,7 +1668,7 @@ msg_type = GSM_TCHF_FRAME; if (!call_leg_has_local_ip(cl, RTP_TO_CN)) { - LOG_MSC_A_CAT(msc_a, DMNCC, LOGL_ERROR, "Cannot RTP CREATE to MNCC, no local RTP IP:port set up\n"); + LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "Cannot RTP CREATE to MNCC, no local RTP IP:port set up\n"); return -EINVAL; } rtp_cn_local = &cl->rtp[RTP_TO_CN]->local; @@ -1717,13 +1696,13 @@ /* Find callref */ trans = trans_find_by_callref(net, rtp->callref); if (!trans) { - LOGP(DMNCC, LOGL_ERROR, "RTP connect for non-existing trans\n"); + LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP connect for non-existing trans\n"); mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT); return -EIO; } log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); if (!trans->msc_a) { - LOGP(DMNCC, LOGL_ERROR, "RTP connect for trans without conn\n"); + LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP connect for trans without conn\n"); mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT); return -EIO; } @@ -1732,7 +1711,7 @@ rtps = cl ? cl->rtp[RTP_TO_CN] : NULL; if (!rtps) { - LOG_MSC_A_CAT(trans->msc_a, DMNCC, LOGL_ERROR, "RTP connect for trans without ongoing call\n"); + LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP connect for trans without ongoing call\n"); mncc_recv_rtp_err(net, rtp->callref, MNCC_RTP_CONNECT); return -EINVAL; } @@ -1804,12 +1783,10 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg) { int i, rc = 0; - struct gsm_trans *trans = NULL, *transt; + struct gsm_trans *trans = NULL; struct msc_a *msc_a = NULL; struct gsm_mncc *data = arg, rel; - DEBUGP(DMNCC, "receive message %s\n", get_mncc_name(msg_type)); - /* handle special messages */ switch(msg_type) { case MNCC_BRIDGE: @@ -1831,7 +1808,7 @@ case GSM_TCHF_FRAME_EFR: case GSM_TCHH_FRAME: case GSM_TCH_FRAME_AMR: - LOGP(DMNCC, LOGL_ERROR, "RTP streams must be handled externally; %s not supported.\n", + LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP streams must be handled externally; %s not supported.\n", get_mncc_name(msg_type)); return -ENOTSUP; } @@ -1848,51 +1825,43 @@ struct msub *msub; if (msg_type != MNCC_SETUP_REQ) { - DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) " - "Received '%s' from MNCC with " - "unknown callref %d\n", data->called.number, - get_mncc_name(msg_type), data->callref); + LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "Unknown call reference for %s\n", + get_mncc_name(msg_type)); /* Invalid call reference */ return mncc_release_ind(net, NULL, data->callref, GSM48_CAUSE_LOC_PRN_S_LU, GSM48_CC_CAUSE_INVAL_TRANS_ID); } if (!data->called.number[0] && !data->imsi[0]) { - DEBUGP(DCC, "(bts - trx - ts - ti) " - "Received '%s' from MNCC with " - "no number or IMSI\n", get_mncc_name(msg_type)); + LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "Neither number nor IMSI in %s\n", + get_mncc_name(msg_type)); /* Invalid number */ return mncc_release_ind(net, NULL, data->callref, GSM48_CAUSE_LOC_PRN_S_LU, GSM48_CC_CAUSE_INV_NR_FORMAT); } /* New transaction due to setup, find subscriber */ - if (data->called.number[0]) - vsub = vlr_subscr_find_by_msisdn(net->vlr, - data->called.number, __func__); - else + if (data->called.number[0]) { + vsub = vlr_subscr_find_by_msisdn(net->vlr, data->called.number, __func__); + if (!vsub) + LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "rx %s for unknown subscriber number '%s'\n", + get_mncc_name(msg_type), data->called.number); + } else { vsub = vlr_subscr_find_by_imsi(net->vlr, data->imsi, __func__); - + if (!vsub) + LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "rx %s for unknown subscriber IMSI '%s'\n", + get_mncc_name(msg_type), data->imsi); + } + if (!vsub) + return mncc_release_ind(net, NULL, data->callref, GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_UNASSIGNED_NR); /* update the subscriber we deal with */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); - /* If subscriber is not found */ - if (!vsub) { - DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) " - "Received '%s' from MNCC with " - "unknown subscriber %s\n", data->called.number, - get_mncc_name(msg_type), data->called.number); - /* Unknown subscriber */ - return mncc_release_ind(net, NULL, data->callref, - GSM48_CAUSE_LOC_PRN_S_LU, - GSM48_CC_CAUSE_UNASSIGNED_NR); - } /* If subscriber is not "attached" */ - if (!vsub->cgi.lai.lac) { - DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) " - "Received '%s' from MNCC with " - "detached subscriber %s\n", data->called.number, - get_mncc_name(msg_type), vlr_subscr_name(vsub)); + if (!vsub->lu_complete) { + LOG_TRANS_CAT(trans, DCC, LOGL_ERROR, "rx %s for subscriber that is not attached: %s\n", + get_mncc_name(msg_type), vlr_subscr_name(vsub)); vlr_subscr_put(vsub, __func__); /* Temporarily out of order */ return mncc_release_ind(net, NULL, data->callref, @@ -1903,7 +1872,7 @@ trans = trans_alloc(net, vsub, GSM48_PDISC_CC, TRANS_ID_UNASSIGNED, data->callref); if (!trans) { - LOGP(DCC, LOGL_ERROR, "No memory for trans.\n"); + LOG_TRANS(trans, LOGL_ERROR, "No memory for trans.\n"); vlr_subscr_put(vsub, __func__); /* Ressource unavailable */ mncc_release_ind(net, NULL, data->callref, @@ -1917,22 +1886,16 @@ /* If subscriber has no conn */ if (!msub) { - /* find transaction with this subscriber already paging */ - llist_for_each_entry(transt, &net->trans_list, entry) { - /* Transaction of our conn? */ - if (transt == trans || - transt->vsub != vsub) - continue; - DEBUGP(DCC, "(bts - trx - ts - ti -- sub %s) " - "Received '%s' from MNCC with " - "unallocated channel, paging already " - "started for lac %d.\n", - data->called.number, - get_mncc_name(msg_type), vsub->cgi.lai.lac); + + if (vsub->cs.is_paging) { + LOG_TRANS(trans, LOGL_DEBUG, + "rx %s, subscriber not yet connected, paging already started\n", + get_mncc_name(msg_type)); vlr_subscr_put(vsub, __func__); trans_free(trans); return 0; } + /* store setup information until paging succeeds */ memcpy(&trans->cc.msg, data, sizeof(struct gsm_mncc)); @@ -1940,7 +1903,7 @@ trans->paging_request = paging_request_start(vsub, PAGING_CAUSE_CALL_CONVERSATIONAL, cc_paging_cb, trans, "MNCC: establish call"); if (!trans->paging_request) { - LOGP(DCC, LOGL_ERROR, "Failed to allocate paging token.\n"); + LOG_TRANS(trans, LOGL_ERROR, "Failed to allocate paging token.\n"); trans_free(trans); } vlr_subscr_put(vsub, __func__); @@ -1957,6 +1920,8 @@ log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); } + LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s\n", get_mncc_name(msg_type)); + gsm48_start_guard_timer(trans); if (trans->msc_a) @@ -1964,8 +1929,7 @@ /* if paging did not respond yet */ if (!msc_a) { - LOG_MSC_A_CAT(msc_a, DCC, LOGL_DEBUG, "Received '%s' from MNCC in paging state\n", - get_mncc_name(msg_type)); + LOG_TRANS(trans, LOGL_DEBUG, "rx %s in paging state\n", get_mncc_name(msg_type)); mncc_set_cause(&rel, GSM48_CAUSE_LOC_PRN_S_LU, GSM48_CC_CAUSE_NORM_CALL_CLEAR); if (msg_type == MNCC_REL_REQ) @@ -1976,9 +1940,8 @@ trans_free(trans); return rc; } else { - LOG_MSC_A_CAT(msc_a, DCC, LOGL_DEBUG, "(ti %02x) Received '%s' from MNCC in state %d (%s)\n", - trans->transaction_id, get_mncc_name(msg_type), trans->cc.state, - gsm48_cc_state_name(trans->cc.state)); + LOG_TRANS(trans, LOGL_DEBUG, "rx %s in state %s\n", + get_mncc_name(msg_type), gsm48_cc_state_name(trans->cc.state)); } /* Find function for current state and message */ @@ -1987,7 +1950,8 @@ && ((1 << trans->cc.state) & downstatelist[i].states)) break; if (i == DOWNSLLEN) { - DEBUGP(DCC, "Message '%s' unhandled at state '%s'\n", get_mncc_name(msg_type), gsm48_cc_state_name(trans->cc.state)); + LOG_TRANS(trans, LOGL_DEBUG, "Message '%s' unhandled at state '%s'\n", + get_mncc_name(msg_type), gsm48_cc_state_name(trans->cc.state)); return 0; } @@ -2062,39 +2026,28 @@ int i, rc = 0; if (msg_type & 0x80) { - DEBUGP(DCC, "MSG 0x%2x not defined for PD error\n", msg_type); + LOG_TRANS(trans, LOGL_DEBUG, "MSG 0x%2x not defined for PD error\n", msg_type); return -EINVAL; } if (!vsub) { - LOGP(DCC, LOGL_ERROR, "Invalid conn: no subscriber\n"); + LOG_TRANS(trans, LOGL_ERROR, "Invalid conn: no subscriber\n"); return -EINVAL; } /* Find transaction */ trans = trans_find_by_id(msc_a, GSM48_PDISC_CC, transaction_id); -#if BEFORE_MSCSPLIT - /* Re-enable this log output once we can obtain this information via - * A-interface, see OS#2391. */ - DEBUGP(DCC, "(bts %d trx %d ts %d ti %x sub %s) " - "Received '%s' from MS in state %d (%s)\n", - conn->bts->nr, conn->lchan->ts->trx->nr, conn->lchan->ts->nr, - transaction_id, vlr_subscr_msisdn_or_name(conn->vsub), - gsm48_cc_msg_name(msg_type), trans?(trans->cc.state):0, - gsm48_cc_state_name(trans?(trans->cc.state):0)); -#endif - /* Create transaction */ if (!trans) { - DEBUGP(DCC, "Unknown transaction ID %x, " + LOG_TRANS(trans, LOGL_DEBUG, "Unknown transaction ID %x, " "creating new trans.\n", transaction_id); /* Create transaction */ trans = trans_alloc(net, vsub, GSM48_PDISC_CC, transaction_id, new_callref++); if (!trans) { - LOGP(DCC, LOGL_ERROR, "No memory for trans.\n"); + LOG_TRANS(trans, LOGL_ERROR, "No memory for trans.\n"); rc = gsm48_tx_simple(msc_a, GSM48_PDISC_CC | (transaction_id << 4), GSM48_MT_CC_RELEASE_COMPL); @@ -2119,13 +2072,16 @@ msc_a_put(msc_a, MSC_A_USE_CM_SERVICE_CC); } + LOG_TRANS(trans, LOGL_DEBUG, "rx %s in state %s\n", gsm48_cc_msg_name(msg_type), + gsm48_cc_state_name(trans?(trans->cc.state):0)); + /* find function for current state and message */ for (i = 0; i < DATASLLEN; i++) if ((msg_type == datastatelist[i].type) && ((1 << trans->cc.state) & datastatelist[i].states)) break; if (i == DATASLLEN) { - DEBUGP(DCC, "Message unhandled at this state.\n"); + LOG_TRANS(trans, LOGL_DEBUG, "Message unhandled at this state.\n"); return 0; } diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index 2cbbcaa..5660440 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -121,11 +121,11 @@ osmo_signal_dispatch(SS_SMS, sig_no, &sig); } -static int gsm411_sendmsg(struct msc_a *msc_a, struct msgb *msg) +static int gsm411_sendmsg(struct gsm_trans *trans, struct msgb *msg) { - DEBUGP(DLSMS, "GSM4.11 TX %s\n", msgb_hexdump(msg)); + LOG_TRANS(trans, LOGL_DEBUG, "GSM4.11 TX %s\n", msgb_hexdump(msg)); msg->l3h = msg->data; - return msc_a_tx_dtap_to_i(msc_a, msg); + return msc_a_tx_dtap_to_i(trans->msc_a, msg); } /* Paging callback for MT SMS (Paging is triggered by SMC) */ @@ -133,7 +133,7 @@ { struct gsm_sms *sms = trans->sms.sms; - DEBUGP(DLSMS, "%s(%s)\n", __func__, msc_a ? "success" : "expired"); + LOG_TRANS(trans, LOGL_DEBUG, "%s(%s)\n", __func__, msc_a ? "success" : "expired"); if (msc_a) { /* Paging succeeded */ @@ -167,19 +167,17 @@ /* Check if connection is already established */ if (trans->msc_a != NULL) { - LOG_MSC_A_CAT(trans->msc_a, DLSMS, LOGL_DEBUG, "Using an existing connection\n"); + LOG_TRANS(trans, LOGL_DEBUG, "Using an existing connection\n"); return gsm411_smc_recv(&trans->sms.smc_inst, GSM411_MMSMS_EST_CNF, NULL, 0); } /* Initiate Paging procedure */ - LOGP(DLSMS, LOGL_DEBUG, "Initiating Paging procedure " - "for %s due to MMSMS_EST_REQ\n", vlr_subscr_name(trans->vsub)); + LOG_TRANS(trans, LOGL_DEBUG, "Initiating Paging due to MMSMS_EST_REQ\n"); trans->paging_request = paging_request_start(trans->vsub, PAGING_CAUSE_SIGNALLING_LOW_PRIO, mmsms_paging_cb, trans, "MT-SMS"); if (!trans->paging_request) { - LOGP(DLSMS, LOGL_ERROR, "Failed to initiate Paging procedure for %s\n", - vlr_subscr_name(trans->vsub)); + LOG_TRANS(trans, LOGL_ERROR, "Failed to initiate Paging\n"); /* Inform SMC about channel establishment failure */ gsm411_smc_recv(&trans->sms.smc_inst, GSM411_MMSMS_REL_IND, NULL, 0); trans_free(trans); @@ -201,9 +199,9 @@ gh->msg_type = msg_type; OMSC_LINKID_CB(msg) = trans->dlci; - DEBUGP(DLSMS, "sending CP message (trans=%x)\n", trans->transaction_id); + LOG_TRANS(trans, LOGL_DEBUG, "sending CP message (trans=%x)\n", trans->transaction_id); - return gsm411_sendmsg(trans->msc_a, msg); + return gsm411_sendmsg(trans, msg); } /* mm_send: receive MMCCSMS sap message from SMC */ @@ -223,12 +221,12 @@ rc = gsm411_cp_sendmsg(msg, trans, cp_msg_type); break; case GSM411_MMSMS_REL_REQ: - DEBUGP(DLSMS, "Got MMSMS_REL_REQ, destroying transaction.\n"); + LOG_TRANS(trans, LOGL_DEBUG, "Got MMSMS_REL_REQ, destroying transaction.\n"); msgb_free(msg); trans_free(trans); break; default: - LOGP(DLSMS, LOGL_NOTICE, "Unhandled MMCCSMS msg 0x%x\n", msg_type); + LOG_TRANS(trans, LOGL_NOTICE, "Unhandled MMCCSMS msg 0x%x\n", msg_type); msgb_free(msg); rc = -EINVAL; } @@ -247,10 +245,10 @@ return gsm411_smc_send(&trans->sms.smc_inst, msg_type, msg); } -static int gsm340_rx_sms_submit(struct gsm_sms *gsms) +static int gsm340_rx_sms_submit(struct gsm_trans *trans, struct gsm_sms *gsms) { if (db_sms_store(gsms) != 0) { - LOGP(DLSMS, LOGL_ERROR, "Failed to store SMS in Database\n"); + LOG_TRANS(trans, LOGL_ERROR, "Failed to store SMS in Database\n"); return GSM411_RP_CAUSE_MO_NET_OUT_OF_ORDER; } /* dispatch a signal to tell higher level about it */ @@ -269,7 +267,7 @@ /* generate a msgb containing an 03.40 9.2.2.1 SMS-DELIVER TPDU derived from * struct gsm_sms, returns total size of TPDU */ -static int gsm340_gen_sms_deliver_tpdu(struct msgb *msg, struct gsm_sms *sms) +static int gsm340_gen_sms_deliver_tpdu(struct gsm_trans *trans, struct msgb *msg, struct gsm_sms *sms) { uint8_t *smsp; uint8_t oa[12]; /* max len per 03.40 */ @@ -332,8 +330,8 @@ memcpy(smsp, sms->user_data, sms->user_data_len); break; default: - LOGP(DLSMS, LOGL_NOTICE, "Unhandled Data Coding Scheme: 0x%02X\n", - sms->data_coding_scheme); + LOG_TRANS(trans, LOGL_NOTICE, "Unhandled Data Coding Scheme: 0x%02X\n", + sms->data_coding_scheme); break; } @@ -341,7 +339,7 @@ } /* As defined by GSM 03.40, Section 9.2.2.3. */ -static int gsm340_gen_sms_status_report_tpdu(struct msgb *msg, +static int gsm340_gen_sms_status_report_tpdu(struct gsm_trans *trans, struct msgb *msg, struct gsm_sms *sms) { unsigned int old_msg_len = msg->len; @@ -381,15 +379,16 @@ /* From GSM 03.40, Section 9.2.3.15, 0x00 means OK. */ *smsp = 0x00; - LOGP(DLSMS, LOGL_INFO, "sending status report for SMS reference %x\n", - sms->msg_ref); + LOG_TRANS(trans, LOGL_INFO, "sending status report for SMS reference %x\n", + sms->msg_ref); return msg->len - old_msg_len; } -static int sms_route_mt_sms(struct msc_a *msc_a, struct gsm_sms *gsms) +static int sms_route_mt_sms(struct gsm_trans *trans, struct gsm_sms *gsms) { int rc; + struct msc_a *msc_a = trans->msc_a; struct gsm_network *net = msc_a_net(msc_a); #ifdef BUILD_SMPP @@ -405,7 +404,7 @@ /* unknown subscriber, try local */ goto try_local; if (rc < 0) { - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_ERROR, "SMS delivery error: %d.", rc); + LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d.", rc); rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; /* rc will be logged by gsm411_send_rp_error() */ rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); @@ -430,7 +429,7 @@ if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) { rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); } else if (rc < 0) { - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_ERROR, "SMS delivery error: %d.", rc); + LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d.", rc); rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; /* rc will be logged by gsm411_send_rp_error() */ rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); @@ -493,11 +492,11 @@ /* length in bytes of the destination address */ da_len_bytes = 2 + *smsp/2 + *smsp%2; if (da_len_bytes > 12) { - LOGP(DLSMS, LOGL_ERROR, "Destination Address > 12 bytes ?!?\n"); + LOG_TRANS(trans, LOGL_ERROR, "Destination Address > 12 bytes ?!?\n"); rc = GSM411_RP_CAUSE_SEMANT_INC_MSG; goto out; } else if (da_len_bytes < 4) { - LOGP(DLSMS, LOGL_ERROR, "Destination Address < 4 bytes ?!?\n"); + LOG_TRANS(trans, LOGL_ERROR, "Destination Address < 4 bytes ?!?\n"); rc = GSM411_RP_CAUSE_SEMANT_INC_MSG; goto out; } @@ -538,8 +537,7 @@ sms_vp = 0; break; default: - LOGP(DLSMS, LOGL_NOTICE, - "SMS Validity period not implemented: 0x%02x\n", sms_vpf); + LOG_TRANS(trans, LOGL_NOTICE, "SMS Validity period not implemented: 0x%02x\n", sms_vpf); rc = GSM411_RP_CAUSE_MO_NET_OUT_OF_ORDER; goto out; } @@ -561,19 +559,19 @@ OSMO_STRLCPY_ARRAY(gsms->src.addr, vsub->msisdn); - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_INFO, - "RX SMS: Sender: %s, MTI: 0x%02x, VPF: 0x%02x, " - "MR: 0x%02x PID: 0x%02x, DCS: 0x%02x, DA: %s, " - "UserDataLength: 0x%02x, UserData: \"%s\"\n", - vlr_subscr_name(vsub), sms_mti, sms_vpf, gsms->msg_ref, - gsms->protocol_id, gsms->data_coding_scheme, gsms->dst.addr, - gsms->user_data_len, - sms_alphabet == DCS_7BIT_DEFAULT ? gsms->text : - osmo_hexdump(gsms->user_data, gsms->user_data_len)); + LOG_TRANS(trans, LOGL_INFO, + "MO SMS -- MTI: 0x%02x, VPF: 0x%02x, " + "MR: 0x%02x PID: 0x%02x, DCS: 0x%02x, DA: %s, " + "UserDataLength: 0x%02x, UserData: \"%s\"\n", + sms_mti, sms_vpf, gsms->msg_ref, + gsms->protocol_id, gsms->data_coding_scheme, gsms->dst.addr, + gsms->user_data_len, + sms_alphabet == DCS_7BIT_DEFAULT ? gsms->text : + osmo_hexdump(gsms->user_data, gsms->user_data_len)); gsms->validity_minutes = gsm340_validity_period(sms_vpf, sms_vp); - rc = sms_route_mt_sms(msc_a, gsms); + rc = sms_route_mt_sms(trans, gsms); /* * This SMS got routed through SMPP or no receiver exists. @@ -583,15 +581,15 @@ switch (sms_mti) { case GSM340_SMS_SUBMIT_MS2SC: /* MS is submitting a SMS */ - rc = gsm340_rx_sms_submit(gsms); + rc = gsm340_rx_sms_submit(trans, gsms); break; case GSM340_SMS_COMMAND_MS2SC: case GSM340_SMS_DELIVER_REP_MS2SC: - LOGP(DLSMS, LOGL_NOTICE, "Unimplemented MTI 0x%02x\n", sms_mti); + LOG_TRANS(trans, LOGL_NOTICE, "Unimplemented MTI 0x%02x\n", sms_mti); rc = GSM411_RP_CAUSE_IE_NOTEXIST; break; default: - LOGP(DLSMS, LOGL_NOTICE, "Undefined MTI 0x%02x\n", sms_mti); + LOG_TRANS(trans, LOGL_NOTICE, "Undefined MTI 0x%02x\n", sms_mti); rc = GSM411_RP_CAUSE_IE_NOTEXIST; break; } @@ -622,7 +620,7 @@ { struct msgb *msg = gsm411_msgb_alloc(); - DEBUGP(DLSMS, "TX: SMS RP ACK\n"); + LOG_TRANS(trans, LOGL_DEBUG, "TX: SMS RP ACK\n"); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, GSM411_MT_RP_ACK_MT, msg_ref, GSM411_SM_RL_REPORT_REQ); @@ -635,7 +633,7 @@ msgb_tv_put(msg, 1, cause); - LOGP(DLSMS, LOGL_NOTICE, "TX: SMS RP ERROR, cause %d (%s)\n", cause, + LOG_TRANS(trans, LOGL_NOTICE, "TX: SMS RP ERROR, cause %d (%s)\n", cause, get_value_string(gsm411_rp_cause_strs, cause)); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, @@ -687,14 +685,14 @@ if (rpud_len) rp_ud = &rph->data[1+src_len+1+dst_len+1]; - DEBUGP(DLSMS, "RX_RP-DATA: src_len=%u, dst_len=%u ud_len=%u\n", + LOG_TRANS(trans, LOGL_DEBUG, "RX_RP-DATA: src_len=%u, dst_len=%u ud_len=%u\n", src_len, dst_len, rpud_len); if (src_len && src) - LOGP(DLSMS, LOGL_ERROR, "RP-DATA (MO) with SRC ?!?\n"); + LOG_TRANS(trans, LOGL_ERROR, "RP-DATA (MO) with SRC ?!?\n"); if (!dst_len || !dst || !rpud_len || !rp_ud) { - LOGP(DLSMS, LOGL_ERROR, + LOG_TRANS(trans, LOGL_ERROR, "RP-DATA (MO) without DST or TPDU ?!?\n"); gsm411_send_rp_error(trans, rph->msg_ref, GSM411_RP_CAUSE_INV_MAND_INF); @@ -703,12 +701,12 @@ msg->l4h = rp_ud; - DEBUGP(DLSMS, "DST(%u,%s)\n", dst_len, osmo_hexdump(dst, dst_len)); + LOG_TRANS(trans, LOGL_DEBUG, "DST(%u,%s)\n", dst_len, osmo_hexdump(dst, dst_len)); return gsm411_rx_rp_ud(msg, trans, rph, dst, dst_len); } -static struct gsm_sms *sms_report_alloc(struct gsm_sms *sms) +static struct gsm_sms *sms_report_alloc(struct gsm_sms *sms, struct gsm_trans *trans) { struct gsm_sms *sms_report; int len; @@ -733,7 +731,7 @@ "id:%.08llu sub:000 dlvrd:000 submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DELIVRD err:000 text:%.20s", sms->id, sms->text); sms_report->user_data_len = len; - LOGP(DLSMS, LOGL_NOTICE, "%s\n", sms_report->user_data); + LOG_TRANS(trans, LOGL_NOTICE, "%s\n", sms_report->user_data); /* This represents a sms report. */ sms_report->is_report = true; @@ -741,25 +739,24 @@ return sms_report; } -static void sms_status_report(struct gsm_sms *gsms, - struct msc_a *msc_a) +static void sms_status_report(struct gsm_sms *gsms, struct gsm_trans *trans) { struct gsm_sms *sms_report; int rc; - sms_report = sms_report_alloc(gsms); + sms_report = sms_report_alloc(gsms, trans); - rc = sms_route_mt_sms(msc_a, sms_report); + rc = sms_route_mt_sms(trans, sms_report); if (rc < 0) { - LOGP(DLSMS, LOGL_ERROR, - "Failed to send status report! err=%d\n", rc); + LOG_TRANS(trans, LOGL_ERROR, "Failed to send status report! err=%d\n", rc); + return; } /* No route via SMPP, send the GSM 03.40 status-report now. */ if (sms_report->receiver) - gsm340_rx_sms_submit(sms_report); + gsm340_rx_sms_submit(trans, sms_report); - LOGP(DLSMS, LOGL_NOTICE, "Status report has been sent\n"); + LOG_TRANS(trans, LOGL_NOTICE, "Status report has been sent\n"); sms_free(sms_report); } @@ -780,7 +777,7 @@ } if (!sms) { - LOGP(DLSMS, LOGL_ERROR, "RX RP-ACK but no sms in transaction?!?\n"); + LOG_TRANS(trans, LOGL_ERROR, "RX RP-ACK but no sms in transaction?!?\n"); return gsm411_send_rp_error(trans, rph->msg_ref, GSM411_RP_CAUSE_PROTOCOL_ERR); } @@ -791,7 +788,7 @@ send_signal(S_SMS_DELIVERED, trans, sms, 0); if (sms->status_rep_req) - sms_status_report(sms, trans->msc_a); + sms_status_report(sms, trans); sms_free(sms); trans->sms.sms = NULL; @@ -812,7 +809,7 @@ * successfully receive the SMS. We need to investigate * the cause and take action depending on it */ - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_NOTICE, "RX SMS RP-ERROR, cause %d:%d (%s)\n", + LOG_TRANS(trans, LOGL_NOTICE, "RX SMS RP-ERROR, cause %d:%d (%s)\n", cause_len, cause, get_value_string(gsm411_rp_cause_strs, cause)); if (trans->net->sms_over_gsup) { @@ -821,7 +818,7 @@ } if (!sms) { - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_ERROR, "RX RP-ERR, but no sms in transaction?!?\n"); + LOG_TRANS(trans, LOGL_ERROR, "RX RP-ERR, but no sms in transaction?!?\n"); return -EINVAL; #if 0 return gsm411_send_rp_error(trans, rph->msg_ref, @@ -880,15 +877,15 @@ switch (msg_type) { case GSM411_MT_RP_DATA_MO: - DEBUGP(DLSMS, "RX SMS RP-DATA (MO)\n"); + LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-DATA (MO)\n"); rc = gsm411_rx_rp_data(msg, trans, rp_data); break; case GSM411_MT_RP_SMMA_MO: - DEBUGP(DLSMS, "RX SMS RP-SMMA\n"); + LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-SMMA\n"); rc = gsm411_rx_rp_smma(msg, trans, rp_data); break; default: - LOGP(DLSMS, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type); + LOG_TRANS(trans, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type); rc = -EINVAL; break; } @@ -906,15 +903,15 @@ switch (msg_type) { case GSM411_MT_RP_ACK_MO: - DEBUGP(DLSMS, "RX SMS RP-ACK (MO)\n"); + LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-ACK (MO)\n"); rc = gsm411_rx_rp_ack(trans, rp_data); break; case GSM411_MT_RP_ERROR_MO: - DEBUGP(DLSMS, "RX SMS RP-ERROR (MO)\n"); + LOG_TRANS(trans, LOGL_DEBUG, "RX SMS RP-ERROR (MO)\n"); rc = gsm411_rx_rp_error(trans, rp_data); break; default: - LOGP(DLSMS, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type); + LOG_TRANS(trans, LOGL_NOTICE, "Invalid RP type 0x%02x\n", msg_type); rc = -EINVAL; break; } @@ -942,7 +939,7 @@ rc = gsm411_rx_rl_report(msg, gh, trans); break; default: - LOGP(DLSMS, LOGL_NOTICE, "Unhandled SM-RL message 0x%x\n", msg_type); + LOG_TRANS(trans, LOGL_NOTICE, "Unhandled SM-RL message 0x%x\n", msg_type); rc = -EINVAL; } @@ -963,21 +960,21 @@ switch (msg_type) { case GSM411_MNSMS_EST_IND: case GSM411_MNSMS_DATA_IND: - DEBUGP(DLSMS, "MNSMS-DATA/EST-IND\n"); + LOG_TRANS(trans, LOGL_DEBUG, "MNSMS-DATA/EST-IND\n"); rc = gsm411_smr_recv(&trans->sms.smr_inst, msg_type, msg); break; case GSM411_MNSMS_ERROR_IND: if (gh) - DEBUGP(DLSMS, "MNSMS-ERROR-IND, cause %d (%s)\n", + LOG_TRANS(trans, LOGL_DEBUG, "MNSMS-ERROR-IND, cause %d (%s)\n", gh->data[0], get_value_string(gsm411_cp_cause_strs, gh->data[0])); else - DEBUGP(DLSMS, "MNSMS-ERROR-IND, no cause\n"); + LOG_TRANS(trans, LOGL_DEBUG, "MNSMS-ERROR-IND, no cause\n"); rc = gsm411_smr_recv(&trans->sms.smr_inst, msg_type, msg); break; default: - LOGP(DLSMS, LOGL_NOTICE, "Unhandled MNCCSMS msg 0x%x\n", msg_type); + LOG_TRANS(trans, LOGL_NOTICE, "Unhandled MNCCSMS msg 0x%x\n", msg_type); rc = -EINVAL; } @@ -990,7 +987,7 @@ /* Allocate a new transaction */ struct gsm_trans *trans = trans_alloc(net, vsub, GSM48_PDISC_SMS, tid, new_callref++); if (!trans) { - LOGP(DLSMS, LOGL_ERROR, "No memory for transaction\n"); + LOG_TRANS(trans, LOGL_ERROR, "No memory for transaction\n"); return NULL; } @@ -1005,7 +1002,7 @@ osmo_fsm_inst_dispatch(msc_a->c.fi, MSC_A_EV_TRANSACTION_ACCEPTED, trans); if (mo) { if (!osmo_use_count_by(&msc_a->use_count, MSC_A_USE_CM_SERVICE_SMS)) - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_ERROR, "MO SMS without prior CM Service Request\n"); + LOG_TRANS(trans, LOGL_ERROR, "MO SMS without prior CM Service Request\n"); else msc_a_put(msc_a, MSC_A_USE_CM_SERVICE_SMS); } @@ -1048,15 +1045,13 @@ struct vlr_subscr *vsub) { struct msub *msub; - struct gsm_trans *trans; + struct gsm_trans *trans = NULL; int tid; - LOGP(DLSMS, LOGL_INFO, "Going to send a MT SMS\n"); - /* Generate a new transaction ID */ tid = trans_assign_trans_id(net, vsub, GSM48_PDISC_SMS); if (tid == -1) { - LOGP(DLSMS, LOGL_ERROR, "No available transaction IDs\n"); + LOG_TRANS(trans, LOGL_ERROR, "No available transaction IDs\n"); return NULL; } @@ -1068,9 +1063,11 @@ if (!trans) return NULL; + LOG_TRANS(trans, LOGL_INFO, "Going to send a MT SMS\n"); + /* Assign a unique SM-RP Message Reference */ if (gsm411_assign_sm_rp_mr(trans) != 0) { - LOGP(DLSMS, LOGL_ERROR, "Failed to assign SM-RP-MR\n"); + LOG_TRANS(trans, LOGL_ERROR, "Failed to assign SM-RP-MR\n"); trans_free(trans); return NULL; } @@ -1128,10 +1125,10 @@ if (sms->is_report) { /* generate the 03.40 SMS-STATUS-REPORT TPDU */ - rc = gsm340_gen_sms_status_report_tpdu(msg, sms); + rc = gsm340_gen_sms_status_report_tpdu(trans, msg, sms); } else { /* generate the 03.40 SMS-DELIVER TPDU */ - rc = gsm340_gen_sms_deliver_tpdu(msg, sms); + rc = gsm340_gen_sms_deliver_tpdu(trans, msg, sms); } if (rc < 0) { send_signal(S_SMS_UNKNOWN_ERROR, trans, sms, 0); @@ -1203,16 +1200,13 @@ struct vlr_subscr *vsub = msc_a_vsub(msc_a); struct gsm_network *net = msc_a_net(msc_a); - LOG_MSC_A_CAT(msc_a, DLSMS, LOGL_DEBUG, "receiving data (trans_id=%x, msg_type=%s)\n", transaction_id, - gsm48_pdisc_msgtype_name(gsm48_hdr_pdisc(gh), gsm48_hdr_msg_type(gh))); - trans = trans_find_by_id(msc_a, GSM48_PDISC_SMS, transaction_id); /* * A transaction we created but don't know about? */ if (!trans && (transaction_id & 0x8) == 0) { - LOGP(DLSMS, LOGL_ERROR, "trans_id=%x allocated by us but known " + LOG_TRANS(trans, LOGL_ERROR, "trans_id=%x allocated by us but known " "to us anymore. We are ignoring it, maybe a CP-ERROR " "from a MS?\n", transaction_id); @@ -1231,6 +1225,9 @@ trans->dlci = OMSC_LINKID_CB(msg); /* DLCI as received from BSC */ } + LOG_TRANS(trans, LOGL_DEBUG, "receiving SMS message %s\n", + gsm48_pdisc_msgtype_name(gsm48_hdr_pdisc(gh), gsm48_hdr_msg_type(gh))); + /* 5.4: For MO, if a CP-DATA is received for a new * transaction, equals reception of an implicit * last CP-ACK for previous transaction */ @@ -1248,7 +1245,7 @@ if (!ptrans) continue; - DEBUGP(DLSMS, "Implicit CP-ACK for trans_id=%x\n", i); + LOG_TRANS(ptrans, LOGL_DEBUG, "Implicit CP-ACK for trans_id=%x\n", i); /* Finish it for good */ trans_free(ptrans); @@ -1274,7 +1271,7 @@ trans->sms.smc_inst.mm_send = NULL; if (trans->sms.sms) { - LOGP(DLSMS, LOGL_ERROR, "Transaction contains SMS.\n"); + LOG_TRANS(trans, LOGL_ERROR, "Freeing transaction that still contains an SMS -- discarding\n"); send_signal(S_SMS_UNKNOWN_ERROR, trans, trans->sms.sms, 0); sms_free(trans->sms.sms); trans->sms.sms = NULL; @@ -1299,7 +1296,7 @@ sms = trans->sms.sms; if (!sms) { - LOGP(DLSMS, LOGL_ERROR, "SAPI Reject but no SMS.\n"); + LOG_TRANS(trans, LOGL_ERROR, "SAPI Reject but no SMS.\n"); continue; } diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 5f4dbe1..a2a2ac1 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -59,7 +59,7 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); - LOGP(DLSMS, LOGL_DEBUG, "TX GSUP MO-forwardSM-Req\n"); + LOG_TRANS(trans, LOGL_DEBUG, "TX GSUP MO-forwardSM-Req\n"); /* Assign SM-RP-MR to transaction state */ trans->sms.sm_rp_mr = sm_rp_mr; @@ -68,7 +68,7 @@ bcd_len = gsm48_encode_bcd_number(bcd_buf, sizeof(bcd_buf), 0, trans->vsub->msisdn); if (bcd_len <= 0 || bcd_len > sizeof(bcd_buf)) { - LOGP(DLSMS, LOGL_ERROR, "Failed to encode subscriber's MSISDN\n"); + LOG_TRANS(trans, LOGL_ERROR, "Failed to encode subscriber's MSISDN\n"); return -EINVAL; } @@ -100,7 +100,7 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); - LOGP(DLSMS, LOGL_DEBUG, "TX GSUP READY-FOR-SM Req\n"); + LOG_TRANS(trans, LOGL_DEBUG, "TX GSUP READY-FOR-SM Req\n"); /* Assign SM-RP-MR to transaction state */ trans->sms.sm_rp_mr = sm_rp_mr; @@ -149,9 +149,6 @@ OSMO_ASSERT(0); } - LOGP(DLSMS, LOGL_DEBUG, "RX %s-%s\n", msg_name, - msg_is_err ? "Err" : "Res"); - /* Make sure that 'SMS over GSUP' is expected */ if (!net->sms_over_gsup) { /* TODO: notify sender about that? */ @@ -166,20 +163,22 @@ if (msg_is_err && !gsup_msg->sm_rp_cause) goto msg_error; - /* Attempt to find a DTAP-connection */ - msub = msub_for_vsub(vsub); - if (!msub) { - /* FIXME: should we establish it then? */ - LOGP(DLSMS, LOGL_NOTICE, "No connection found for %s, " + /* Attempt to find DTAP-transaction */ + trans = trans_find_by_sm_rp_mr(net, vsub, *(gsup_msg->sm_rp_mr)); + if (!trans) { + LOGP(DLSMS, LOGL_NOTICE, "No transaction found for %s, " "ignoring %s-%s message...\n", vlr_subscr_name(vsub), msg_name, msg_is_err ? "Err" : "Res"); return -EIO; /* TODO: notify sender about that? */ } - /* Attempt to find DTAP-transaction */ - trans = trans_find_by_sm_rp_mr(net, vsub, *(gsup_msg->sm_rp_mr)); - if (!trans) { - LOGP(DLSMS, LOGL_NOTICE, "No transaction found for %s, " + LOG_TRANS(trans, LOGL_DEBUG, "RX %s-%s\n", msg_name, msg_is_err ? "Err" : "Res"); + + /* Attempt to find a DTAP-connection */ + msub = msub_for_vsub(vsub); + if (!msub) { + /* FIXME: should we establish it then? */ + LOG_TRANS(trans, LOGL_NOTICE, "No connection found for %s, " "ignoring %s-%s message...\n", vlr_subscr_name(vsub), msg_name, msg_is_err ? "Err" : "Res"); return -EIO; /* TODO: notify sender about that? */ @@ -210,7 +209,7 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); - LOGP(DLSMS, LOGL_DEBUG, "TX MT-forwardSM-Res\n"); + LOG_TRANS(trans, LOGL_DEBUG, "TX MT-forwardSM-Res\n"); /* Initialize a new GSUP message */ gsup_sm_msg_init(&gsup_msg, OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT, @@ -227,7 +226,7 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub); - LOGP(DLSMS, LOGL_DEBUG, "TX MT-forwardSM-Err\n"); + LOG_TRANS(trans, LOGL_DEBUG, "TX MT-forwardSM-Err\n"); /* Initialize a new GSUP message */ gsup_sm_msg_init(&gsup_msg, OSMO_GSUP_MSGT_MT_FORWARD_SM_ERROR, diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 99820cb..ed169f3 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -62,8 +62,7 @@ if (trans->net->ncss_guard_timeout == 0) return; - LOGP(DMM, LOGL_NOTICE, "SS/USSD session timeout, releasing " - "transaction (trans=%p, callref=%x)\n", trans, trans->callref); + LOG_TRANS(trans, LOGL_NOTICE, "SS/USSD session timeout, releasing\n"); /* Indicate connection release to subscriber (if active) */ if (trans->msc_a != NULL) { @@ -116,9 +115,6 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); - DEBUGP(DMM, "Received SS/USSD data (trans_id=%x, msg_type=%s)\n", - tid, gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type)); - /* Reuse existing transaction, or create a new one */ trans = trans_find_by_id(msc_a, GSM48_PDISC_NC_SS, tid); if (!trans) { @@ -134,19 +130,17 @@ * a supplementary service. */ if (msg_type != GSM0480_MTYPE_REGISTER) { - LOGP(DMM, LOGL_ERROR, "Unexpected message (msg_type=%s), " - "transaction is not allocated yet\n", - gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type)); + LOG_TRANS(trans, LOGL_ERROR, "Rx wrong SS/USSD message type for new transaction: %s\n", + gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type)); gsm48_tx_simple(msc_a, GSM48_PDISC_NC_SS | (tid << 4), GSM0480_MTYPE_RELEASE_COMPLETE); return -EINVAL; } - DEBUGP(DMM, " -> (new transaction)\n"); trans = trans_alloc(net, vsub, GSM48_PDISC_NC_SS, tid, new_callref++); if (!trans) { - LOGP(DMM, LOGL_ERROR, " -> No memory for trans\n"); + LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); gsm48_tx_simple(msc_a, GSM48_PDISC_NC_SS | (tid << 4), GSM0480_MTYPE_RELEASE_COMPLETE); @@ -174,6 +168,9 @@ msc_a_put(msc_a, MSC_A_USE_CM_SERVICE_SS); } + LOG_TRANS(trans, LOGL_DEBUG, "Received SS/USSD msg %s\n", + gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type)); + /* (Re)schedule the inactivity timer */ if (net->ncss_guard_timeout > 0) { osmo_timer_schedule(&trans->ss.timer_guard, net->ncss_guard_timeout, 0); @@ -183,16 +180,15 @@ rc = gsm0480_extract_ie_by_tag(gh, msgb_l3len(msg), &facility_ie, &facility_ie_len, GSM0480_IE_FACILITY); if (rc) { - LOGP(DMM, LOGL_ERROR, "GSM 04.80 message parsing error, " - "couldn't extract Facility IE\n"); + LOG_TRANS(trans, LOGL_ERROR, "GSM 04.80 message parsing error, couldn't extract Facility IE\n"); goto error; } /* Facility IE is optional for RELEASE COMPLETE */ if (msg_type != GSM0480_MTYPE_RELEASE_COMPLETE) { if (!facility_ie || facility_ie_len < 2) { - LOGP(DMM, LOGL_ERROR, "GSM 04.80 message parsing error, " - "missing mandatory Facility IE\n"); + LOG_TRANS(trans, LOGL_ERROR, "GSM 04.80 message parsing error," + " missing mandatory Facility IE\n"); rc = -EINVAL; goto error; } @@ -231,7 +227,7 @@ /* Allocate GSUP message buffer */ gsup_msgb = osmo_gsup_client_msgb_alloc(); if (!gsup_msgb) { - LOGP(DMM, LOGL_ERROR, "Couldn't allocate GSUP message\n"); + LOG_TRANS(trans, LOGL_ERROR, "Couldn't allocate GSUP message\n"); rc = -ENOMEM; goto error; } @@ -239,14 +235,14 @@ /* Encode GSUP message */ rc = osmo_gsup_encode(gsup_msgb, &gsup_msg); if (rc) { - LOGP(DMM, LOGL_ERROR, "Couldn't encode GSUP message\n"); + LOG_TRANS(trans, LOGL_ERROR, "Couldn't encode GSUP message\n"); goto error; } /* Finally send */ rc = osmo_gsup_client_send(net->vlr->gsup_client, gsup_msgb); if (rc) { - LOGP(DMM, LOGL_ERROR, "Couldn't send GSUP message\n"); + LOG_TRANS(trans, LOGL_ERROR, "Couldn't send GSUP message\n"); goto error; } @@ -334,33 +330,37 @@ struct gsm_trans *trans, *transt; int tid; + /* Allocate transaction first, for log context */ + trans = trans_alloc(net, vsub, GSM48_PDISC_NC_SS, + TRANS_ID_UNASSIGNED, gsup_msg->session_id); + + if (!trans) { + LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); + return NULL; + } + if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { - LOGP(DMM, LOGL_ERROR, "Received non-BEGIN message " + LOG_TRANS(trans, LOGL_ERROR, "Received non-BEGIN message " "for non-existing transaction\n"); + trans_free(trans); return NULL; } if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { - LOGP(DMM, LOGL_ERROR, "Missing mandatory Facility IE\n"); + LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE\n"); + trans_free(trans); return NULL; } /* If subscriber is not "attached" */ if (!vsub->cgi.lai.lac) { - LOGP(DMM, LOGL_ERROR, "Network-originated session " + LOG_TRANS(trans, LOGL_ERROR, "Network-originated session " "rejected - subscriber is not attached\n"); + trans_free(trans); return NULL; } - DEBUGP(DMM, "Establishing network-originated session\n"); - - /* Allocate a new transaction */ - trans = trans_alloc(net, vsub, GSM48_PDISC_NC_SS, - TRANS_ID_UNASSIGNED, gsup_msg->session_id); - if (!trans) { - LOGP(DMM, LOGL_ERROR, " -> No memory for trans\n"); - return NULL; - } + LOG_TRANS(trans, LOGL_DEBUG, "Establishing network-originated session\n"); /* Count active NC SS/USSD sessions */ osmo_counter_inc(net->active_nc_ss); @@ -368,7 +368,7 @@ /* Assign transaction ID */ tid = trans_assign_trans_id(trans->net, trans->vsub, GSM48_PDISC_NC_SS); if (tid < 0) { - LOGP(DMM, LOGL_ERROR, "No free transaction ID\n"); + LOG_TRANS(trans, LOGL_ERROR, "No free transaction ID\n"); /* TODO: inform HLR about this */ /* TODO: release connection with subscriber */ trans->callref = 0; @@ -391,7 +391,7 @@ return trans; } - DEBUGP(DMM, "Triggering Paging Request\n"); + LOG_TRANS(trans, LOGL_DEBUG, "Triggering Paging Request\n"); /* Find transaction with this subscriber already paging */ llist_for_each_entry(transt, &net->trans_list, entry) { @@ -399,7 +399,7 @@ if (transt == trans || transt->vsub != vsub) continue; - LOGP(DMM, LOGL_ERROR, "Paging already started, " + LOG_TRANS(trans, LOGL_ERROR, "Paging already started, " "rejecting message...\n"); trans_free(trans); /* FIXME: WTF IS THIS!? This is completely insane. Presence of a trans doesn't indicate Paging, and even @@ -411,7 +411,7 @@ trans->paging_request = paging_request_start(vsub, PAGING_CAUSE_SIGNALLING_HIGH_PRIO, ss_paging_cb, trans, "GSM 09.11 SS/USSD"); if (!trans->paging_request) { - LOGP(DMM, LOGL_ERROR, "Failed to allocate paging token\n"); + LOG_TRANS(trans, LOGL_ERROR, "Failed to allocate paging token\n"); trans_free(trans); return NULL; } @@ -524,7 +524,7 @@ /* Missing or incorrect session state */ case OSMO_GSUP_SESSION_STATE_NONE: default: - LOGP(DMM, LOGL_ERROR, "Unexpected session state %d\n", + LOG_TRANS(trans, LOGL_ERROR, "Unexpected session state %d\n", gsup_msg->session_state); /* FIXME: send ERROR back to the HLR */ msgb_free(ss_msg); @@ -534,7 +534,7 @@ /* Facility IE is optional only for RELEASE COMPLETE */ if (gh->msg_type != GSM0480_MTYPE_RELEASE_COMPLETE) { if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { - LOGP(DMM, LOGL_ERROR, "Missing mandatory Facility IE " + LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE " "for mapped 0x%02x message\n", gh->msg_type); /* FIXME: send ERROR back to the HLR */ msgb_free(ss_msg); @@ -558,8 +558,7 @@ /* Sent to the MS, give ownership of ss_msg */ msc_a = trans->msc_a; if (!msc_a) { - LOGP(DMM, LOGL_ERROR, "Cannot send SS message, no local MSC-A role defined for %s\n", - vlr_subscr_name(vsub)); + LOG_TRANS(trans, LOGL_ERROR, "Cannot send SS message, no local MSC-A role defined for subscriber\n"); msgb_free(ss_msg); return -EINVAL; } diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index b410701..5507021 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -113,18 +113,14 @@ uint8_t protocol, uint8_t trans_id, uint32_t callref) { - struct gsm_trans *trans; + struct gsm_trans *trans = NULL; /* (NULL for LOG_TRANS() before allocation) */ /* a valid subscriber is indispensable */ if (vsub == NULL) { - LOGP(DVLR, LOGL_ERROR, - "unable to alloc transaction, invalid subscriber (NULL)\n"); + LOG_TRANS(trans, LOGL_ERROR, "unable to alloc transaction, invalid subscriber (NULL)\n"); return NULL; } - DEBUGP(DCC, "(ti %02x sub %s callref %x) New transaction\n", - trans_id, vlr_subscr_name(vsub), callref); - trans = talloc_zero(tall_trans_ctx, struct gsm_trans); if (!trans) return NULL; @@ -138,6 +134,7 @@ trans->net = net; llist_add_tail(&trans->entry, &net->trans_list); + LOG_TRANS(trans, LOGL_DEBUG, "New transaction\n"); return trans; } @@ -149,6 +146,8 @@ const char *usage_token; struct msc_a *msc_a; + LOG_TRANS(trans, LOGL_DEBUG, "Freeing transaction\n"); + switch (trans->protocol) { case GSM48_PDISC_CC: _gsm48_cc_trans_free(trans); @@ -250,10 +249,7 @@ * will trigger another call to trans_free. This is something the llist * macro can not handle and we need to re-iterate the list every time. */ - while (1) { - struct gsm_trans *trans = trans_has_conn(msc_a); - if (!trans) - return; + struct gsm_trans *trans; + while ((trans = trans_has_conn(msc_a))) trans_free(trans); - } } diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 60bd377..8cc6152 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -296,26 +296,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (cm_service_cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP -DCC Unknown transaction ID 8, creating new trans. -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000001) New transaction +DMSC trans(NULL NULL callref-0x0 tid-0) Unknown transaction ID 8, creating new trans. DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000001 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC (sub 42342) starting guard timer with 180 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> INITIATED -DCC Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (42342) sends SETUP to 123 -DMNCC transmit message MNCC_SETUP_IND -DCC Sending 'MNCC_SETUP_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx SETUP in state NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state NULL -> INITIATED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) SETUP to 123 +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000001: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC receive message MNCC_CALL_PROC_REQ -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_CALL_PROC_REQ' from MNCC in state 1 (INITIATED) -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -326,21 +326,21 @@ MS <--Call Assignment-- MSC: callref=0x80000001 - Total time passed: 1.000023 s - The other call leg got established (not shown here), MNCC tells us so -DMNCC receive message MNCC_ALERT_REQ -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_ALERT_REQ' from MNCC in state 3 (MO_CALL_PROC) -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_CALL_PROC -> CALL_DELIVERED +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ in state MO_CALL_PROC +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state MO_CALL_PROC -> CALL_DELIVERED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_ALERTING: 8301 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){0}: Received Event unknown 0x3 -DMNCC receive message MNCC_SETUP_RSP -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_SETUP_RSP' from MNCC in state 4 (CALL_DELIVERED) -DCC starting timer T313 with 30 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_DELIVERED -> CONNECT_IND +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_SETUP_RSP in state CALL_DELIVERED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T313 with 30 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CALL_DELIVERED -> CONNECT_IND DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT: 8307 - DTAP matches expected message @@ -350,11 +350,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CONNECT_ACK -DCC stopping pending timer T313 -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CONNECT_IND -> ACTIVE -DCC (sub 42342) stopping pending guard timer -DMNCC transmit message MNCC_SETUP_COMPL_IND -DCC Sending 'MNCC_SETUP_COMPL_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx CONNECT_ACK in state CONNECT_IND +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T313 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state CONNECT_IND -> ACTIVE +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_COMPL_IND MSC --> MNCC: callref 0x80000001: MNCC_SETUP_COMPL_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) @@ -368,16 +368,16 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_DISCONNECT -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state ACTIVE -> DISCONNECT_IND -DMNCC transmit message MNCC_DISC_IND -DCC Sending 'MNCC_DISC_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx DISCONNECT in state ACTIVE +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state ACTIVE -> DISCONNECT_IND +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_DISC_IND MSC --> MNCC: callref 0x80000001: MNCC_DISC_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC receive message MNCC_REL_REQ -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_REL_REQ' from MNCC in state 12 (DISCONNECT_IND) -DCC starting timer T308 with 10 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state DISCONNECT_IND -> RELEASE_REQ +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_REL_REQ in state DISCONNECT_IND +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) new state DISCONNECT_IND -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -386,12 +386,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC stopping pending timer T308 -DMNCC transmit message MNCC_REL_CNF -DCC Sending 'MNCC_REL_CNF' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending timer T308 +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000001: MNCC_REL_CNF -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL -DCC (sub 42342) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -651,10 +652,9 @@ - after a while, MNCC asks us to setup a call, causing Paging -DMNCC receive message MNCC_SETUP_REQ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_cc: now used by 2 (attached,mncc_tx_to_cc) -DCC (ti ff sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 423) New transaction DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_cc,CC) +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -738,12 +738,12 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Removing Paging Request -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Paging succeeded +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + cc: now used by 2 (paging-response,cc) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING -DCC starting timer T303 with 30 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> CALL_PRESENT +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -754,15 +754,15 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CALL_CONF -DCC stopping pending timer T303 -DCC starting timer T310 with 30 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_PRESENT -> MO_TERM_CALL_CONF +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){ESTABLISHING}: Allocated DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP) MS <--Call Assignment-- MSC: callref=0x423 -DMNCC transmit message MNCC_CALL_CONF_IND -DCC Sending 'MNCC_CALL_CONF_IND' to MNCC. +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 1.000023 s @@ -770,11 +770,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_ALERTING -DCC stopping pending timer T310 -DCC starting timer T301 with 180 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_TERM_CALL_CONF -> CALL_RECEIVED -DMNCC transmit message MNCC_ALERT_IND -DCC Sending 'MNCC_ALERT_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND MSC --> MNCC: callref 0x423: MNCC_ALERT_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 2.000046 s @@ -782,17 +782,17 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CONNECT -DCC stopping pending timer T301 -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_RECEIVED -> CONNECT_REQUEST -DMNCC transmit message MNCC_SETUP_CNF -DCC Sending 'MNCC_SETUP_CNF' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx CONNECT in state CALL_RECEIVED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> CONNECT_REQUEST +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_SETUP_CNF MSC --> MNCC: callref 0x423: MNCC_SETUP_CNF DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC receive message MNCC_SETUP_COMPL_REQ -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: (ti 00) Received 'MNCC_SETUP_COMPL_REQ' from MNCC in state 8 (CONNECT_REQUEST) -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CONNECT_REQUEST -> ACTIVE -DCC (sub 42342) stopping pending guard timer +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx MNCC_SETUP_COMPL_REQ in state CONNECT_REQUEST +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state CONNECT_REQUEST -> ACTIVE +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending guard timer DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CONNECT_ACK: 030f - DTAP matches expected message @@ -808,16 +808,16 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_DISCONNECT -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state ACTIVE -> DISCONNECT_IND -DMNCC transmit message MNCC_DISC_IND -DCC Sending 'MNCC_DISC_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx DISCONNECT in state ACTIVE +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state ACTIVE -> DISCONNECT_IND +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_DISC_IND MSC --> MNCC: callref 0x423: MNCC_DISC_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) -DMNCC receive message MNCC_REL_REQ -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: (ti 00) Received 'MNCC_REL_REQ' from MNCC in state 12 (DISCONNECT_IND) -DCC starting timer T308 with 10 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state DISCONNECT_IND -> RELEASE_REQ +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx MNCC_REL_REQ in state DISCONNECT_IND +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state DISCONNECT_IND -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d - DTAP matches expected message @@ -826,12 +826,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC stopping pending timer T308 -DMNCC transmit message MNCC_REL_CNF -DCC Sending 'MNCC_REL_CNF' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF MSC --> MNCC: callref 0x423: MNCC_REL_CNF -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL -DCC (sub 42342) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x0 tid-0) Freeing transaction +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x0 tid-0) new state RELEASE_REQ -> NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x0 tid-0) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -1091,10 +1092,9 @@ - after a while, MNCC asks us to setup a call, causing Paging -DMNCC receive message MNCC_SETUP_REQ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_cc: now used by 2 (attached,mncc_tx_to_cc) -DCC (ti ff sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 423) New transaction DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_cc,CC) +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) New transaction DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Starting paging paging request (CALL_CONVERSATIONAL) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1178,12 +1178,12 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MNCC: establish call: Removing Paging Request -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Paging succeeded +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x423 tid-255) Paging succeeded DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + cc: now used by 2 (paging-response,cc) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING -DCC starting timer T303 with 30 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> CALL_PRESENT +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T303 with 30 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state NULL -> CALL_PRESENT DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305 - DTAP matches expected message @@ -1194,15 +1194,15 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_CALL_CONF -DCC stopping pending timer T303 -DCC starting timer T310 with 30 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_PRESENT -> MO_TERM_CALL_CONF +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx CALL_CONF in state CALL_PRESENT +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T303 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T310 with 30 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state CALL_PRESENT -> MO_TERM_CALL_CONF DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){ESTABLISHING}: Allocated DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP) MS <--Call Assignment-- MSC: callref=0x423 -DMNCC transmit message MNCC_CALL_CONF_IND -DCC Sending 'MNCC_CALL_CONF_IND' to MNCC. +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 1.000023 s @@ -1210,11 +1210,11 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_ALERTING -DCC stopping pending timer T310 -DCC starting timer T301 with 180 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_TERM_CALL_CONF -> CALL_RECEIVED -DMNCC transmit message MNCC_ALERT_IND -DCC Sending 'MNCC_ALERT_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) rx ALERTING in state MO_TERM_CALL_CONF +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T310 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T301 with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state MO_TERM_CALL_CONF -> CALL_RECEIVED +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_ALERT_IND MSC --> MNCC: callref 0x423: MNCC_ALERT_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - Total time passed: 16.000046 s @@ -1225,18 +1225,18 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + msc_a_fsm_releasing_onenter: now used by 4 (attached,CC,active-conn,msc_a_fsm_releasing_onenter) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 5 (attached,CC,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 4 (attached,CC,active-conn,msc_a_fsm_releasing_onenter) -DCC stopping pending timer T301 -DCC starting timer T308 with 10 seconds -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state CALL_RECEIVED -> RELEASE_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) Freeing transaction +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T301 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_RELEASING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d080281af - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DMNCC transmit message MNCC_REL_CNF -DCC Sending 'MNCC_REL_CNF' to MNCC. +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF MSC --> MNCC: callref 0x423: MNCC_REL_CNF -DCC stopping pending timer T308 -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) stopping pending timer T308 +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x423 tid-0) new state RELEASE_REQ -> NULL DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_RELEASING}: - cc: now used by 0 (-) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_UNUSED @@ -1578,26 +1578,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (cm_service_cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP -DCC Unknown transaction ID 8, creating new trans. -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000002) New transaction +DMSC trans(NULL NULL callref-0x0 tid-0) Unknown transaction ID 8, creating new trans. DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000002 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC (sub 42342) starting guard timer with 180 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> INITIATED -DCC Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (42342) sends SETUP to 123 -DMNCC transmit message MNCC_SETUP_IND -DCC Sending 'MNCC_SETUP_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) rx SETUP in state NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) new state NULL -> INITIATED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) SETUP to 123 +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000002: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC receive message MNCC_CALL_PROC_REQ -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_CALL_PROC_REQ' from MNCC in state 1 (INITIATED) -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -1607,18 +1607,18 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ) MS <--Call Assignment-- MSC: callref=0x80000002 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel -DMNCC receive message MNCC_REL_REQ -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_REL_REQ' from MNCC in state 3 (MO_CALL_PROC) -DCC starting timer T308 with 10 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_CALL_PROC -> RELEASE_REQ +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) new state MO_CALL_PROC -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){0}: Received Event unknown 0x3 - Total time passed: 10.000023 s -DCC starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) starting timer T308 with 10 seconds DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message @@ -1627,12 +1627,13 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Dispatching 04.08 message: CC GSM48_MT_CC_RELEASE_COMPL -DCC stopping pending timer T308 -DMNCC transmit message MNCC_REL_CNF -DCC Sending 'MNCC_REL_CNF' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) rx RELEASE_COMPL in state RELEASE_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending timer T308 +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000002: MNCC_REL_CNF -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL -DCC (sub 42342) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x0 tid-8) Freeing transaction +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x0 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x0 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 1 (rx_from_ms) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 0 (-) @@ -1979,26 +1980,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (cm_service_cc,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: CC GSM48_MT_CC_SETUP -DCC Unknown transaction ID 8, creating new trans. -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000003) New transaction +DMSC trans(NULL NULL callref-0x0 tid-0) Unknown transaction ID 8, creating new trans. DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,active-conn,CC) +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x80000003 tid-8) New transaction DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: + cc: now used by 3 (cm_service_cc,rx_from_ms,cc) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_cc: now used by 2 (rx_from_ms,cc) -DCC (sub 42342) starting guard timer with 180 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL -> INITIATED -DCC Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 (42342) sends SETUP to 123 -DMNCC transmit message MNCC_SETUP_IND -DCC Sending 'MNCC_SETUP_IND' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) rx SETUP in state NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) new state NULL -> INITIATED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) SETUP to 123 +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND MSC --> MNCC: callref 0x80000003: MNCC_SETUP_IND DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc) - MNCC says that's fine -DMNCC receive message MNCC_CALL_PROC_REQ -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_CALL_PROC_REQ' from MNCC in state 1 (INITIATED) -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state INITIATED -> MO_CALL_PROC +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ in state INITIATED +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) new state INITIATED -> MO_CALL_PROC DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302 - DTAP matches expected message @@ -2008,30 +2009,30 @@ DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ) MS <--Call Assignment-- MSC: callref=0x80000003 - But the other side's MSISDN could not be resolved, MNCC tells us to cancel -DMNCC receive message MNCC_REL_REQ -DCC (sub 42342) stopping pending guard timer -DCC (sub 42342) starting guard timer with 180 seconds -DCC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: (ti 08) Received 'MNCC_REL_REQ' from MNCC in state 3 (MO_CALL_PROC) -DCC starting timer T308 with 10 seconds -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state MO_CALL_PROC -> RELEASE_REQ +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) starting guard timer with 180 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ in state MO_CALL_PROC +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) new state MO_CALL_PROC -> RELEASE_REQ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){0}: Received Event unknown 0x3 - Despite our repeated CC Release Requests, the MS does not respond anymore - Total time passed: 10.000023 s -DCC starting timer T308 with 10 seconds +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) starting timer T308 with 10 seconds DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 832d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){0}: Received Event unknown 0x3 - The CC Release times out and we still properly clear the conn - Total time passed: 20.000046 s -DMNCC transmit message MNCC_REL_CNF -DCC Sending 'MNCC_REL_CNF' to MNCC. +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) Freeing transaction +DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_REL_CNF MSC --> MNCC: callref 0x80000003: MNCC_REL_CNF -DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL -DCC (sub 42342) stopping pending guard timer +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) new state RELEASE_REQ -> NULL +DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cc: now used by 0 (-) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_A_EV_UNUSED diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index 007f2f2..2d832f0 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -334,19 +334,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_gsm_authen: now used by 2 (attached,test_gsm_authen) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_gsm_authen,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_gsm_authen,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -441,13 +441,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,rx_from_ms,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -467,7 +467,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -478,25 +478,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,active-conn) @@ -985,19 +986,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + test_gsm_authen_tmsi: now used by 2 (attached,test_gsm_authen_tmsi) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,test_gsm_authen_tmsi,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref 40000002) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS: now used by 4 (attached,test_gsm_authen_tmsi,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 on GERAN-A paging_expecting_tmsi == 0x03020100 @@ -1092,13 +1093,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,rx_from_ms,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1118,7 +1119,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -1129,25 +1130,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS: now used by 2 (attached,active-conn) @@ -3019,19 +3021,19 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + test_gsm_milenage_authen: now used by 2 (attached,test_gsm_milenage_authen) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_gsm_milenage_authen,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342 callref 40000003) New transaction DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS: now used by 4 (attached,test_gsm_milenage_authen,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000010650:MSISDN-42342 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000010650:MSISDN-42342 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -3126,13 +3128,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,rx_from_ms,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -3152,7 +3154,7 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -3163,25 +3165,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS: now used by 2 (attached,active-conn) diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index ee028ce..29f30a1 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -370,19 +370,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ciph: now used by 2 (attached,test_ciph) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ciph,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ciph,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -509,13 +509,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,ms_sends_ciphering_mode_complete,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -535,7 +535,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -546,25 +546,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,active-conn) @@ -1090,19 +1091,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + test_ciph_tmsi: now used by 2 (attached,test_ciph_tmsi) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,test_ciph_tmsi,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref 40000002) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS: now used by 4 (attached,test_ciph_tmsi,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 on GERAN-A paging_expecting_tmsi == 0x03020100 @@ -1229,13 +1230,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,ms_sends_ciphering_mode_complete,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1255,7 +1256,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -1266,25 +1267,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS: now used by 2 (attached,active-conn) @@ -2729,19 +2731,19 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + test_gsm_ciph_in_umts_env: now used by 2 (attached,test_gsm_ciph_in_umts_env) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_gsm_ciph_in_umts_env,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342 callref 40000003) New transaction DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + SMS: now used by 4 (attached,test_gsm_ciph_in_umts_env,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000010650:MSISDN-42342 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000010650:MSISDN-42342 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -2850,13 +2852,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342 callref-0x40000003 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,ms_sends_ciphering_mode_complete,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -2876,7 +2878,7 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -2887,25 +2889,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000003 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - SMS: now used by 2 (attached,active-conn) @@ -3374,19 +3377,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + test_a5_3_supported: now used by 2 (attached,test_a5_3_supported) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_a5_3_supported,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-42342 callref 40000004) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS: now used by 4 (attached,test_a5_3_supported,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-42342 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-42342 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-42342 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -3513,13 +3516,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-42342 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-42342 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000004 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,ms_sends_ciphering_mode_complete,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -3539,7 +3542,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -3550,25 +3553,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000004 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS: now used by 2 (attached,active-conn) @@ -4037,19 +4041,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + test_cm_service_needs_classmark_update: now used by 2 (attached,test_cm_service_needs_classmark_update) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS-receiver: now used by 3 (attached,test_cm_service_needs_classmark_update,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-42342 callref 40000005) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + SMS: now used by 4 (attached,test_cm_service_needs_classmark_update,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-42342 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-42342 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-42342 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -4153,13 +4157,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-42342 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-42342 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342 callref-0x40000005 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,ms_sends_ciphering_mode_complete,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -4179,7 +4183,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -4190,25 +4194,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-42342:no-conn:PAGING_RESP callref-0x40000005 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - SMS: now used by 2 (attached,active-conn) diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 0b5231b..a1186f1 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -560,19 +560,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ms_timeout_paging: now used by 2 (attached,test_ms_timeout_paging) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ms_timeout_paging,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ms_timeout_paging,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -587,19 +587,19 @@ vsub->cs.is_paging == 1 - another request is added to the list but does not cause another paging DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 6 (attached,2*SMS-receiver,SMS,Paging,test_ms_timeout_paging) -DLSMS Going to send a MT SMS -DCC (ti 01 sub IMSI-901700000004620:MSISDN-46071 callref 40000002) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 7 (attached,2*SMS-receiver,2*SMS,Paging,test_ms_timeout_paging) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Already paging, not starting another request llist_count(&vsub->cs.requests) == 2 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_ms_timeout_paging: now used by 6 (attached,2*SMS-receiver,2*SMS,Paging) @@ -608,33 +608,35 @@ - Total time passed: 11.000000 s DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (expired) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(expired) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) mmsms_paging_cb(expired) DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING DLSMS SMC(0) MM layer is released DLSMS SMC(0) new CP state MM_CONN_PENDING -> IDLE -DLSMS MNSMS-ERROR-IND, no cause +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) MNSMS-ERROR-IND, no cause DLSMS SMR(0) message MNSMS-ERROR-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) TX SMS MNSMS-ERROR-IND DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 5 (attached,SMS-receiver,2*SMS,Paging) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 4 (attached,SMS-receiver,SMS,Paging) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (expired) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(expired) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) mmsms_paging_cb(expired) DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING DLSMS SMC(0) MM layer is released DLSMS SMC(0) new CP state MM_CONN_PENDING -> IDLE -DLSMS MNSMS-ERROR-IND, no cause +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) MNSMS-ERROR-IND, no cause DLSMS SMR(0) message MNSMS-ERROR-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) TX SMS MNSMS-ERROR-IND DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,Paging) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-1) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,Paging) @@ -646,19 +648,19 @@ - Now that the timeout has expired, another Paging is sent on request DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ms_timeout_paging,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000003) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ms_timeout_paging,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -686,17 +688,18 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 6 (attached,SMS-receiver,SMS,Paging,gsm48_rx_mm_imsi_detach_ind,active-conn) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (expired) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(expired) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) mmsms_paging_cb(expired) DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING DLSMS SMC(0) MM layer is released DLSMS SMC(0) new CP state MM_CONN_PENDING -> IDLE -DLSMS MNSMS-ERROR-IND, no cause +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) MNSMS-ERROR-IND, no cause DLSMS SMR(0) message MNSMS-ERROR-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) TX SMS MNSMS-ERROR-IND DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 5 (attached,SMS,Paging,gsm48_rx_mm_imsi_detach_ind,active-conn) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 4 (attached,Paging,gsm48_rx_mm_imsi_detach_ind,active-conn) diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index 2113415..472ce36 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -241,19 +241,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_no_authen: now used by 2 (attached,test_no_authen) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_no_authen,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_no_authen,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -301,13 +301,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (rx_from_ms,paging-response,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -328,7 +328,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -339,25 +339,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,active-conn) @@ -753,19 +754,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + test_no_authen_tmsi: now used by 2 (attached,test_no_authen_tmsi) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,test_no_authen_tmsi,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref 40000002) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + SMS: now used by 4 (attached,test_no_authen_tmsi,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 on GERAN-A paging_expecting_tmsi == 0x03020100 @@ -813,13 +814,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 callref-0x40000002 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (rx_from_ms,paging-response,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -840,7 +841,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -851,25 +852,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - SMS: now used by 2 (attached,active-conn) diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 372c1cc..abf2947 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -1522,19 +1522,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _page: now used by 2 (attached,_page) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,_page,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,_page,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1578,13 +1578,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000001 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (rx_from_ms,paging-response,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1613,7 +1613,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -1624,25 +1624,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,active-conn) @@ -1832,19 +1833,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _page: now used by 2 (attached,_page) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,_page,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000002) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,_page,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1888,13 +1889,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000002 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (rx_from_ms,paging-response,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1928,7 +1929,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 3 (sms,cm_service_sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -1939,25 +1940,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 3 (sms,cm_service_sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x40000002 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,active-conn) @@ -2165,19 +2167,19 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _page: now used by 2 (attached,_page) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,_page,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000003) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,_page,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -2221,13 +2223,13 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000004620:MSISDN-46071 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071 callref-0x40000003 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (rx_from_ms,paging-response,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 64 70 f1 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005806470f1000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -2253,7 +2255,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -2264,25 +2266,26 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x40000003 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,active-conn) diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 9fb6c44..baf76cf 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -182,14 +182,13 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (cm_service_ss,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: NCSS GSM0480_MTYPE_REGISTER -DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER) -DMM -> (new transaction) -DCC (ti 08 sub IMSI-901700000004620:MSISDN-46071 callref 20000001) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 3 (attached,active-conn,NCSS) +DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000001 tid-8) New transaction DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: + nc_ss: now used by 3 (cm_service_ss,rx_from_ms,nc_ss) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_TRANSACTION_ACCEPTED DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_COMMUNICATING DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - cm_service_ss: now used by 2 (rx_from_ms,nc_ss) +DBSSAP trans(NCSS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x20000001 tid-8) Received SS/USSD msg GSM0480_MTYPE_REGISTER GSUP --> HLR: OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101013515a11302010102013b300b04010f0406aa510c061b01 DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (nc_ss) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d @@ -200,6 +199,7 @@ - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){0}: Received Event unknown 0x3 +DBSSAP trans(NCSS IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ callref-0x20000001 tid-8) Freeing transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,active-conn,vlr_gsupc_read_cb) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - nc_ss: now used by 0 (-) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_A_EV_UNUSED @@ -392,10 +392,10 @@ DVLR GSUP rx 43: 20010809710000004026f03004200001013101013515a11302010102013b300b04010f0406aa510c061b01 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb) DMSC Routed to GSM 09.11 SS/USSD handler -DMM Establishing network-originated session -DCC (ti ff sub IMSI-901700000004620:MSISDN-46071 callref 20000101) New transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 4 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb,NCSS) -DMM Triggering Paging Request +DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) New transaction +DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) Establishing network-originated session +DMSC trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-0) Triggering Paging Request DPAG Paging: IMSI-901700000004620:MSISDN-46071 for GSM 09.11 SS/USSD: Starting paging paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -461,7 +461,7 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (nc_ss,rx_from_ms) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: NCSS GSM0480_MTYPE_FACILITY -DMM Received SS/USSD data (trans_id=0, msg_type=GSM0480_MTYPE_FACILITY) +DBSSAP trans(NCSS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x20000101 tid-0) Received SS/USSD msg GSM0480_MTYPE_FACILITY GSUP --> HLR: OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101023527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - rx_from_ms: now used by 1 (nc_ss) dtap_tx_confirmed == 1 @@ -474,6 +474,7 @@ - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 +DBSSAP trans(NCSS IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP callref-0x20000101 tid-0) Freeing transaction DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,active-conn,vlr_gsupc_read_cb) DREF msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - nc_ss: now used by 0 (-) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_UNUSED diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index a23fef7..d3b9819 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -350,19 +350,19 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + _test_umts_authen: now used by 2 (attached,_test_umts_authen) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,_test_umts_authen,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 40000001) New transaction DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS: now used by 4 (attached,_test_umts_authen,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -458,13 +458,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000001 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,rx_from_ms,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -484,7 +484,7 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -495,25 +495,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DBSSAP msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on GERAN-A - DTAP --GERAN-A--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000001 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS: now used by 2 (attached,active-conn) @@ -992,19 +993,19 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + _test_umts_authen: now used by 2 (attached,_test_umts_authen) llist_count(&vsub->cs.requests) == 0 DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS-receiver: now used by 3 (attached,_test_umts_authen,SMS-receiver) -DLSMS Going to send a MT SMS -DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 40000002) New transaction DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + SMS: now used by 4 (attached,_test_umts_authen,SMS-receiver,SMS) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) New transaction DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. DLSMS SMC(0) instance created for network DLSMS SMR(0) instance created for network. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) Going to send a MT SMS DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE DLSMS SMR(0) TX SMS RP-DATA DLSMS SMR(0) new RP state IDLE -> WAIT_FOR_RP_ACK DLSMS SMC(0) message MNSMS-EST-REQ received in state IDLE DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING -DLSMS Initiating Paging procedure for IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 due to MMSMS_EST_REQ +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) Initiating Paging due to MMSMS_EST_REQ DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Starting paging paging request (SIGNALLING_LOW_PRIO) to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 on UTRAN-Iu strcmp(paging_expecting_imsi, vsub->imsi) == 0 @@ -1112,13 +1113,13 @@ DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Paging Response action (success) DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Removing Paging Request -DLSMS mmsms_paging_cb(success) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) mmsms_paging_cb(success) DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 2 (paging-response,sms) DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING DLSMS SMC(0) send CP data DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 01 58 01 00 07 91 44 77 58 10 06 50 00 4c 00 05 80 24 43 f2 00 00 07 10 10 00 00 00 00 44 50 79 da 1e 1e e7 41 69 37 48 5e 9e a7 c9 65 37 3d 1d 66 83 c2 70 38 3b 3d 0e d3 d3 6f f7 1c 94 9e 83 c2 20 72 79 9e 96 87 c5 ec 32 a8 1d 96 af cb f4 b4 fb 0c 7a c3 e9 e9 b7 db 05 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x01: 09015801000791447758100650004c0005802443f2000007101000000000445079da1e1ee7416937485e9ea7c965373d1d6683c270383b3d0ed3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb0c7ac3e9e9b7db05 - DTAP matches expected message @@ -1136,7 +1137,7 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x04 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x04) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x04 DLSMS SMC(0) message MMSMS-DATA-IND (CP ACK) received in state WAIT_CP_ACK DLSMS SMC(0) received CP-ACK DLSMS SMC(0) new CP state WAIT_CP_ACK -> MM_ESTABLISHED @@ -1147,25 +1148,26 @@ DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + rx_from_ms: now used by 2 (sms,rx_from_ms) DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS up: DTAP DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Dispatching 04.08 message: SMS SMS:0x01 -DLSMS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: receiving data (trans_id=0, msg_type=SMS:0x01) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) receiving SMS message SMS:0x01 DLSMS SMC(0) message MMSMS-DATA-IND (CP DATA) received in state MM_ESTABLISHED DLSMS SMC(0) received CP-DATA -DLSMS sending CP message (trans=0) -DLSMS GSM4.11 TX 09 04 +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) sending CP message (trans=0) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) GSM4.11 TX 09 04 DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: NAS down: DTAP on UTRAN-Iu - DTAP --UTRAN-Iu--> MS: SMS:0x04: 0904 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP){0}: Received Event unknown 0x3 -DLSMS MNSMS-DATA/EST-IND +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) MNSMS-DATA/EST-IND DLSMS SMR(0) message MNSMS-DATA-IND received in state WAIT_FOR_RP_ACK DLSMS SMR(0) RX SMS RP-ACK DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE -DLSMS RX SMS RP-ACK (MO) +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) RX SMS RP-ACK (MO) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS-receiver: now used by 3 (attached,SMS,active-conn) DLSMS SMR(0) TX: MNSMS-REL-REQ DLSMS SMC(0) message MNSMS-REL-REQ received in state MM_ESTABLISHED DLSMS SMC(0) new CP state MM_ESTABLISHED -> IDLE -DLSMS Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Got MMSMS_REL_REQ, destroying transaction. +DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:no-conn:PAGING_RESP callref-0x40000002 tid-0) Freeing transaction DLSMS SMR(0) clearing SMR instance DLSMS SMC(0) clearing instance DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - SMS: now used by 2 (attached,active-conn) -- To view, visit https://gerrit.osmocom.org/13139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2e60964d7a3c06d051debd1c707051a0eb3101ba Gerrit-Change-Number: 13139 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 22:50:41 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 22:50:41 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 47 PS4, Line 47: osmo_ip_port > basically this looks like you're reinventing sockaddr_storage which is usually typecast to sockaddr_ [?] - sockaddr stores the port in network byte order, each log line would have to remember to call ntohs(). - we want the IP address string for - MGCP messages - straightforward logging - in MGCP the string comes in from MGCP messages, and I want to convert that to in_addr or sockaddr_in in a standardized way. In the end, a string is a string and a uint16_t is a uint16_t without any special cases about them, and the sockaddr API is just a lot of clutter around that. (at first, this implementation had no 'af' indicating AF_INET or AF_INET6, maybe it would be better to drop that and leave it to string interpretation, see osmo_ip_str_type()) I could also actually place this in osmo-mgw.git, as its usefulness is associated with MGCP, and then we'd avoid the ARM architecture nonsense where netinet/in.h isn't known...? https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 51 PS4, Line 51: 46 > INET6_ADDRSTRLEN in arpa/inet. [?] I had used that at first, but it causes a dependency on #include which then fails to compile on ARM. Then it would be nice to conditionally include that header, but we must not include "config.h" in system-installed header files. That is the single reason why I am using a magic number. If you look in the .c file then you'll see there is an osmo_static_assert ensuring the size >= INET6_ADDRSTRLEN Oh wait, arpa/inet.h you say? -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 22:50:41 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 23:40:51 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 23:40:51 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: (3 comments) If I were reading this patch from someone else, I would also be reluctant to merge this at first. So I understand your impression. But in this case I argue that the impression is wrong. Pro arguments: using a user tracking with - arbitrary names and - multiple counts has proven extremely useful in osmo-msc. Con arguments, argued against: (note that the use count callback implementation by the caller can also enforce single use counts.) I've gone through a few iterations, some using limited size arrays, some using enum values, and this is the final result that I am actually quite satisfied with. I know it *looks* like it is spamming on dynamic allocation and list iteration but consider: - in osmo-msc I actually avoid all dynamic allocation using static use count entries (see in-code comment below, use_count.h:174). - use count lists so far have at most six entries in practice, usually more like 3. Traversing six llist->next pointers is less effort than doing your common strlen(); compare with osmo_strlcpy() which always does a strlen() no matter what, and we don't think twice. - strcmp() to compare use tokens: -- when the strings differ, strcmp() usually exits on the first or second character. -- when the strings are identical, they are usually the exact same char* address (from compile-time string constant), meaning that strcmp() is completely skipped. (quote: "if (e->use == use || (use && e->use && !strcmp(e->use, use)))") -- if we specified compile-time string constant use as requirement, we wouldn't need strcmp() at all, but I decided for this minuscule overhead because the benefit is complete correctness for any kinds of use token strings. - Compared to get_value_string() which we do *all* *the* *time* (at least when logging is enabled), this API imposes negligible traversal overhead. - Compared to get_value_string(), use count get() and put() operations are actually quite rare (at least when debug logging is enabled). For example, by using osmo_fsm_inst->id string as logging context, meaning less get_value_string() calls, I reduce the array traversal overhead by order of magnitude more than I add llist traversal with these use counts. - Let alone comparing to ran connection or VLR subscriber or gsm_trans lookup: so far we keep all gsm_trans items for all subscribers in *one single global* llist, and when looking for a trans for a given subscriber, we more often than not traverse the entire list. Long before this API becomes a noticeable performance impact, we'd have to introduce hash map lists for those countless other completely mad list traversals we still harbour in our midst. I can understand that this *seems* quite wasteful at first, but if you take a closer look I expect that you guys will agree with me: it is a fairly small overhead for a very nice API. https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h File include/osmocom/core/use_count.h: https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 133 PS2, Line 133: talloc_object > naming issue: this is basically just some opaque void * pointer, right? If nothing in the libosmoco [?] It is actually used as talloc context to allocate use count entries (in case the static entries are exhausted), see https://gerrit.osmocom.org/c/libosmocore/+/13121/2/src/use_count.c#169 https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 150 PS2, Line 150: count > I think it's rather difficult to understand that a given "entry" or "token" can have multiple "count [?] Besides CM Service Requests, there can be multiple SMS pending for a subscriber, or multiple CC transactions active (for multiple concurrent incoming calls), multiple Paging Requests for a VLR subscriber, etc etc. A recursive function could also reserve multiple uses like void user(struct foo *foo, int i) { if (i < 1) return; foo_get(foo, __func__); user(foo, i - 1); foo_put(foo, __func__); } Though I'm not currently using recursive functions in case you're wondering, some object release code paths enter the same release function multiple times from ricocheting release events. Current osmo-msc does have problems with tracking conn use properly, because we have a bitmask of flags indicating use, e.g. RAN_CONN_USE_TRANS_SMS. When two or more SMS are active, the first SMS that is done already clears the 'SMS' use flag. Then we get an error log that an "SMS" type use count is released even though it wasn't set, when the next SMS is done. The underlying total count stays useful, but the individual user tracking has this quirk that I really want to get rid of. The only way to get rid of spurious error logging while still tracking every use by name is multiple counts. You might say "then don't track by name" but that has been super annoying when trying to figure out use count bugs. I would have kept the nameless use count if it were maintainable, because it is so nice and simple... but that IMHO is not an option. https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 174 PS2, Line 174: size_t buf_n_entries); I am actually avoiding dynamic allocation completely using this function. It sets up a number of static use count entries. See https://gerrit.osmocom.org/c/osmo-msc/+/13136/1/src/libvlr/vlr.c#269 If the caller ever needs more, dynamic allocations are added to the end and stay around as long as the object exists. Even if using only dynamic allocation, use count entries are not added and removed, they are simply added and then stay around. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 23:40:51 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 23:44:47 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 23:44:47 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: > use a [0] sized array at the end of the counter I actually had exactly this scheme in an earlier version of this patch, but I moved away from that, because: if we ever surpass the use count we expected during development, the program would crash. It would go fine for most of the time, just once in a while when N events appear at the same time, boom. Using a combination of static llist entries and the option to add dynamic ones makes this API much more flexible and non-crashing. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 23:44:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 23:48:34 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 23:48:34 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13122 ) Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... Patch Set 2: what, I forgot the tests? thx for noticing. -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 05 Mar 2019 23:48:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 5 23:49:03 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 5 Mar 2019 23:49:03 +0000 Subject: Change in libosmocore[master]: api doc: tweak gsm0808_cell_id_matches_list() doc In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13120 ) Change subject: api doc: tweak gsm0808_cell_id_matches_list() doc ...................................................................... api doc: tweak gsm0808_cell_id_matches_list() doc Change-Id: Ide94558d1c31356483252b83e04b061b4ee4d3bf --- M src/gsm/gsm0808_utils.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 606899e..5477598 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1559,7 +1559,8 @@ * \param[in] list Cell Identifier list to search in. * \param[in] match_nr Ignore this many matches. * \param[in] exact_match If true, consider as match only if the CELL_IDENT types and all values are identical. - * \returns -1 if no match is found, list index if a match is found. + * \returns -1 if no match is found, list index if a match is found (i.e. rc == 0 means a match was found on the first + * entry). */ int gsm0808_cell_id_matches_list(const struct gsm0808_cell_id *id, const struct gsm0808_cell_id_list2 *list, unsigned int match_nr, bool exact_match) -- To view, visit https://gerrit.osmocom.org/13120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ide94558d1c31356483252b83e04b061b4ee4d3bf Gerrit-Change-Number: 13120 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 00:33:59 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 00:33:59 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13122 to look at the new patch set (#3). Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() For example, for Paging, osmo-msc has a CGI for a subscriber and needs to send out a Cell Identifier IE. Makes sense to add this conversion here. While at it, also provide the reverse conversion. Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 --- M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/gsm23003.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 270 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/13122/3 -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 00:37:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 00:37:01 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 51 PS4, Line 51: 46 > I had used that at first, but it causes a dependency on #include Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 06 Mar 2019 00:37:01 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 00:41:33 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 00:41:33 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13123 to look at the new patch set (#5). Change subject: add osmo_ip_port API ...................................................................... add osmo_ip_port API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M configure.ac M include/Makefile.am A include/osmocom/core/ip_port.h M src/Makefile.am A src/ip_port.c M tests/Makefile.am A tests/ip_port/ip_port_test.c A tests/ip_port/ip_port_test.ok M tests/testsuite.at 9 files changed, 1,008 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/5 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 00:57:51 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 00:57:51 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 5: well, whaddaya know... thx Max -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 06 Mar 2019 00:57:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 00:59:51 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 00:59:51 +0000 Subject: Change in libosmocore[master]: NOT FOR MERGE: test ip_port.c tweaks on ARM Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13140 Change subject: NOT FOR MERGE: test ip_port.c tweaks on ARM ...................................................................... NOT FOR MERGE: test ip_port.c tweaks on ARM Change-Id: I64e372d73d48641494838feddf2b7ba2189ed7f8 --- M configure.ac M include/osmocom/core/ip_port.h M src/ip_port.c 3 files changed, 1 insertion(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/13140/1 diff --git a/configure.ac b/configure.ac index d717a0b..4a00e69 100644 --- a/configure.ac +++ b/configure.ac @@ -57,7 +57,7 @@ dnl checks for header files AC_HEADER_STDC -AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) +AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h) # for src/conv.c AC_FUNC_ALLOCA AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DLOPEN="$LIBS";LIBS=""]) diff --git a/include/osmocom/core/ip_port.h b/include/osmocom/core/ip_port.h index a1ae0ca..068e94a 100644 --- a/include/osmocom/core/ip_port.h +++ b/include/osmocom/core/ip_port.h @@ -32,12 +32,6 @@ #include #include -struct in_addr; -struct in6_addr; -struct sockaddr_storage; -struct sockaddr_in; -struct sockaddr_in6; - /*! \defgroup ip_port IP address/port utilities. * @{ * \file ip_port.h diff --git a/src/ip_port.c b/src/ip_port.c index 0f0e39a..dd977ec 100644 --- a/src/ip_port.c +++ b/src/ip_port.c @@ -26,9 +26,6 @@ * */ -#include "config.h" - -#ifdef HAVE_NETINET_IN_H #include #include #include @@ -375,4 +372,3 @@ } /*! @} */ -#endif // HAVE_NETINET_IN_H -- To view, visit https://gerrit.osmocom.org/13140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I64e372d73d48641494838feddf2b7ba2189ed7f8 Gerrit-Change-Number: 13140 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 01:13:55 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 01:13:55 +0000 Subject: Change in libosmocore[master]: NOT FOR MERGE: test ip_port.c tweaks on ARM In-Reply-To: References: Message-ID: Neels Hofmeyr has abandoned this change. ( https://gerrit.osmocom.org/13140 ) Change subject: NOT FOR MERGE: test ip_port.c tweaks on ARM ...................................................................... Abandoned well, that unfortunately didn't work. -- To view, visit https://gerrit.osmocom.org/13140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I64e372d73d48641494838feddf2b7ba2189ed7f8 Gerrit-Change-Number: 13140 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 01:14:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 01:14:58 +0000 Subject: Change in libosmocore[master]: NOT FOR MERGE: test ip_port.c tweaks on ARM In-Reply-To: References: Message-ID: Neels Hofmeyr has restored this change. ( https://gerrit.osmocom.org/13140 ) Change subject: NOT FOR MERGE: test ip_port.c tweaks on ARM ...................................................................... Restored -- To view, visit https://gerrit.osmocom.org/13140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: restore Gerrit-Change-Id: I64e372d73d48641494838feddf2b7ba2189ed7f8 Gerrit-Change-Number: 13140 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 01:20:20 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 01:20:20 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 5: But! Looking at the results from the two patch sets of https://gerrit.osmocom.org/13140 I notice that arpa/inet.h is also not available on ARM. The only reason building succeeds is because the ip_port.h is never built. The #if in ip_port.c even prevents including the header, and hence we end up installing a header file on ARM that is not usable there. I'll try completely omitting ip_port.[hc] on ARM instead. -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 06 Mar 2019 01:20:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 05:58:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 05:58:01 +0000 Subject: Change in libosmocore[master]: represent negative T-timers as Osmocom-specific X-timers In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/12988 ) Change subject: represent negative T-timers as Osmocom-specific X-timers ...................................................................... represent negative T-timers as Osmocom-specific X-timers fi->T values are int, i.e. can be negative. Do not log them as unsigned, but define a distinct timer class "Xnnnn" for negative T values: i.e. for T == -1, print "Timeout of X1" instead of "Timeout of T4294967295". The negative T timer number space is useful to distinguish freely invented timers from proper 3GPP defined T numbers. So far I was using numbers like T993210 or T9999 for invented T, but X1, X2 etc. is a better solution. This way we can make sure to not accidentally define an invented timer number that actually collides with a proper 3GPP specified timer number that the author was not aware of at the time of writing. Add OSMO_T_FMT and OSMO_T_FMT_ARGS() macros as standardized timer number print format. Use that in fsm.c, tdef_vty.c, and adjust vty tests accordingly. Mention the two timer classes in various API docs and VTY online-docs. Change-Id: I3a59457623da9309fbbda235fe18fadd1636bff6 --- M include/osmocom/core/fsm.h M include/osmocom/core/tdef.h M include/osmocom/vty/tdef_vty.h M src/fsm.c M src/vty/tdef_vty.c M tests/tdef/tdef_vty_test_config_root.vty M tests/tdef/tdef_vty_test_config_subnode.vty 7 files changed, 111 insertions(+), 52 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index ae1c857..13bfb33 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -194,6 +194,9 @@ caller_file, caller_line, \ fmt, ## args) +#define OSMO_T_FMT "%c%u" +#define OSMO_T_FMT_ARGS(T) ((T) >= 0 ? 'T' : 'X'), ((T) >= 0 ? T : -T) + int osmo_fsm_register(struct osmo_fsm *fsm); void osmo_fsm_unregister(struct osmo_fsm *fsm); struct osmo_fsm *osmo_fsm_find_by_name(const char *name); diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index 92b7159..c8d9053 100644 --- a/include/osmocom/core/tdef.h +++ b/include/osmocom/core/tdef.h @@ -54,6 +54,7 @@ * { .T=10, .default_val=6, .desc="RR Assignment" }, * { .T=101, .default_val=10, .desc="inter-BSC Handover MT, HO Request to HO Accept" }, * { .T=3101, .default_val=3, .desc="RR Immediate Assignment" }, + * { .T=-23, .default_val=42, .desc="internal X23 timeout (contrived example)" }, * {} * }; * @@ -61,8 +62,10 @@ * configuration sets user-defined values (see osmo_tdef_vty_init()). */ struct osmo_tdef { - /*! T1234 number; type corresponds to struct osmo_fsm_inst.T. Negative and zero T numbers are actually possible, - * but be aware that osmo_tdef_fsm_inst_state_chg() interprets T == 0 as "no timer". */ + /*! T1234 or X1234 number, corresponding to struct osmo_fsm_inst::T. + * Positive values for T are considered to be 3GPP spec compliant and appear in logging and VTY as "T1234", + * while negative values are considered to be Osmocom specific timers, represented in logging and VTY as + * "X1234". Be aware that osmo_tdef_fsm_inst_state_chg() interprets T == 0 as "state without timeout". */ const int T; /*! Timeout duration (according to unit), default value; type corresponds to osmo_fsm_inst_state_chg()'s * timeout_secs argument. Note that osmo_fsm_inst_state_chg() clamps the range. */ @@ -98,7 +101,9 @@ /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */ struct osmo_tdef_state_timeout { - /*! Timer number to match struct osmo_tdef.T, and to pass to osmo_fsm_inst_state_chg(). */ + /*! Timer number to match struct osmo_tdef.T, and to pass to osmo_fsm_inst_state_chg(). Positive values for T + * are considered to be 3GPP spec compliant and appear in logging and VTY as "T1234", while negative values are + * considered to be Osmocom specific timers, represented in logging and VTY as "X1234". */ int T; /*! If true, call osmo_fsm_inst_state_chg_keep_timer(). * If T == 0, keep previous T number, otherwise also set fi->T. */ diff --git a/include/osmocom/vty/tdef_vty.h b/include/osmocom/vty/tdef_vty.h index f55239a..16d9498 100644 --- a/include/osmocom/vty/tdef_vty.h +++ b/include/osmocom/vty/tdef_vty.h @@ -35,7 +35,9 @@ struct osmo_tdef_group; #define OSMO_TDEF_VTY_ARG_T "TNNNN" -#define OSMO_TDEF_VTY_DOC_T "T-number, optionally preceded by 't' or 'T'.\n" +#define OSMO_TDEF_VTY_DOC_T \ + "T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234';" \ + " Osmocom-specific timer number of the format: 'X1234' or 'x1234'.\n" #define OSMO_TDEF_VTY_ARG_T_OPTIONAL "[" OSMO_TDEF_VTY_ARG_T "]" #define OSMO_TDEF_VTY_ARG_VAL "(<0-2147483647>|default)" diff --git a/src/fsm.c b/src/fsm.c index eb457a1..4876c04 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -108,8 +108,8 @@ /*! Enable or disable logging of timeout values for FSM instance state changes. * * By default, state changes are logged by state name only, omitting the timeout. When passing true, each state change - * will also log the T number and the chosen timeout in seconds. osmo_fsm_inst_state_chg_keep_timer() will log remaining - * timeout in millisecond precision. + * will also log the T number (or Osmocom-specific X number) and the chosen timeout in seconds. + * osmo_fsm_inst_state_chg_keep_timer() will log remaining timeout in millisecond precision. * * The default for this is false to reflect legacy behavior. Since various C tests that verify logging output already * existed prior to this option, keeping timeout logging off makes sure that they continue to pass. Particularly, @@ -205,9 +205,9 @@ { struct osmo_fsm_inst *fi = data; struct osmo_fsm *fsm = fi->fsm; - uint32_t T = fi->T; + int32_t T = fi->T; - LOGPFSM(fi, "Timeout of T%u\n", fi->T); + LOGPFSM(fi, "Timeout of " OSMO_T_FMT "\n", OSMO_T_FMT_ARGS(fi->T)); if (fsm->timer_cb) { int rc = fsm->timer_cb(fi); @@ -482,13 +482,13 @@ if (fsm_log_timeouts) { if (keep_timer && fi->timer.active && (osmo_timer_remaining(&fi->timer, NULL, &remaining) == 0)) - LOGPFSMSRC(fi, file, line, "State change to %s (keeping T%d, %ld.%03lds remaining)\n", + LOGPFSMSRC(fi, file, line, "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", osmo_fsm_state_name(fsm, new_state), - fi->T, remaining.tv_sec, remaining.tv_usec / 1000); + OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); else if (timeout_secs && !keep_timer) - LOGPFSMSRC(fi, file, line, "State change to %s (T%d, %lus)\n", + LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", osmo_fsm_state_name(fsm, new_state), - T, timeout_secs); + OSMO_T_FMT_ARGS(T), timeout_secs); else LOGPFSMSRC(fi, file, line, "State change to %s (no timeout)\n", osmo_fsm_state_name(fsm, new_state)); @@ -535,6 +535,10 @@ * timer_cb. If passing timeout_secs == 0, it is recommended to also pass T == * 0, so that fi->T is reset to 0 when no timeout is invoked. * + * Positive values for T are considered to be 3GPP spec compliant and appear in + * logging and VTY as "T1234", while negative values are considered to be + * Osmocom specific timers, represented in logging and VTY as "X1234". + * * See also osmo_tdef_fsm_inst_state_chg() from the osmo_tdef API, which * provides a unified way to configure and apply GSM style Tnnnn timers to FSM * state transitions. @@ -549,7 +553,9 @@ * \param[in] fi FSM instance whose state is to change * \param[in] new_state The new state into which we should change * \param[in] timeout_secs Timeout in seconds (if !=0), maximum-clamped to 2147483647 seconds. - * \param[in] T Timer number (if \ref timeout_secs != 0) + * \param[in] T Timer number, where positive numbers are considered to be 3GPP spec compliant timer numbers and are + * logged as "T1234", while negative numbers are considered Osmocom specific timer numbers logged as + * "X1234". * \param[in] file Calling source file (from osmo_fsm_inst_state_chg macro) * \param[in] line Calling source line (from osmo_fsm_inst_state_chg macro) * \returns 0 on success; negative on error diff --git a/src/vty/tdef_vty.c b/src/vty/tdef_vty.c index 1c6af70..04c14b9 100644 --- a/src/vty/tdef_vty.c +++ b/src/vty/tdef_vty.c @@ -31,6 +31,7 @@ #include #include #include +#include /*! \addtogroup Tdef_VTY * @@ -40,7 +41,7 @@ * \file tdef_vty.c */ -/*! Parse an argument like "T1234", "t1234" or "1234", as from OSMO_TDEF_VTY_ARG_T. +/*! Parse an argument like "1234", "T1234", "t1234", or "X1234", "x1234", as from OSMO_TDEF_VTY_ARG_T. * \param[in] vty VTY context for vty_out() of error messages. * \param[in] tdefs Array of timer definitions to look up T timer. * \param[in] T_str Argument string. It is not validated, expected to be checked by VTY input. @@ -53,6 +54,7 @@ struct osmo_tdef *t; char *endptr; const char *T_nr_str; + int sign = 1; if (!tdefs) { vty_out(vty, "%% Error: no timers found%s", VTY_NEWLINE); @@ -60,20 +62,31 @@ } T_nr_str = T_str; - if (T_nr_str[0] == 't' || T_nr_str[0] == 'T') + if (T_nr_str[0] == 't' || T_nr_str[0] == 'T') { + sign = 1; T_nr_str++; + } else if (T_nr_str[0] == 'x' || T_nr_str[0] == 'X') { + T_nr_str++; + sign = -1; + } + + /* Make sure to disallow any characters changing the signedness of the parsed int */ + if (T_nr_str[0] < '0' || T_nr_str[0] > '9') { + vty_out(vty, "%% Invalid T timer argument (should be 'T1234' or 'X1234'): '%s'%s", T_str, VTY_NEWLINE); + return NULL; + } errno = 0; l = strtol(T_nr_str, &endptr, 10); - if (errno || *endptr || l > INT_MAX) { - vty_out(vty, "%% No such timer: '%s'%s", T_str, VTY_NEWLINE); + if (errno || *endptr || l > INT_MAX || l < 0) { + vty_out(vty, "%% Invalid T timer argument (should be 'T1234' or 'X1234'): '%s'%s", T_str, VTY_NEWLINE); return NULL; } - T = l; + T = l * sign; t = osmo_tdef_get_entry(tdefs, T); if (!t) - vty_out(vty, "%% No such timer: T%d%s", T, VTY_NEWLINE); + vty_out(vty, "%% No such timer: " OSMO_T_FMT "%s", OSMO_T_FMT_ARGS(T), VTY_NEWLINE); return t; } @@ -153,8 +166,8 @@ } if (prefix_fmt) vty_out_va(vty, prefix_fmt, va); - vty_out(vty, "T%d = %lu%s%s\t%s (default: %lu%s%s)%s", - t->T, t->val, + vty_out(vty, OSMO_T_FMT " = %lu%s%s\t%s (default: %lu%s%s)%s", + OSMO_T_FMT_ARGS(t->T), t->val, t->unit == OSMO_TDEF_CUSTOM ? "" : " ", t->unit == OSMO_TDEF_CUSTOM ? "" : osmo_tdef_unit_name(t->unit), t->desc, t->default_val, t->unit == OSMO_TDEF_CUSTOM ? "" : " ", t->unit == OSMO_TDEF_CUSTOM ? "" : osmo_tdef_unit_name(t->unit), @@ -227,7 +240,7 @@ vty_out_va(vty, prefix_fmt, va); va_end(va); } - vty_out(vty, "T%d %lu%s", t->T, t->val, VTY_NEWLINE); + vty_out(vty, OSMO_T_FMT " %lu%s", OSMO_T_FMT_ARGS(t->T), t->val, VTY_NEWLINE); } } diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty index de2d48f..e7c96ca 100644 --- a/tests/tdef/tdef_vty_test_config_root.vty +++ b/tests/tdef/tdef_vty_test_config_root.vty @@ -9,7 +9,7 @@ [software] Typical software development cycle tdef_vty_test> show timer test ? - [TNNNN] T-number, optionally preceded by 't' or 'T'. + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. tdef_vty_test> show timer tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -21,7 +21,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 30 m Write code (default: 30 m) software: T2 = 20 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -37,7 +37,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 30 m Write code (default: 30 m) software: T2 = 20 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -66,7 +66,7 @@ [default] Set to default timer value tdef_vty_test(config)# timer test ? - [TNNNN] T-number, optionally preceded by 't' or 'T'. + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. tdef_vty_test(config)# timer test t2 ? [<0-2147483647>] New timer value @@ -82,7 +82,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 30 m Write code (default: 30 m) software: T2 = 20 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -108,8 +108,11 @@ tdef_vty_test(config)# do show timer tea T0 % No such timer: T0 +tdef_vty_test(config)# do show timer tea X123 +% No such timer: X123 + tdef_vty_test(config)# do show timer tea T-123 -% No such timer: T-123 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123' tdef_vty_test(config)# do show timer t tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -121,7 +124,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) tdef_vty_test(config)# do show timer te tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -133,7 +136,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) tdef_vty_test(config)# do show timer te T2 tea: T2 = 300 s Tea brewing (default: 300 s) @@ -152,8 +155,11 @@ tdef_vty_test(config)# timer tea T3 tea: T3 = 32 m Let tea cool down before drinking (default: 5 m) +tdef_vty_test(config)# timer tea X123 99 +% No such timer: X123 + tdef_vty_test(config)# timer tea T-123 99 -% No such timer: T-123 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123' tdef_vty_test(config)# timer tea T0 0 % No such timer: T0 @@ -177,7 +183,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) tdef_vty_test(config)# timer te T2 tea: T2 = 300 s Tea brewing (default: 300 s) @@ -209,8 +215,11 @@ tdef_vty_test(config)# do show timer software T99 % No such timer: T99 +tdef_vty_test(config)# do show timer software X123123 +% No such timer: X123123 + tdef_vty_test(config)# do show timer software T-123123 -% No such timer: T-123123 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123123' tdef_vty_test(config)# do show timer software T0 % No such timer: T0 @@ -251,7 +260,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) @@ -266,7 +275,7 @@ test: T3 = 100 m Testing a hundred minutes (default: 100 m) test: T4 = 100 Testing a hundred potatoes (default: 100) test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: T-23 = 239471 s Negative T number (default: 239471 s) +test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) software: T3 = 480 m Fix bugs (default: 480 m) diff --git a/tests/tdef/tdef_vty_test_config_subnode.vty b/tests/tdef/tdef_vty_test_config_subnode.vty index 50e5f59..2605f71 100644 --- a/tests/tdef/tdef_vty_test_config_subnode.vty +++ b/tests/tdef/tdef_vty_test_config_subnode.vty @@ -4,7 +4,7 @@ ... !timer tdef_vty_test> show timer ? - [TNNNN] T-number, optionally preceded by 't' or 'T'. + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. tdef_vty_test> show timer T1 = 100 s Testing a hundred seconds (default: 100 s) @@ -12,7 +12,7 @@ T3 = 100 m Testing a hundred minutes (default: 100 m) T4 = 100 Testing a hundred potatoes (default: 100) T2147483647 = 4294967295 m Very large (default: 4294967295 m) -T-23 = 239471 s Negative T number (default: 239471 s) +X23 = 239471 s Negative T number (default: 239471 s) tdef_vty_test> enable tdef_vty_test# show timer @@ -21,7 +21,7 @@ T3 = 100 m Testing a hundred minutes (default: 100 m) T4 = 100 Testing a hundred potatoes (default: 100) T2147483647 = 4294967295 m Very large (default: 4294967295 m) -T-23 = 239471 s Negative T number (default: 239471 s) +X23 = 239471 s Negative T number (default: 239471 s) tdef_vty_test# configure terminal tdef_vty_test(config)# show running-config @@ -35,7 +35,7 @@ T3 = 100 m Testing a hundred minutes (default: 100 m) T4 = 100 Testing a hundred potatoes (default: 100) T2147483647 = 4294967295 m Very large (default: 4294967295 m) -T-23 = 239471 s Negative T number (default: 239471 s) +X23 = 239471 s Negative T number (default: 239471 s) tdef_vty_test(config-net)# do show timer T3 T3 = 100 m Testing a hundred minutes (default: 100 m) @@ -73,17 +73,13 @@ tdef_vty_test(config-net)# timer T666 5 % No such timer: T666 -tdef_vty_test(config-net)# timer T-23 42 -tdef_vty_test(config-net)# timer T-23 -T-23 = 42 s Negative T number (default: 239471 s) +tdef_vty_test(config-net)# timer X23 42 +tdef_vty_test(config-net)# timer X23 +X23 = 42 s Negative T number (default: 239471 s) -tdef_vty_test(config-net)# timer t-23 43 -tdef_vty_test(config-net)# timer T-23 -T-23 = 43 s Negative T number (default: 239471 s) - -tdef_vty_test(config-net)# timer -23 44 -tdef_vty_test(config-net)# timer T-23 -T-23 = 44 s Negative T number (default: 239471 s) +tdef_vty_test(config-net)# timer x23 43 +tdef_vty_test(config-net)# timer x23 +X23 = 43 s Negative T number (default: 239471 s) tdef_vty_test(config-net)# do show timer T1 = 9012345 s Testing a hundred seconds (default: 100 s) @@ -91,17 +87,42 @@ T3 = 100 m Testing a hundred minutes (default: 100 m) T4 = 100 Testing a hundred potatoes (default: 100) T2147483647 = 4294967295 m Very large (default: 4294967295 m) -T-23 = 44 s Negative T number (default: 239471 s) +X23 = 43 s Negative T number (default: 239471 s) + +tdef_vty_test(config-net)# timer T-23 42 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-23' +tdef_vty_test(config-net)# timer T-23 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-23' + +tdef_vty_test(config-net)# timer t-23 42 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 't-23' +tdef_vty_test(config-net)# timer t-23 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 't-23' + +tdef_vty_test(config-net)# timer X-23 42 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'X-23' +tdef_vty_test(config-net)# timer X-23 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'X-23' + +tdef_vty_test(config-net)# timer x-23 42 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'x-23' +tdef_vty_test(config-net)# timer x-23 +% Invalid T timer argument (should be 'T1234' or 'X1234'): 'x-23' + +tdef_vty_test(config-net)# timer -23 42 +% Invalid T timer argument (should be 'T1234' or 'X1234'): '-23' +tdef_vty_test(config-net)# timer -23 +% Invalid T timer argument (should be 'T1234' or 'X1234'): '-23' tdef_vty_test(config-net)# show running-config ... !timer net timer T1 9012345 - timer T-23 44 + timer X23 43 ... !timer tdef_vty_test(config-net)# timer T1 default -tdef_vty_test(config-net)# timer T-23 default +tdef_vty_test(config-net)# timer X23 default tdef_vty_test(config-net)# show running-config ... !timer -- To view, visit https://gerrit.osmocom.org/12988 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3a59457623da9309fbbda235fe18fadd1636bff6 Gerrit-Change-Number: 12988 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 05:58:45 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 05:58:45 +0000 Subject: Change in libosmocore[master]: tdef_test: tweak output to prepare for a fix Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13141 Change subject: tdef_test: tweak output to prepare for a fix ...................................................................... tdef_test: tweak output to prepare for a fix - Always print the state after a state transition. This shows that actually state transitions are missing for states that have no timer defined. This is a bug in tdef_test.c, to be fixed subsequently. - Instead of total time passed since start, print the individual fake time intervals. Omit initial useless zero fake time advance. Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 3 files changed, 24 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/13141/1 diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c index f5b6413..fe2accf 100644 --- a/tests/tdef/tdef_test.c +++ b/tests/tdef/tdef_test.c @@ -287,7 +287,7 @@ osmo_gettimeofday_override_add(secs, usecs); \ osmo_clock_override_add(CLOCK_MONOTONIC, secs, usecs * 1000); \ timersub(&osmo_gettimeofday_override_time, &fake_time_start_time, &diff); \ - printf("Total time passed: %ld.%06ld s\n", diff.tv_sec, diff.tv_usec); \ + printf("Time passes: %ld.%06ld s\n", (long)secs, (long)usecs); \ osmo_timers_prepare(); \ osmo_timers_update(); \ } while (0) @@ -303,7 +303,6 @@ clock_override->tv_sec = fake_time_start_time.tv_sec; clock_override->tv_nsec = fake_time_start_time.tv_usec * 1000; osmo_clock_override_enable(CLOCK_MONOTONIC, true); - fake_time_passes(0, 0); } static void print_fsm_state(struct osmo_fsm_inst *fi) @@ -325,18 +324,18 @@ const struct osmo_tdef_state_timeout *st = osmo_tdef_get_state_timeout(NEXT_STATE, \ test_tdef_state_timeouts); \ if (!st) { \ - printf(" --> %s (no timer configured for this state)\n", \ + printf(" --> %s (no timer configured for this state)\t", \ osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE)); \ } else { \ struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, st->T); \ int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \ - printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", osmo_fsm_state_name(&test_tdef_fsm, \ - NEXT_STATE), \ + printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", \ + osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), \ st->T, st->keep_timer ? "(keep_timer)" : "", \ t? t->val : 0, t? osmo_tdef_unit_name(t->unit) : "-", \ rc); \ - print_fsm_state(fi); \ } \ + print_fsm_state(fi); \ } while(0) @@ -378,6 +377,8 @@ fake_time_passes(23, 45678); print_fsm_state(fi); test_tdef_fsm_state_chg(tdefs, S_L); + test_tdef_fsm_state_chg(tdefs, S_O); + test_tdef_fsm_state_chg(tdefs, S_L); printf("- test T=0:\n"); test_tdef_fsm_state_chg(tdefs, S_O); diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 6e6ba00..1acf0e6 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -110,7 +110,6 @@ osmo_tdef_get(7, s) = 50 test_tdef_state_timeout() -Total time passed: 0.000000 s state=A T=0, no timeout --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining @@ -121,25 +120,27 @@ --> I (configured as T9 5 m) rc=0; state=I T=9, 300.000000 s remaining --> J (configured as T10 20 m) rc=0; state=J T=10, 1200.000000 s remaining - test keep_timer: -Total time passed: 123.045678 s +Time passes: 123.045678 s state=J T=10, 1076.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=10, 1076.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 146.091356 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=1, 76.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 169.137034 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - test T=0: - --> O (no timer configured for this state) + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - test no timer: - --> X (no timer configured for this state) + --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test disallowed transition: - --> Z (no timer configured for this state) + --> Z (no timer configured for this state) state=Y T=666, 999.000000 s remaining --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining diff --git a/tests/tdef/tdef_test_range_64bit.ok b/tests/tdef/tdef_test_range_64bit.ok index bd104b6..72ac466 100644 --- a/tests/tdef/tdef_test_range_64bit.ok +++ b/tests/tdef/tdef_test_range_64bit.ok @@ -138,7 +138,6 @@ osmo_tdef_get(7, s) = 50 test_tdef_state_timeout() -Total time passed: 0.000000 s state=A T=0, no timeout --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining @@ -149,23 +148,25 @@ --> I (configured as T9 5 m) rc=0; state=I T=9, 300.000000 s remaining --> J (configured as T10 20 m) rc=0; state=J T=10, 1200.000000 s remaining - test keep_timer: -Total time passed: 123.045678 s +Time passes: 123.045678 s state=J T=10, 1076.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=10, 1076.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 146.091356 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=1, 76.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 169.137034 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - test T=0: - --> O (no timer configured for this state) + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - test no timer: - --> X (no timer configured for this state) + --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: - --> Y (configured as T666 18446744073709551615 -) rc=0; state=Y T=666, 999.000000 s remaining + --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test large T: --> M (configured as T2147483647 0 s) rc=0; state=M T=2147483647, no timeout - test T<0: @@ -369,7 +370,7 @@ --> M (configured as T2147483647 18446744073709551615 s) rc=0; state=M T=2147483647, 2147483647.000000 s remaining --> M (configured as T2147483647 0 s) rc=0; state=M T=2147483647, no timeout - test disallowed transition: - --> Z (no timer configured for this state) + --> Z (no timer configured for this state) state=M T=2147483647, no timeout --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining -- To view, visit https://gerrit.osmocom.org/13141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 Gerrit-Change-Number: 13141 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 05:58:45 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 05:58:45 +0000 Subject: Change in libosmocore[master]: fix tdef_test.c: do call the function-to-test in all cases Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13142 Change subject: fix tdef_test.c: do call the function-to-test in all cases ...................................................................... fix tdef_test.c: do call the function-to-test in all cases Always call osmo_tdef_fsm_inst_state_chg(), also when no timeout is defined. When there is no timeout defined for a state, tdef_test.c tries to be smart and print different output. In that mess, I missed the fact that osmo_tdef_fsm_inst_state_chg() isn't always called as it should. In the same mess, the resulting state was never printed until the preceding patch, which helped to hide this bug. Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 3 files changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/13142/1 diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c index fe2accf..12ca802 100644 --- a/tests/tdef/tdef_test.c +++ b/tests/tdef/tdef_test.c @@ -323,12 +323,12 @@ #define test_tdef_fsm_state_chg(tdefs, NEXT_STATE) do { \ const struct osmo_tdef_state_timeout *st = osmo_tdef_get_state_timeout(NEXT_STATE, \ test_tdef_state_timeouts); \ + int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \ if (!st) { \ - printf(" --> %s (no timer configured for this state)\t", \ - osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE)); \ + printf(" --> %s (no timer configured for this state) rc=%d;\t", \ + osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), rc); \ } else { \ struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, st->T); \ - int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \ printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", \ osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), \ st->T, st->keep_timer ? "(keep_timer)" : "", \ diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 1acf0e6..135951e 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -131,16 +131,16 @@ Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout - test T=0: - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: - --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> X (no timer configured for this state) rc=0; state=X T=0, no timeout - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test disallowed transition: - --> Z (no timer configured for this state) state=Y T=666, 999.000000 s remaining - --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining - --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining - --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining + --> Z (no timer configured for this state) rc=0; state=Z T=0, no timeout + --> B (configured as T2 100 ms) rc=-1; state=Z T=0, no timeout + --> C (configured as T3 100 m) rc=-1; state=Z T=0, no timeout + --> D (configured as T4 100 custom-unit) rc=-1; state=Z T=0, no timeout diff --git a/tests/tdef/tdef_test_range_64bit.ok b/tests/tdef/tdef_test_range_64bit.ok index 72ac466..eed58e6 100644 --- a/tests/tdef/tdef_test_range_64bit.ok +++ b/tests/tdef/tdef_test_range_64bit.ok @@ -159,12 +159,12 @@ Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout - test T=0: - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: - --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> X (no timer configured for this state) rc=0; state=X T=0, no timeout - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test large T: @@ -370,7 +370,7 @@ --> M (configured as T2147483647 18446744073709551615 s) rc=0; state=M T=2147483647, 2147483647.000000 s remaining --> M (configured as T2147483647 0 s) rc=0; state=M T=2147483647, no timeout - test disallowed transition: - --> Z (no timer configured for this state) state=M T=2147483647, no timeout - --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining - --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining - --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining + --> Z (no timer configured for this state) rc=0; state=Z T=0, no timeout + --> B (configured as T2 100 ms) rc=-1; state=Z T=0, no timeout + --> C (configured as T3 100 m) rc=-1; state=Z T=0, no timeout + --> D (configured as T4 100 custom-unit) rc=-1; state=Z T=0, no timeout -- To view, visit https://gerrit.osmocom.org/13142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 Gerrit-Change-Number: 13142 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:01:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:01:06 +0000 Subject: Change in libosmocore[master]: tdef_test: tweak output to prepare for a fix In-Reply-To: References: Message-ID: Neels Hofmeyr has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/13141 ) Change subject: tdef_test: tweak output to prepare for a fix ...................................................................... tdef_test: tweak output to prepare for a fix - Always print the state after a state transition. This shows that actually state transitions are missing for states that have no timer defined. This is a bug in tdef_test.c, to be fixed subsequently. - Instead of total time passed since start, print the individual fake time intervals. Omit initial useless zero fake time advance. - Add two more state transitions, back out from and into a state that has no timeout set. Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 3 files changed, 24 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/13141/2 -- To view, visit https://gerrit.osmocom.org/13141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 Gerrit-Change-Number: 13141 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-CC: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:01:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:01:06 +0000 Subject: Change in libosmocore[master]: fix tdef_test.c: do call the function-to-test in all cases In-Reply-To: References: Message-ID: Neels Hofmeyr has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/13142 ) Change subject: fix tdef_test.c: do call the function-to-test in all cases ...................................................................... fix tdef_test.c: do call the function-to-test in all cases Always call osmo_tdef_fsm_inst_state_chg(), also when no timeout is defined. When there is no timeout defined for a state, tdef_test.c tries to be smart and print different output. In that mess, I missed the fact that osmo_tdef_fsm_inst_state_chg() isn't always called as it should. In the same mess, the resulting state was never printed until the preceding patch, which helped to hide this bug. Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 3 files changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/13142/2 -- To view, visit https://gerrit.osmocom.org/13142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 Gerrit-Change-Number: 13142 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:12:51 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:12:51 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13143 Change subject: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() ...................................................................... fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() During FSM design for osmo-msc, I noticed that the current behavior that keep_timer=true doesn't guarantee a running timer can make FSM design a bit complex, especially when using osmo_tdef for timeout definitions. A desirable keep_timer=true behavior is one that keeps the previous timer running, but starts a timer if no timer is running yet. The simplest example is: a given state repeatedly transitions back to itself, but wants to set a timeout only on first entering, avoiding to restart the timeout on re-entering. Another example is a repeated transition between two or more states, where the first time we enter this group a timeout should start, but it should not restart from scratch on every transition. When using osmo_tdef timeout definitions for this, so far separate meaningless states have to be introduced that merely set a fixed timeout. To simplify, add osmo_fsm_inst_state_chg_keep_or_start_timer(), and use this in osmo_tdef_fsm_inst_state_chg() when both keep_timer == true *and* T != 0. In tdef_test.ok, the changes show that on first entering state L, the previous T=1 is now kept with a large remaining timeout. When entering state L from O, where no timer was running, this time L's T123 is started. Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db --- M include/osmocom/core/fsm.h M src/fsm.c M src/tdef.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 5 files changed, 75 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/13143/1 diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 13bfb33..c40d7f3 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -254,6 +254,21 @@ int _osmo_fsm_inst_state_chg_keep_timer(struct osmo_fsm_inst *fi, uint32_t new_state, const char *file, int line); +/*! perform a state change while keeping the current timer if running, or starting a timer otherwise. + * + * This is useful to keep a timeout across several states, but to make sure that some timeout is actually running. + * + * This is a macro that calls _osmo_fsm_inst_state_chg_keep_or_start_timer() with the given + * parameters as well as the caller's source file and line number for logging + * purposes. See there for documentation. + */ +#define osmo_fsm_inst_state_chg_keep_or_start_timer(fi, new_state, timeout_secs, T) \ + _osmo_fsm_inst_state_chg_keep_or_start_timer(fi, new_state, timeout_secs, T, \ + __FILE__, __LINE__) +int _osmo_fsm_inst_state_chg_keep_or_start_timer(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_secs, int T, + const char *file, int line); + /*! dispatch an event to an osmocom finite state machine instance * * This is a macro that calls _osmo_fsm_inst_dispatch() with the given diff --git a/src/fsm.c b/src/fsm.c index 4876c04..5723bab 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -481,11 +481,20 @@ st->onleave(fi, new_state); if (fsm_log_timeouts) { - if (keep_timer && fi->timer.active && (osmo_timer_remaining(&fi->timer, NULL, &remaining) == 0)) - LOGPFSMSRC(fi, file, line, "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); - else if (timeout_secs && !keep_timer) + if (keep_timer && fi->timer.active) { + /* This should always give us a timeout, but just in case the return value indicates error, omit + * logging the remaining time. */ + if (osmo_timer_remaining(&fi->timer, NULL, &remaining)) + LOGPFSMSRC(fi, file, line, + "State change to %s (keeping " OSMO_T_FMT ")\n", + osmo_fsm_state_name(fsm, new_state), + OSMO_T_FMT_ARGS(fi->T)); + else + LOGPFSMSRC(fi, file, line, + "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", + osmo_fsm_state_name(fsm, new_state), + OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); + } else if (timeout_secs) LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", osmo_fsm_state_name(fsm, new_state), OSMO_T_FMT_ARGS(T), timeout_secs); @@ -500,7 +509,8 @@ fi->state = new_state; st = &fsm->states[new_state]; - if (!keep_timer) { + if (!keep_timer + || (keep_timer && !osmo_timer_pending(&fi->timer))) { fi->T = T; if (timeout_secs) osmo_timer_schedule(&fi->timer, timeout_secs, 0); @@ -592,6 +602,35 @@ return state_chg(fi, new_state, true, 0, 0, file, line); } +/*! perform a state change while keeping the current timer if running, or starting a timer otherwise. + * + * This is useful to keep a timeout across several states, but to make sure that some timeout is actually running. + * + * Best invoke via the osmo_fsm_inst_state_chg_keep_or_start_timer() macro which logs the source file where the state + * change was effected. Alternatively, you may pass file as NULL to use the normal file/line indication instead. + * + * All changes to the FSM instance state must be made via an osmo_fsm_inst_state_chg_* + * function. It verifies that the existing state actually permits a + * transition to new_state. + * + * \param[in] fi FSM instance whose state is to change + * \param[in] new_state The new state into which we should change + * \param[in] timeout_secs If no timer is running yet, set this timeout in seconds (if !=0), maximum-clamped to + * 2147483647 seconds. + * \param[in] T Timer number, where positive numbers are considered to be 3GPP spec compliant timer numbers and are + * logged as "T1234", while negative numbers are considered Osmocom specific timer numbers logged as + * "X1234". + * \param[in] file Calling source file (from osmo_fsm_inst_state_chg macro) + * \param[in] line Calling source line (from osmo_fsm_inst_state_chg macro) + * \returns 0 on success; negative on error + */ +int _osmo_fsm_inst_state_chg_keep_or_start_timer(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_secs, int T, + const char *file, int line) +{ + return state_chg(fi, new_state, true, timeout_secs, T, file, line); +} + /*! dispatch an event to an osmocom finite state machine instance * * Best invoke via the osmo_fsm_inst_dispatch() macro which logs the source diff --git a/src/tdef.c b/src/tdef.c index 7e79d68..ac19a71 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -220,7 +220,7 @@ * * struct osmo_tdef_state_timeout my_fsm_timeouts[32] = { * [MY_FSM_STATE_3] = { .T = 423 }, // look up timeout configured for T423 - * [MY_FSM_STATE_7] = { .T = 235 }, + * [MY_FSM_STATE_7] = { .keep_timer = true, .T = 235 }, // keep previous timer if running, or start T235 * [MY_FSM_STATE_8] = { .keep_timer = true }, // keep previous state's T number, continue timeout. * // any state that is omitted will remain zero == no timeout * }; @@ -260,14 +260,19 @@ if (!t) return _osmo_fsm_inst_state_chg(fi, state, 0, 0, file, line); + if (t->T) + val = osmo_tdef_get(tdefs, t->T, OSMO_TDEF_S, default_timeout); + if (t->keep_timer) { - int rc = _osmo_fsm_inst_state_chg_keep_timer(fi, state, file, line); - if (t->T && !rc) - fi->T = t->T; - return rc; + if (t->T) + return _osmo_fsm_inst_state_chg_keep_or_start_timer(fi, state, val, t->T, file, line); + else + return _osmo_fsm_inst_state_chg_keep_timer(fi, state, file, line); } - val = osmo_tdef_get(tdefs, t->T, OSMO_TDEF_S, default_timeout); + /* val is always initialized here, because if t->keep_timer is false, t->T must be != 0. + * Otherwise osmo_tdef_get_state_timeout() would have returned NULL. */ + OSMO_ASSERT(t->T); return _osmo_fsm_inst_state_chg(fi, state, val, t->T, file, line); } diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 135951e..d9ef99b 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -130,9 +130,9 @@ --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining Time passes: 23.045678 s state=A T=1, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=1, 76.954322 s remaining --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 1.000000 s remaining - test T=0: --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: diff --git a/tests/tdef/tdef_test_range_64bit.ok b/tests/tdef/tdef_test_range_64bit.ok index eed58e6..7ec295d 100644 --- a/tests/tdef/tdef_test_range_64bit.ok +++ b/tests/tdef/tdef_test_range_64bit.ok @@ -158,9 +158,9 @@ --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining Time passes: 23.045678 s state=A T=1, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=1, 76.954322 s remaining --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 1.000000 s remaining - test T=0: --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: -- To view, visit https://gerrit.osmocom.org/13143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db Gerrit-Change-Number: 13143 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:13:11 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:13:11 +0000 Subject: Change in osmo-bsc[master]: cosmetic: drop unused struct mgcp_ctx shadow In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13117 ) Change subject: cosmetic: drop unused struct mgcp_ctx shadow ...................................................................... cosmetic: drop unused struct mgcp_ctx shadow Change-Id: If9c705e9fe6dba9225f7dec045e790af7a875ee8 --- M include/osmocom/bsc/gsm_data.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4d27a2e..c4315c0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -38,7 +38,6 @@ struct mgcp_client_conf; struct mgcp_client; -struct mgcp_ctx; struct gsm0808_cell_id; struct mgw_endpoint; -- To view, visit https://gerrit.osmocom.org/13117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If9c705e9fe6dba9225f7dec045e790af7a875ee8 Gerrit-Change-Number: 13117 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:15:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:15:10 +0000 Subject: Change in osmo-mgw[master]: log: don't spam with "can not patch PT" messages In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13114 ) Change subject: log: don't spam with "can not patch PT" messages ...................................................................... log: don't spam with "can not patch PT" messages currently, when looking at an osmo-mgw log output with a phone call working completely fine, you see these messages on LOGL_ERROR for each RTP packet: 20190304221420619 DRTP ERROR endpoint:0x0 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420639 DRTP ERROR endpoint:0x1 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420639 DRTP ERROR endpoint:0x0 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420659 DRTP ERROR endpoint:0x1 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) 20190304221420659 DRTP ERROR endpoint:0x0 can not patch PT because no suitable egress codec was found. (mgcp_network.c:761) Put these messages on DEBUG level instead. They currently do not convey useful information. Possibly our MGCP clients could use some changes in behavior regarding payload types, but since that topic is quite unresolved, let's not spam the ERROR log level with this. Change-Id: I4afc41fd472ec8ba887b9263fbac62de50d7cef9 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 33738bc..30ed7fd 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -756,7 +756,7 @@ if (is_rtp) { rc = mgcp_patch_pt(conn_src, conn_dst, buf, len); if (rc < 0) { - LOGP(DRTP, LOGL_ERROR, + LOGP(DRTP, LOGL_DEBUG, "endpoint:0x%x can not patch PT because no suitable egress codec was found.\n", ENDPOINT_NUMBER(endp)); } -- To view, visit https://gerrit.osmocom.org/13114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4afc41fd472ec8ba887b9263fbac62de50d7cef9 Gerrit-Change-Number: 13114 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:15:11 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:15:11 +0000 Subject: Change in osmo-mgw[master]: mgcp client: allow setting conn mode for CRCX and MDCX In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13115 ) Change subject: mgcp client: allow setting conn mode for CRCX and MDCX ...................................................................... mgcp client: allow setting conn mode for CRCX and MDCX Add conn_mode to struct mgcp_conn_peer, to allow setting an explicit connection mode instead of implicit MGCP_CONN_RECV_ONLY / MGCP_CONN_RECV_SEND depending on remote RTP port presence. Default to old behavior if this is left unset. Rationale: For IuUP Initialization, osmo-msc currently still uses a hack at osmo-mgw to echo the IuUP Initialization back to the sender as an ACK. For sanity checking reasons, this is done iff the CRCX created the CI in loopback mode. So, in order to be able to switch to the mgcp_client_fsm in osmo-msc instead of "manual" MGCP message composition and yet still be able to support IuUP and IuCS, we need to be able to set the conn mode upon CRCX to loopback. If we merged the IuUP patch (which is already on a branch somewhere) to osmo-mgw, we wouldn't bother with this patch, but adding this conn mode choice has these benefits: - post-IuUP-fix osmo-msc versions can interop with older osmo-mgw IuUP for IuCS. - It is conceivable that some MGCP clients prefer explicit conn modes instead of the implicit MGCP_CONN_RECV_ONLY / MGCP_CONN_RECV_SEND choice. This opens the possibility to switch between conn modes with MDCX messages. Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc --- M include/osmocom/mgcp_client/mgcp_client_fsm.h M src/libosmo-mgcp-client/mgcp_client_fsm.c 2 files changed, 15 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index bb07872..716a6d4 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -47,6 +47,10 @@ * known to issue incoherent or unknown CallIDs / to issue CRCX commands with a different domain * name than the BSC. An OsmoMGW will then ignore these and not fail on mismatches. */ uint32_t x_osmo_ign; + + /*! If left MGCP_CONN_NONE, use MGCP_CONN_RECV_ONLY or MGCP_CONN_RECV_SEND, depending on whether an audio RTP + * address is set. If != MGCP_CONN_NONE, force this conn mode. */ + enum mgcp_connection_mode conn_mode; }; struct osmo_fsm_inst *mgcp_conn_create(struct mgcp_client *mgcp, struct osmo_fsm_inst *parent_fi, uint32_t parent_term_evt, diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index da900c5..7c4e081 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -134,6 +134,13 @@ mgcp_msg->conn_mode = MGCP_CONN_RECV_SEND; } +static void set_conn_mode(struct mgcp_msg *mgcp_msg, struct mgcp_conn_peer *peer) +{ + enum mgcp_connection_mode conn_mode = peer->conn_mode; + if (conn_mode != MGCP_CONN_NONE) + mgcp_msg->conn_mode = conn_mode; +} + static struct msgb *make_mdcx_msg(struct mgcp_ctx *mgcp_ctx) { struct mgcp_msg mgcp_msg; @@ -155,6 +162,8 @@ memcpy(mgcp_msg.codecs, mgcp_ctx->conn_peer_local.codecs, sizeof(mgcp_msg.codecs)); memcpy(mgcp_msg.ptmap, mgcp_ctx->conn_peer_local.ptmap, sizeof(mgcp_msg.ptmap)); + set_conn_mode(&mgcp_msg, &mgcp_ctx->conn_peer_local); + /* Note: We take the endpoint and the call_id from the remote * connection info, because we can be confident that the * information there is valid. For the local info, we explicitly @@ -199,6 +208,8 @@ make_crcx_msg(&mgcp_msg, &mgcp_ctx->conn_peer_local); if (mgcp_ctx->conn_peer_local.port) add_audio(&mgcp_msg, &mgcp_ctx->conn_peer_local); + set_conn_mode(&mgcp_msg, &mgcp_ctx->conn_peer_local); + msg = mgcp_msg_gen(mgcp_ctx->mgcp, &mgcp_msg); OSMO_ASSERT(msg); -- To view, visit https://gerrit.osmocom.org/13115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I26be5c4b06a680f25f19797407ab56a5a4880ddc Gerrit-Change-Number: 13115 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:15:13 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:15:13 +0000 Subject: Change in osmo-mgw[master]: make codec_table public as osmo_mgcpc_codec_names In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13116 ) Change subject: make codec_table public as osmo_mgcpc_codec_names ...................................................................... make codec_table public as osmo_mgcpc_codec_names These value_string[]s are also useful for printing chosen codecs in osmo-msc. Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa --- M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c 2 files changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 98e58d7..e09a446 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -47,6 +47,10 @@ * this is an internal assumption that is made to avoid lookup tables. * The API-User should not rely on this coincidence! */ +extern const struct value_string osmo_mgcpc_codec_names[]; +static inline const char *osmo_mgcpc_codec_name(enum mgcp_codecs val) +{ return get_value_string(osmo_mgcpc_codec_names, val); } + /*! Structure to build a payload type map to allow the defiition custom payload * types. */ struct ptmap { diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 29acd0a..ead3512 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -37,7 +37,7 @@ #include /* Codec descripton for dynamic payload types (SDP) */ -static const struct value_string codec_table[] = { +const struct value_string osmo_mgcpc_codec_names[] = { { CODEC_PCMU_8000_1, "PCMU/8000/1" }, { CODEC_GSM_8000_1, "GSM/8000/1" }, { CODEC_PCMA_8000_1, "PCMA/8000/1" }, @@ -81,12 +81,12 @@ osmo_strlcpy(str_buf, extract_codec_name(str), sizeof(str_buf)); - for (i = 0; i < ARRAY_SIZE(codec_table); i++) { - codec_name = extract_codec_name(codec_table[i].str); + for (i = 0; i < ARRAY_SIZE(osmo_mgcpc_codec_names); i++) { + codec_name = extract_codec_name(osmo_mgcpc_codec_names[i].str); if (!codec_name) continue; if (strcmp(codec_name, str_buf) == 0) - return codec_table[i].value; + return osmo_mgcpc_codec_names[i].value; } return -1; @@ -978,7 +978,7 @@ rc += msgb_printf(msg, " a:"); for (i = 0; i < mgcp_msg->codecs_len; i++) { pt = mgcp_msg->codecs[i]; - codec = get_value_string_or_null(codec_table, pt); + codec = get_value_string_or_null(osmo_mgcpc_codec_names, pt); /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ @@ -1058,7 +1058,7 @@ * require to be explained further via rtpmap. All others * are implcitly definedby the number in m=audio */ if (pt >= 96 && pt <= 127) { - codec = get_value_string_or_null(codec_table, mgcp_msg->codecs[i]); + codec = get_value_string_or_null(osmo_mgcpc_codec_names, mgcp_msg->codecs[i]); /* Note: Use codec descriptors from enum mgcp_codecs * in mgcp_client only! */ -- To view, visit https://gerrit.osmocom.org/13116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ida0e59f9a1f2dd18efea0a51680a67b69f141efa Gerrit-Change-Number: 13116 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:17:04 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:17:04 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13118 ) Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13118/1/src/sccp_user.c File src/sccp_user.c: https://gerrit.osmocom.org/#/c/13118/1/src/sccp_user.c at 349 PS1, Line 349: rc = memcmp(&a->ip.v4, &b->ip.v4, sizeof(a->ip.v4)); > I'm confused - how do you use rc after setting it here? what the heck did I write here. untested-dead-code-syndrome, nice catch -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 06 Mar 2019 06:17:04 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 06:19:55 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 06:19:55 +0000 Subject: Change in libosmo-sccp[master]: debug log typo fix in sccp_scoc.c In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13119 ) Change subject: debug log typo fix in sccp_scoc.c ...................................................................... debug log typo fix in sccp_scoc.c Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd --- M src/sccp_scoc.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index fbbad49..cb1d567 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -1700,7 +1700,7 @@ int rc = 0; int event; - LOGP(DLSCCP, LOGL_DEBUG, "Received SCCP User Primitive %s)\n", + LOGP(DLSCCP, LOGL_DEBUG, "Received SCCP User Primitive (%s)\n", osmo_scu_prim_name(&prim->oph)); switch (OSMO_PRIM_HDR(&prim->oph)) { -- To view, visit https://gerrit.osmocom.org/13119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic5637700122ef26a44932149994c01ccbfc18ffd Gerrit-Change-Number: 13119 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 11:17:31 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 11:17:31 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13133 ) Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Omar Ramadan Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 11:17:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 11:22:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 11:22:11 +0000 Subject: Change in osmo-pcu[master]: Use msgb_eq_data_print() in tests In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13132 ) Change subject: Use msgb_eq_data_print() in tests ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 Gerrit-Change-Number: 13132 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 06 Mar 2019 11:22:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 11:27:19 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 11:27:19 +0000 Subject: Change in libosmo-netif[master]: AMR: add functions to convert between bw-efficient and octet-aligned In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13049 ) Change subject: AMR: add functions to convert between bw-efficient and octet-aligned ...................................................................... Patch Set 5: Test failure might or might not be related to https://osmocom.org/issues/3812 - simply re-triggering the test fixed it for me. Unfortunately I haven't found a way to reproduce this reliably locally. -- To view, visit https://gerrit.osmocom.org/13049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Gerrit-Change-Number: 13049 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 11:27:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 13:46:06 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 13:46:06 +0000 Subject: Change in osmo-msc[master]: rename bscconfig.h to configure.h, cleanup In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13138 ) Change subject: rename bscconfig.h to configure.h, cleanup ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id4f683be1f36f0630c83da54e02868aae847aeec Gerrit-Change-Number: 13138 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 13:46:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:07:56 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 14:07:56 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: fix cmdline: do not force-disable colored logging Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13144 Change subject: osmo-hnbgw: fix cmdline: do not force-disable colored logging ...................................................................... osmo-hnbgw: fix cmdline: do not force-disable colored logging Un-jam the commandline option to disable color: it is so far stuck in --disable-color and overrides everything so that we never see any colored logging from osmo-hnbgw, whichever cmdline or cfg we pass. Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98 --- M src/hnbgw.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/44/13144/1 diff --git a/src/hnbgw.c b/src/hnbgw.c index e40996f..31498cd 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -377,7 +377,7 @@ } hnbgw_cmdline_config = { 0, "osmo-hnbgw.cfg", - true, + false, false, 0, NULL, -- To view, visit https://gerrit.osmocom.org/13144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98 Gerrit-Change-Number: 13144 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:07:56 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 14:07:56 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: set a proper talloc ctx for logging Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13145 Change subject: osmo-hnbgw: set a proper talloc ctx for logging ...................................................................... osmo-hnbgw: set a proper talloc ctx for logging Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 --- M src/hnbgw.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/45/13145/1 diff --git a/src/hnbgw.c b/src/hnbgw.c index 31498cd..fa655ae 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -527,7 +527,7 @@ g_hnb_gw = hnb_gw_create(tall_hnb_ctx); g_hnb_gw->config.rnc_id = 23; - rc = osmo_init_logging(&hnbgw_log_info); + rc = osmo_init_logging2(tall_hnb_ctx, &hnbgw_log_info); if (rc < 0) exit(1); -- To view, visit https://gerrit.osmocom.org/13145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 Gerrit-Change-Number: 13145 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:07:56 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 14:07:56 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: logging tweaks Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13146 Change subject: osmo-hnbgw: logging tweaks ...................................................................... osmo-hnbgw: logging tweaks Log about: - sending RESET messages to CN; - accepting a new hNodeB peer on HNBAP. Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 --- M src/hnbgw_cn.c M src/hnbgw_hnbap.c 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/46/13146/1 diff --git a/src/hnbgw_cn.c b/src/hnbgw_cn.c index ede00c8..3be592e 100644 --- a/src/hnbgw_cn.c +++ b/src/hnbgw_cn.c @@ -50,6 +50,10 @@ .choice. transmissionNetwork = RANAP_CauseTransmissionNetwork_signalling_transport_resource_failure, }; + LOGP(DRANAP, LOGL_NOTICE, "Tx RESET to %s %s\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(gw->sccp.cnlink->sccp, remote_addr)); + msg = ranap_new_msg_reset(domain, &cause); return osmo_sccp_tx_unitdata_msg(gw->sccp.cnlink->sccp_user, diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c index 1d50d4d..2d67219 100644 --- a/src/hnbgw_hnbap.c +++ b/src/hnbgw_hnbap.c @@ -119,6 +119,8 @@ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBRegisterAccept, &accept_out); + LOGP(DHNBAP, LOGL_NOTICE, "Accepting HNB-REGISTER-REQ from %s\n", ctx->identity_info); + return hnbgw_hnbap_tx(ctx, msg); } -- To view, visit https://gerrit.osmocom.org/13146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 Gerrit-Change-Number: 13146 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:07:57 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 14:07:57 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: reply with RESET ACK when receiving a RESET Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13147 Change subject: osmo-hnbgw: reply with RESET ACK when receiving a RESET ...................................................................... osmo-hnbgw: reply with RESET ACK when receiving a RESET Rationale: current osmo-msc refactoring introduces RESET handling on IuCS. In particular, it makes osmo-hnbgw be able to operate with an (upcoming) osmo-msc that has strict RESET handling: it will send a RESET and require a RESET ACK if it sees a new IuCS peer sending messages without prior RESET. Even though a workaround to ignore missing RESET messages on IuCS will also be in place in the new osmo-msc, this is a first small step towards more sane RESET handling in osmo-hnbgw. Related: OS#3820 Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909 --- M src/hnbgw_cn.c 1 file changed, 43 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/47/13147/1 diff --git a/src/hnbgw_cn.c b/src/hnbgw_cn.c index 3be592e..0623561 100644 --- a/src/hnbgw_cn.c +++ b/src/hnbgw_cn.c @@ -34,6 +34,7 @@ #include #include #include +#include /*********************************************************************** * Outbound RANAP RESET to CN @@ -62,6 +63,23 @@ msg); } +static int transmit_reset_ack(struct hnb_gw *gw, RANAP_CN_DomainIndicator_t domain, + const struct osmo_sccp_addr *remote_addr) +{ + struct msgb *msg; + + LOGP(DRANAP, LOGL_NOTICE, "Tx RESET ACK to %s %s\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(gw->sccp.cnlink->sccp, remote_addr)); + + msg = ranap_new_msg_reset_ack(domain, NULL); + + return osmo_sccp_tx_unitdata_msg(gw->sccp.cnlink->sccp_user, + &gw->sccp.local_addr, + remote_addr, + msg); +} + /* Timer callback once T_RafC expires */ static void cnlink_trafc_cb(void *data) { @@ -98,15 +116,28 @@ ***********************************************************************/ static int cn_ranap_rx_reset_cmd(struct hnbgw_cnlink *cnlink, + const struct osmo_scu_unitdata_param *unitdata, RANAP_InitiatingMessage_t *imsg) { + CN_DomainIndicator_t domain; RANAP_ResetIEs_t ies; int rc; rc = ranap_decode_reseties(&ies, &imsg->value); - /* FIXME: reset resources and return reset ack */ - + domain = ies.cN_DomainIndicator; ranap_free_reseties(&ies); + + LOGP(DRANAP, LOGL_NOTICE, "Rx RESET from %s %s, returning ACK\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(cnlink->sccp, &unitdata->calling_addr)); + + /* FIXME: actually reset connections, if any */ + + if (transmit_reset_ack(cnlink->gw, domain, &unitdata->calling_addr)) + LOGP(DRANAP, LOGL_ERROR, "Error: cannot send RESET ACK to %s %s\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(cnlink->sccp, &unitdata->calling_addr)); + return rc; } @@ -148,12 +179,13 @@ } static int cn_ranap_rx_initiating_msg(struct hnbgw_cnlink *cnlink, + const struct osmo_scu_unitdata_param *unitdata, RANAP_InitiatingMessage_t *imsg, const uint8_t *data, unsigned int len) { switch (imsg->procedureCode) { case RANAP_ProcedureCode_id_Reset: - return cn_ranap_rx_reset_cmd(cnlink, imsg); + return cn_ranap_rx_reset_cmd(cnlink, unitdata, imsg); case RANAP_ProcedureCode_id_Paging: return cn_ranap_rx_paging_cmd(cnlink, imsg, data, len); case RANAP_ProcedureCode_id_OverloadControl: /* Overload ind */ @@ -197,14 +229,15 @@ } -static int _cn_ranap_rx(struct hnbgw_cnlink *cnlink, RANAP_RANAP_PDU_t *pdu, - const uint8_t *data, unsigned int len) +static int _cn_ranap_rx(struct hnbgw_cnlink *cnlink, + const struct osmo_scu_unitdata_param *unitdata, + RANAP_RANAP_PDU_t *pdu, const uint8_t *data, unsigned int len) { int rc; switch (pdu->present) { case RANAP_RANAP_PDU_PR_initiatingMessage: - rc = cn_ranap_rx_initiating_msg(cnlink, &pdu->choice.initiatingMessage, + rc = cn_ranap_rx_initiating_msg(cnlink, unitdata, &pdu->choice.initiatingMessage, data, len); break; case RANAP_RANAP_PDU_PR_successfulOutcome: @@ -226,8 +259,8 @@ return rc; } -static int handle_cn_ranap(struct hnbgw_cnlink *cnlink, const uint8_t *data, - unsigned int len) +static int handle_cn_ranap(struct hnbgw_cnlink *cnlink, const struct osmo_scu_unitdata_param *unitdata, + const uint8_t *data, unsigned int len) { RANAP_RANAP_PDU_t _pdu, *pdu = &_pdu; asn_dec_rval_t dec_ret; @@ -241,7 +274,7 @@ return -1; } - rc = _cn_ranap_rx(cnlink, pdu, data, len); + rc = _cn_ranap_rx(cnlink, unitdata, pdu, data, len); return rc; } @@ -285,7 +318,7 @@ if (classify_cn_remote_addr(cnlink->gw, ¶m->calling_addr, NULL) < 0) return -1; - return handle_cn_ranap(cnlink, msgb_l2(oph->msg), msgb_l2len(oph->msg)); + return handle_cn_ranap(cnlink, param, msgb_l2(oph->msg), msgb_l2len(oph->msg)); } static int handle_cn_conn_conf(struct hnbgw_cnlink *cnlink, -- To view, visit https://gerrit.osmocom.org/13147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909 Gerrit-Change-Number: 13147 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:20:48 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 14:20:48 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 1: > there is no downlink arq type "true" or "false". While I agree i fthere are only two discrete values you should use a type with only two options, but if those optionsare not something that can be "true" or "false", using bool is just as wrong as using int, isn't it? I'm not sure I'm following. In 44.060 ?8.1.1 there's 'resegment bit' which could be 0 (type 2 ARQ) or 1 (type 1 ARQ). So it's boolean value. That's also how it's used throughout the code so far. In general, RLCMAC might operate in non-persistent (MBMS bearer, 43.246) acknowledged (types 1 and 2 above) and unacknowledged (no ARQ) modes according to TS 43.064 ?6.6.4.5 and ?6.6.4.6. So when would we want to use some 3rd value for dl_arq_type and which spec describes that case? Or, in other words, if we make 'enum dl_arq_type', which would be the values for it besides TYPE1 and TYPE2? Could you clarify your point with spec reference (if possible) please? -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 06 Mar 2019 14:20:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:25:10 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 14:25:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly In-Reply-To: References: Message-ID: Hello dexter, Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13127 to look at the new patch set (#3). Change subject: TC_rach_content(): fail test explicitly ...................................................................... TC_rach_content(): fail test explicitly By default Misc_Helpers.f_shutdown() will set test verdict to 'none'. Let's fail test explicitly if we had any timeouts. Related: OS#1854 Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/13127/3 -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:27:13 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 14:27:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): log successful allocations In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13128 ) Change subject: TC_rach_content(): log successful allocations ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn at 1012 PS1, Line 1012: log("[", i, "] CHAN RQD FN=", fn, " RA=", ra, " OK"); > to see those in the pcap file Sure but that's way less convenient than having all the data in one place. > Better print fn and ra on line 1016 Why? Which issue will it help to debug? -- To view, visit https://gerrit.osmocom.org/13128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Gerrit-Change-Number: 13128 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 14:27:13 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 14:32:12 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 14:32:12 +0000 Subject: Change in osmo-msc[master]: rename bscconfig.h to configure.h, cleanup In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13138 ) Change subject: rename bscconfig.h to configure.h, cleanup ...................................................................... Patch Set 1: I think mscconfig.h would be better aligned with existing bscconfig.h and btsconfig.h in other repos. Also, looking at the build failure, is there reason why it couldn't be split away from this patch series into independent patch? Or at least moved earlier in the series? -- To view, visit https://gerrit.osmocom.org/13138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id4f683be1f36f0630c83da54e02868aae847aeec Gerrit-Change-Number: 13138 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 06 Mar 2019 14:32:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 15:49:43 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 6 Mar 2019 15:49:43 +0000 Subject: Change in osmo-dev[master]: add manuals.opts, no_doxygen.opts, no_optimization.opts Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13148 Change subject: add manuals.opts, no_doxygen.opts, no_optimization.opts ...................................................................... add manuals.opts, no_doxygen.opts, no_optimization.opts Change-Id: Ief9e6865eaff587dbd1f1f73f2fecac470e77a81 --- A manuals.opts A no_doxygen.opts A no_optimization.opts 3 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/48/13148/1 diff --git a/manuals.opts b/manuals.opts new file mode 100644 index 0000000..2ba5237 --- /dev/null +++ b/manuals.opts @@ -0,0 +1 @@ +ALL --enable-manuals diff --git a/no_doxygen.opts b/no_doxygen.opts new file mode 100644 index 0000000..b2aa682 --- /dev/null +++ b/no_doxygen.opts @@ -0,0 +1 @@ +ALL --disable-doxygen diff --git a/no_optimization.opts b/no_optimization.opts new file mode 100644 index 0000000..3d85054 --- /dev/null +++ b/no_optimization.opts @@ -0,0 +1 @@ +ALL CFLAGS="-g -O0" -- To view, visit https://gerrit.osmocom.org/13148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ief9e6865eaff587dbd1f1f73f2fecac470e77a81 Gerrit-Change-Number: 13148 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 16:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 16:20:22 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: set a proper talloc ctx for logging In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13145 ) Change subject: osmo-hnbgw: set a proper talloc ctx for logging ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 Gerrit-Change-Number: 13145 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 16:20:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 16:21:13 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 16:21:13 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: fix cmdline: do not force-disable colored logging In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13144 ) Change subject: osmo-hnbgw: fix cmdline: do not force-disable colored logging ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98 Gerrit-Change-Number: 13144 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 16:21:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 16:22:10 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 16:22:10 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: logging tweaks In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13146 ) Change subject: osmo-hnbgw: logging tweaks ...................................................................... Patch Set 1: hnbgw_cn.c: In function ?transmit_rst?: hnbgw_cn.c:54:17: error: ?CN_DomainIndicator_cs_domain? undeclared (first use in this function) domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", -- To view, visit https://gerrit.osmocom.org/13146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 Gerrit-Change-Number: 13146 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 16:22:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 16:26:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 16:26:19 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: reply with RESET ACK when receiving a RESET In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13147 ) Change subject: osmo-hnbgw: reply with RESET ACK when receiving a RESET ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909 Gerrit-Change-Number: 13147 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 16:26:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 16:33:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 16:33:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13127 ) Change subject: TC_rach_content(): fail test explicitly ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13127/3/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13127/3/bts/BTS_Tests.ttcn at 1024 PS3, Line 1024: if (test_failed) { {} not needed but fine -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 06 Mar 2019 16:33:42 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 16:36:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 16:36:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): log successful allocations In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13128 ) Change subject: TC_rach_content(): log successful allocations ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn at 1012 PS1, Line 1012: log("[", i, "] CHAN RQD FN=", fn, " RA=", ra, " OK"); > > to see those in the pcap file [?] 1- I'd argue it's not handy having 1k lines of logs of correct case. If for whatever reason you require the last correct one, then store it in a variable and print it on error. 2-If it fails there it can provide more info about the issue. -- To view, visit https://gerrit.osmocom.org/13128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Gerrit-Change-Number: 13128 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 16:36:19 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 17:26:12 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 17:26:12 +0000 Subject: Change in osmo-pcu[master]: TBF-DL: log MCS as string Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13149 Change subject: TBF-DL: log MCS as string ...................................................................... TBF-DL: log MCS as string Log MCS name instead of numeric value. Change-Id: I3e1925a010a6def5fd14da63b73e0b75feddfafc --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 28 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/49/13149/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 8257689..b621be0 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -385,11 +385,11 @@ bts->bts_data()->dl_arq_type); LOGPTBFDL(this, LOGL_DEBUG, - "initial_cs_dl(%d) last_mcs(%d) demanded_mcs(%d) cs_trans(%d) arq_type(%d) bsn(%d)\n", - m_rlc.block(bsn)->cs_init.to_num(), - m_rlc.block(bsn)->cs_last.to_num(), - ms()->current_cs_dl().to_num(), - m_rlc.block(bsn)->cs_current_trans.to_num(), + "initial_cs_dl(%s) last_mcs(%s) demanded_mcs(%s) cs_trans(%s) arq_type(%d) bsn(%d)\n", + mcs_name(m_rlc.block(bsn)->cs_init), + mcs_name(m_rlc.block(bsn)->cs_last), + mcs_name(ms()->current_cs_dl()), + mcs_name(m_rlc.block(bsn)->cs_current_trans), bts->bts_data()->dl_arq_type, bsn); /* TODO: Need to remove this check when MCS-8 -> MCS-6 diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e788ccc..1dda976 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -4737,7 +4737,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(7) last_mcs(5) demanded_mcs(7) cs_trans(7) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4881,7 +4881,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(8) last_mcs(8) demanded_mcs(8) cs_trans(8) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -5012,7 +5012,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(9) last_mcs(6) demanded_mcs(9) cs_trans(9) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -5128,7 +5128,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(6) cs_trans(6) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5183,7 +5183,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 96 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(1) last_mcs(1) demanded_mcs(1) cs_trans(1) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-1) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5238,7 +5238,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 92 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(2) last_mcs(2) demanded_mcs(2) cs_trans(2) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-2) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5306,9 +5306,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 56 05 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 10 70 c0 ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(5) demanded_mcs(7) cs_trans(7) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(5) demanded_mcs(7) cs_trans(7) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5377,9 +5377,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 4d 97 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 10 70 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(9) cs_trans(9) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(9) cs_trans(9) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5444,14 +5444,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 55 81 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(7) last_mcs(7) demanded_mcs(5) cs_trans(5) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 18 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(7) last_mcs(7) demanded_mcs(5) cs_trans(5) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5515,14 +5515,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 d3 a5 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(9) last_mcs(9) demanded_mcs(6) cs_trans(6) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 12 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(9) last_mcs(9) demanded_mcs(6) cs_trans(6) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5577,14 +5577,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 c6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(3) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5639,14 +5639,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 18 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(5) demanded_mcs(2) cs_trans(2) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 d2 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(2) demanded_mcs(2) cs_trans(2) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5701,14 +5701,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 80 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(4) last_mcs(4) demanded_mcs(1) cs_trans(1) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-4) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 d6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(4) last_mcs(1) demanded_mcs(1) cs_trans(1) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5763,21 +5763,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 c6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(3) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(3) demanded_mcs(6) cs_trans(6) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 2 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs -- To view, visit https://gerrit.osmocom.org/13149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3e1925a010a6def5fd14da63b73e0b75feddfafc Gerrit-Change-Number: 13149 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 17:40:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 17:40:53 +0000 Subject: Change in osmo-gsm-tester[master]: resources.conf.prod: Add dev_args to select specific Lime device Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13150 Change subject: resources.conf.prod: Add dev_args to select specific Lime device ...................................................................... resources.conf.prod: Add dev_args to select specific Lime device Change-Id: I6ef234edb06031644758174e93a9d3817d0acc1f --- M example/resources.conf.prod 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/13150/1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index e6ade3a..dc7e337 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -61,6 +61,7 @@ remote_user: jenkins trx_ip: 10.42.42.117 clock_reference: external + dev_args: "LimeSDR-USB,serial=00090706024F0A22" - label: sysmoCell 5000 type: osmo-bts-trx -- To view, visit https://gerrit.osmocom.org/13150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6ef234edb06031644758174e93a9d3817d0acc1f Gerrit-Change-Number: 13150 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 17:49:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 17:49:53 +0000 Subject: Change in osmo-gsm-tester[master]: resources.conf.prod: Add dev_args to select specific Lime device In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13150 ) Change subject: resources.conf.prod: Add dev_args to select specific Lime device ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6ef234edb06031644758174e93a9d3817d0acc1f Gerrit-Change-Number: 13150 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 17:49:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 17:49:55 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 17:49:55 +0000 Subject: Change in osmo-gsm-tester[master]: resources.conf.prod: Add dev_args to select specific Lime device In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13150 ) Change subject: resources.conf.prod: Add dev_args to select specific Lime device ...................................................................... resources.conf.prod: Add dev_args to select specific Lime device Change-Id: I6ef234edb06031644758174e93a9d3817d0acc1f --- M example/resources.conf.prod 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/example/resources.conf.prod b/example/resources.conf.prod index e6ade3a..dc7e337 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -61,6 +61,7 @@ remote_user: jenkins trx_ip: 10.42.42.117 clock_reference: external + dev_args: "LimeSDR-USB,serial=00090706024F0A22" - label: sysmoCell 5000 type: osmo-bts-trx -- To view, visit https://gerrit.osmocom.org/13150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6ef234edb06031644758174e93a9d3817d0acc1f Gerrit-Change-Number: 13150 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 18:06:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 18:06:44 +0000 Subject: Change in osmo-pcu[master]: Tighten lqual table limits check Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13151 Change subject: Tighten lqual table limits check ...................................................................... Tighten lqual table limits check Previously MAX_GPRS_CS was used for both EDGE and GPRS which means that we waste extra memory in GPRS case. It also leads to misleading name. Let's fix this by introducing separate definitions for GPRS and EDGE cases and use them as appropriate in limit checks. Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f --- M src/bts.h M src/gprs_ms.cpp M src/pcu_main.cpp 3 files changed, 13 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/51/13151/1 diff --git a/src/bts.h b/src/bts.h index 578cece..b83ab4b 100644 --- a/src/bts.h +++ b/src/bts.h @@ -45,7 +45,9 @@ #define LLC_CODEL_DISABLE 0 #define LLC_CODEL_USE_DEFAULT (-1) -#define MAX_GPRS_CS 9 + +#define MAX_EDGE_MCS 9 +#define MAX_GPRS_CS 4 /* see bts->gsmtap_categ_mask */ enum pcu_gsmtap_category { @@ -143,7 +145,7 @@ uint8_t cs_adj_upper_limit; uint8_t cs_adj_lower_limit; struct {int16_t low; int16_t high; } cs_lqual_ranges[MAX_GPRS_CS]; - struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_GPRS_CS]; + struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_EDGE_MCS]; uint16_t cs_downgrade_threshold; /* downgrade if less packets left (DL) */ uint16_t ws_base; uint16_t ws_pdch; /* increase WS by this value per PDCH */ diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 740ef6b..87a35d1 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -620,7 +620,7 @@ int low; int high; GprsCodingScheme new_cs_ul = m_current_cs_ul; - unsigned current_cs_num = m_current_cs_ul.to_num(); + uint8_t current_cs_num = m_current_cs_ul.to_num(); bts_data = m_bts->bts_data(); @@ -642,11 +642,13 @@ old_link_qual = meas->link_qual; if (m_current_cs_ul.isGprs()) { + if (current_cs_num > MAX_GPRS_CS) + current_cs_num = MAX_GPRS_CS; low = bts_data->cs_lqual_ranges[current_cs_num-1].low; high = bts_data->cs_lqual_ranges[current_cs_num-1].high; } else if (m_current_cs_ul.isEgprs()) { - if (current_cs_num > MAX_GPRS_CS) - current_cs_num = MAX_GPRS_CS; + if (current_cs_num > MAX_EDGE_MCS) + current_cs_num = MAX_EDGE_MCS; low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; high = bts_data->mcs_lqual_ranges[current_cs_num-1].high; } else { diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index fe85160..a0f31d1 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -214,10 +214,10 @@ bts->cs_adj_enabled = 1; bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */ bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */ - bts->max_cs_ul = 4; - bts->max_cs_dl = 4; - bts->max_mcs_ul = MAX_GPRS_CS; - bts->max_mcs_dl = MAX_GPRS_CS; + bts->max_cs_ul = MAX_GPRS_CS; + bts->max_cs_dl = MAX_GPRS_CS; + bts->max_mcs_ul = MAX_EDGE_MCS; + bts->max_mcs_dl = MAX_EDGE_MCS; /* CS-1 to CS-4 */ bts->cs_lqual_ranges[0].low = -256; bts->cs_lqual_ranges[0].high = 6; -- To view, visit https://gerrit.osmocom.org/13151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f Gerrit-Change-Number: 13151 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 18:09:22 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 18:09:22 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: set a proper talloc ctx for logging In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13145 ) Change subject: osmo-hnbgw: set a proper talloc ctx for logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 Gerrit-Change-Number: 13145 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 18:09:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 18:10:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 6 Mar 2019 18:10:19 +0000 Subject: Change in osmo-pcu[master]: Tighten lqual table limits check In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13151 ) Change subject: Tighten lqual table limits check ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f Gerrit-Change-Number: 13151 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 06 Mar 2019 18:10:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:45:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:45:36 +0000 Subject: Change in osmo-pcu[master]: Tighten lqual table limits check In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13151 ) Change subject: Tighten lqual table limits check ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f Gerrit-Change-Number: 13151 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 06 Mar 2019 20:45:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:46:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:46:32 +0000 Subject: Change in osmo-pcu[master]: Use msgb_eq_data_print() in tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13132 ) Change subject: Use msgb_eq_data_print() in tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 Gerrit-Change-Number: 13132 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 06 Mar 2019 20:46:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:47:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:47:32 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: fix cmdline: do not force-disable colored logging In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13144 ) Change subject: osmo-hnbgw: fix cmdline: do not force-disable colored logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98 Gerrit-Change-Number: 13144 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 20:47:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:47:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:47:43 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: set a proper talloc ctx for logging In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13145 ) Change subject: osmo-hnbgw: set a proper talloc ctx for logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 Gerrit-Change-Number: 13145 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 20:47:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:47:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:47:47 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: fix cmdline: do not force-disable colored logging In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13144 ) Change subject: osmo-hnbgw: fix cmdline: do not force-disable colored logging ...................................................................... osmo-hnbgw: fix cmdline: do not force-disable colored logging Un-jam the commandline option to disable color: it is so far stuck in --disable-color and overrides everything so that we never see any colored logging from osmo-hnbgw, whichever cmdline or cfg we pass. Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98 --- M src/hnbgw.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/hnbgw.c b/src/hnbgw.c index e40996f..31498cd 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -377,7 +377,7 @@ } hnbgw_cmdline_config = { 0, "osmo-hnbgw.cfg", - true, + false, false, 0, NULL, -- To view, visit https://gerrit.osmocom.org/13144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98 Gerrit-Change-Number: 13144 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:47:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:47:48 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: set a proper talloc ctx for logging In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13145 ) Change subject: osmo-hnbgw: set a proper talloc ctx for logging ...................................................................... osmo-hnbgw: set a proper talloc ctx for logging Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 --- M src/hnbgw.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Max: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/src/hnbgw.c b/src/hnbgw.c index 31498cd..fa655ae 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -527,7 +527,7 @@ g_hnb_gw = hnb_gw_create(tall_hnb_ctx); g_hnb_gw->config.rnc_id = 23; - rc = osmo_init_logging(&hnbgw_log_info); + rc = osmo_init_logging2(tall_hnb_ctx, &hnbgw_log_info); if (rc < 0) exit(1); -- To view, visit https://gerrit.osmocom.org/13145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I006103d8d7fb15e2612fff619879940d8405e045 Gerrit-Change-Number: 13145 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:48:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:48:32 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: reply with RESET ACK when receiving a RESET In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13147 ) Change subject: osmo-hnbgw: reply with RESET ACK when receiving a RESET ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909 Gerrit-Change-Number: 13147 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 06 Mar 2019 20:48:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:48:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:48:51 +0000 Subject: Change in osmo-dev[master]: add manuals.opts, no_doxygen.opts, no_optimization.opts In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13148 ) Change subject: add manuals.opts, no_doxygen.opts, no_optimization.opts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ief9e6865eaff587dbd1f1f73f2fecac470e77a81 Gerrit-Change-Number: 13148 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Wed, 06 Mar 2019 20:48:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:50:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 6 Mar 2019 20:50:18 +0000 Subject: Change in osmo-msc[master]: rename bscconfig.h to configure.h, cleanup In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13138 ) Change subject: rename bscconfig.h to configure.h, cleanup ...................................................................... Patch Set 1: I don't think I ever encountered an autoconf-generated configure.h. config.h is the standard name. So I would say: config.h or mscconfig.h. -- To view, visit https://gerrit.osmocom.org/13138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id4f683be1f36f0630c83da54e02868aae847aeec Gerrit-Change-Number: 13138 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Wed, 06 Mar 2019 20:50:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:51:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 20:51:57 +0000 Subject: Change in osmo-pcu[master]: Use msgb_eq_data_print() in tests In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13132 ) Change subject: Use msgb_eq_data_print() in tests ...................................................................... Use msgb_eq_data_print() in tests This allows to see exact byte which differs with expected output in case of test failure. Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 --- M tests/llc/LlcTest.cpp M tests/rlcmac/RLCMACTest.cpp M tests/tbf/TbfTest.cpp 3 files changed, 44 insertions(+), 18 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index 3083644..13bda3c 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -61,7 +61,6 @@ size_t len, const gprs_llc_queue::MetaInfo *exp_info = 0) { struct msgb *llc_msg; - uint8_t *msg_data; const gprs_llc_queue::MetaInfo *info_res; llc_msg = queue->dequeue(&info_res); @@ -70,10 +69,8 @@ fprintf(stderr, "dequeued msg, length %u (expected %zu), data %s\n", msgb_length(llc_msg), len, msgb_hexdump(llc_msg)); - OSMO_ASSERT(msgb_length(llc_msg) == len); - msg_data = msgb_data(llc_msg); - - OSMO_ASSERT(memcmp(msg_data, exp_data, len) == 0); + if (!msgb_eq_data_print(llc_msg, exp_data, len)) + fprintf(stderr, "check failed!\n"); if (exp_info) OSMO_ASSERT(memcmp(exp_info, info_res, sizeof(*exp_info)) == 0); @@ -229,7 +226,7 @@ log_set_use_color(osmo_stderr_target, 0); log_set_print_filename(osmo_stderr_target, 0); log_set_log_level(osmo_stderr_target, LOGL_INFO); - log_parse_category_mask(osmo_stderr_target, "DPCU,3"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:"); vty_init(&pcu_vty_info); pcu_vty_init(&gprs_log_info); diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index bf7a605..61026ed 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include } using namespace std; @@ -216,6 +217,8 @@ void testCsnLeftAlignedVarBmpBounds(void *test_ctx) { + struct msgb *m = msgb_alloc(80, "test"); + static uint8_t exp[] = { 0x7f, 0xff, 0xff, 0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; bitvec *vector = bitvec_alloc(23, test_ctx); bitvec_unhex(vector, "40200bffd161003e0e519ffffffb800000000000000000"); @@ -225,14 +228,17 @@ &data.u.Egprs_Packet_Downlink_Ack_Nack.EGPRS_AckNack.Desc; decode_gsm_rlcmac_uplink(vector, &data); - OSMO_ASSERT(!strcmp(osmo_hexdump(urbb->URBB, 13), - "7f ff ff ee 00 00 00 00 00 00 00 00 00 ")); + memcpy(msgb_put(m, 13), urbb->URBB, 13); + if (!msgb_eq_data_print(m, exp, 13)) + printf("%s failed!\n", __func__); + msgb_free(m); } int main(int argc, char *argv[]) { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:"); //printSizeofRLCMAC(); testRlcMacDownlink(ctx); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index dfed79e..ff73d90 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -527,12 +527,21 @@ struct msgb *msg; int fn = 0; uint8_t expected_data = 1; + static uint8_t exp[][GSM_MACBLOCK_LEN] = { + { 0x07, 0x00, 0x00, 0x4d, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, + { 0x07, 0x00, 0x02, 0x4d, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 }, + { 0x07, 0x01, 0x04, 0x4d, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 }, + }; while (ms->dl_tbf()->have_data()) { msg = ms->dl_tbf()->create_dl_acked_block(fn += 4, 7); fprintf(stderr, "MSG = %s\n", msgb_hexdump(msg)); - OSMO_ASSERT(msgb_length(msg) == 23); - OSMO_ASSERT(msgb_data(msg)[10] == expected_data); + if (!msgb_eq_data_print(msg, exp[expected_data - 1], GSM_MACBLOCK_LEN)) + printf("%s failed at %u\n", __func__, expected_data); + expected_data += 1; } OSMO_ASSERT(expected_data-1 == 3); @@ -732,9 +741,14 @@ struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - OSMO_ASSERT(!strcmp(osmo_hexdump(msg1->data, msg1->data_len), - "40 24 01 3f 3e 24 46 68 90 87 b0 06 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b " - )); + static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x3f, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x87, 0xb0, 0x06, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + }; + + if (!msgb_eq_data_print(msg1, exp1, GSM_MACBLOCK_LEN)) { + printf("%s test failed on 1st segment!\n", __func__); + return NULL; + } egprs3->si = 0; egprs3->r = 1; @@ -754,10 +768,14 @@ msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - OSMO_ASSERT(!strcmp(osmo_hexdump(msg1->data, msg1->data_len), - "40 24 01 3f 3e 24 46 68 90 88 b0 06 8b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b " - )); + static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x3f, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x88, 0xb0, 0x06, 0x8b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + }; + if (!msgb_eq_data_print(msg1, exp2, GSM_MACBLOCK_LEN)) { + printf("%s test failed on 2nd segment!\n", __func__); + return NULL; + } return ul_tbf; } @@ -3205,6 +3223,10 @@ { BTS the_bts; uint32_t tlli = 0xffeeddcc; + static uint8_t exp[] = { 0x40, 0x84, 0x7f, 0xf7, 0x6e, 0xe6, 0x41, 0x4b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b + }; printf("=== start %s ===\n", __func__); setup_bts(&the_bts, 4); @@ -3217,8 +3239,9 @@ printf("packet reject: %s\n", osmo_hexdump(msg->data, 23)); - OSMO_ASSERT(!strcmp(osmo_hexdump(msg->data, 23), - "40 84 7f f7 6e e6 41 4b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ")); + if (!msgb_eq_data_print(msg, exp, GSM_MACBLOCK_LEN)) + printf("%s test failed!\n", __func__); + printf("=== end %s ===\n", __func__); } -- To view, visit https://gerrit.osmocom.org/13132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148 Gerrit-Change-Number: 13132 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 6 20:52:15 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 6 Mar 2019 20:52:15 +0000 Subject: Change in osmo-pcu[master]: Tighten lqual table limits check In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13151 ) Change subject: Tighten lqual table limits check ...................................................................... Tighten lqual table limits check Previously MAX_GPRS_CS was used for both EDGE and GPRS which means that we waste extra memory in GPRS case. It also leads to misleading name. Let's fix this by introducing separate definitions for GPRS and EDGE cases and use them as appropriate in limit checks. Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f --- M src/bts.h M src/gprs_ms.cpp M src/pcu_main.cpp 3 files changed, 13 insertions(+), 9 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.h b/src/bts.h index 578cece..b83ab4b 100644 --- a/src/bts.h +++ b/src/bts.h @@ -45,7 +45,9 @@ #define LLC_CODEL_DISABLE 0 #define LLC_CODEL_USE_DEFAULT (-1) -#define MAX_GPRS_CS 9 + +#define MAX_EDGE_MCS 9 +#define MAX_GPRS_CS 4 /* see bts->gsmtap_categ_mask */ enum pcu_gsmtap_category { @@ -143,7 +145,7 @@ uint8_t cs_adj_upper_limit; uint8_t cs_adj_lower_limit; struct {int16_t low; int16_t high; } cs_lqual_ranges[MAX_GPRS_CS]; - struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_GPRS_CS]; + struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_EDGE_MCS]; uint16_t cs_downgrade_threshold; /* downgrade if less packets left (DL) */ uint16_t ws_base; uint16_t ws_pdch; /* increase WS by this value per PDCH */ diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 740ef6b..87a35d1 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -620,7 +620,7 @@ int low; int high; GprsCodingScheme new_cs_ul = m_current_cs_ul; - unsigned current_cs_num = m_current_cs_ul.to_num(); + uint8_t current_cs_num = m_current_cs_ul.to_num(); bts_data = m_bts->bts_data(); @@ -642,11 +642,13 @@ old_link_qual = meas->link_qual; if (m_current_cs_ul.isGprs()) { + if (current_cs_num > MAX_GPRS_CS) + current_cs_num = MAX_GPRS_CS; low = bts_data->cs_lqual_ranges[current_cs_num-1].low; high = bts_data->cs_lqual_ranges[current_cs_num-1].high; } else if (m_current_cs_ul.isEgprs()) { - if (current_cs_num > MAX_GPRS_CS) - current_cs_num = MAX_GPRS_CS; + if (current_cs_num > MAX_EDGE_MCS) + current_cs_num = MAX_EDGE_MCS; low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; high = bts_data->mcs_lqual_ranges[current_cs_num-1].high; } else { diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index fe85160..a0f31d1 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -214,10 +214,10 @@ bts->cs_adj_enabled = 1; bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */ bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */ - bts->max_cs_ul = 4; - bts->max_cs_dl = 4; - bts->max_mcs_ul = MAX_GPRS_CS; - bts->max_mcs_dl = MAX_GPRS_CS; + bts->max_cs_ul = MAX_GPRS_CS; + bts->max_cs_dl = MAX_GPRS_CS; + bts->max_mcs_ul = MAX_EDGE_MCS; + bts->max_mcs_dl = MAX_EDGE_MCS; /* CS-1 to CS-4 */ bts->cs_lqual_ranges[0].low = -256; bts->cs_lqual_ranges[0].high = 6; -- To view, visit https://gerrit.osmocom.org/13151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f Gerrit-Change-Number: 13151 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 02:59:59 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 02:59:59 +0000 Subject: Change in osmo-msc[master]: use only accepted ran_conns for new transactions Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13152 Change subject: use only accepted ran_conns for new transactions ...................................................................... use only accepted ran_conns for new transactions In connection_for_subscriber(), do not return a ran_conn that is not yet authenticated nor one that is already in release. Using a ran_conn that is not yet authenticated may cause an auth/ciph violation. Using a ran_conn that is already in release may cause a use-after-free, see OS#3842 for a description. To be paranoid, upon releasing a conn, go through the transaction freeing motions again by calling trans_conn_closed(), just in case some odd code path added another transaction while the conn was already in release. Related: OS#3842 Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 --- M src/libmsc/gsm_subscriber.c M src/libmsc/ran_conn.c 2 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/13152/1 diff --git a/src/libmsc/gsm_subscriber.c b/src/libmsc/gsm_subscriber.c index e60344f..c4faa94 100644 --- a/src/libmsc/gsm_subscriber.c +++ b/src/libmsc/gsm_subscriber.c @@ -200,8 +200,14 @@ struct ran_conn *conn; llist_for_each_entry(conn, &net->ran_conns, entry) { - if (conn->vsub == vsub) - return conn; + if (conn->vsub != vsub) + continue; + /* Found a conn, but is it in a usable state? Must not add transactions to a conn that is in release, + * and must not start transactions for an unauthenticated subscriber. There will obviously be only one + * conn for this vsub, so return NULL right away. */ + if (!ran_conn_is_accepted(conn)) + return NULL; + return conn; } return NULL; diff --git a/src/libmsc/ran_conn.c b/src/libmsc/ran_conn.c index 79709c6..e54e542 100644 --- a/src/libmsc/ran_conn.c +++ b/src/libmsc/ran_conn.c @@ -538,8 +538,10 @@ { struct ran_conn *conn = fi->priv; - if (ran_conn_fsm_has_active_transactions(fi)) + if (ran_conn_fsm_has_active_transactions(fi)) { LOGPFSML(fi, LOGL_ERROR, "Deallocating despite active transactions\n"); + trans_conn_closed(conn); + } if (!conn) { LOGP(DRLL, LOGL_ERROR, "Freeing NULL RAN connection\n"); -- To view, visit https://gerrit.osmocom.org/13152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 Gerrit-Change-Number: 13152 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 02:59:59 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 02:59:59 +0000 Subject: Change in osmo-msc[master]: gsm_04_11_gsup.c: drop unused conn lookup Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13153 Change subject: gsm_04_11_gsup.c: drop unused conn lookup ...................................................................... gsm_04_11_gsup.c: drop unused conn lookup An earlier code state used the conn to lookup the transaction, but this is now done by vsub. Hence the conn lookup is not used and not needed. conn is no longer used since 36c44b210059bd75059008913ad05976dfef7d7e, change-Id I093f36d63e671e50e54fc6236e97a777cc6da77b, "transaction: change arguments of trans_find_by_sm_rp_mr()" Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 0 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/13153/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 8b1225e..2ce3889 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -165,16 +165,6 @@ if (msg_is_err && !gsup_msg->sm_rp_cause) goto msg_error; - /* Attempt to find a DTAP-connection */ - conn = connection_for_subscr(vsub); - if (!conn) { - /* FIXME: should we establish it then? */ - LOGP(DLSMS, LOGL_NOTICE, "No connection found for %s, " - "ignoring %s-%s message...\n", vlr_subscr_name(vsub), - msg_name, msg_is_err ? "Err" : "Res"); - return -EIO; /* TODO: notify sender about that? */ - } - /* Attempt to find DTAP-transaction */ trans = trans_find_by_sm_rp_mr(net, vsub, *(gsup_msg->sm_rp_mr)); if (!trans) { -- To view, visit https://gerrit.osmocom.org/13153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce Gerrit-Change-Number: 13153 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 03:00:00 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 03:00:00 +0000 Subject: Change in osmo-msc[master]: SMS queue: properly log failed attempts number Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13154 Change subject: SMS queue: properly log failed attempts number ...................................................................... SMS queue: properly log failed attempts number Change-Id: I16f2d29855eb715eccbdc5def225f43c110fab8e --- M src/libmsc/sms_queue.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/54/13154/1 diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index c5d2fc2..c924dde 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -151,11 +151,12 @@ struct gsm_network *net = pending->vsub->vlr->user_ctx; struct gsm_sms_queue *smsq; + pending->failed_attempts++; LOGP(DLSMS, LOGL_NOTICE, "Sending SMS %llu failed %d times.\n", pending->sms_id, pending->failed_attempts); smsq = net->sms_queue; - if (++pending->failed_attempts < smsq->max_fail) + if (pending->failed_attempts < smsq->max_fail) return sms_pending_resend(pending); sms_pending_free(pending); -- To view, visit https://gerrit.osmocom.org/13154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I16f2d29855eb715eccbdc5def225f43c110fab8e Gerrit-Change-Number: 13154 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 03:18:12 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 03:18:12 +0000 Subject: Change in osmo-msc[master]: gsm_04_11_gsup.c: drop unused conn lookup In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13153 to look at the new patch set (#2). Change subject: gsm_04_11_gsup.c: drop unused conn lookup ...................................................................... gsm_04_11_gsup.c: drop unused conn lookup An earlier code state used the conn to lookup the transaction, but this is now done by vsub. Hence the conn lookup is not used and not needed. conn is no longer used since 36c44b210059bd75059008913ad05976dfef7d7e, change-Id I093f36d63e671e50e54fc6236e97a777cc6da77b, "transaction: change arguments of trans_find_by_sm_rp_mr()" Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 0 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/13153/2 -- To view, visit https://gerrit.osmocom.org/13153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce Gerrit-Change-Number: 13153 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:07:55 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Thu, 7 Mar 2019 10:07:55 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13042 to look at the new patch set (#5). Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... nitb_netreg_mass: Allow a suite to configure num subscriber Remove hardcoded configuration and replace it with a reservation in the suite. Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_gsm_tester/ms_osmo_mobile.py M src/osmo_gsm_tester/suite.py M src/osmo_ms_driver/__main__.py M src/osmo_ms_driver/location_update_test.py M src/osmo_ms_driver/starter.py M suites/nitb_netreg_mass/register_default_mass.py 7 files changed, 84 insertions(+), 69 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/13042/5 -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:07:55 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Thu, 7 Mar 2019 10:07:55 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13130 to look at the new patch set (#3). Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... nitb_netreg_mass: Add code to declare a run successful/failure Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_ms_driver/location_update_test.py M suites/nitb_netreg_mass/register_default_mass.py 3 files changed, 71 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/30/13130/3 -- To view, visit https://gerrit.osmocom.org/13130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 Gerrit-Change-Number: 13130 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:07:55 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Thu, 7 Mar 2019 10:07:55 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13131 to look at the new patch set (#3). Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... nitb_netreg_mass: Provide 100 subscribers Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b --- M example/resources.conf.virtual M suites/nitb_netreg_mass/suite.conf 2 files changed, 180 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/13131/3 -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:08:16 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Thu, 7 Mar 2019 10:08:16 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13131 ) Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/13131/1/example/resources.conf.virtual File example/resources.conf.virtual: https://gerrit.osmocom.org/#/c/13131/1/example/resources.conf.virtual at 262 PS1, Line 262: > Isn't this last one repeated? Indeed. -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 10:08:16 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:10:03 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Thu, 7 Mar 2019 10:10:03 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py File src/osmo_gsm_tester/ms_osmo_mobile.py: https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py at 33 PS4, Line 33: return "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" > Is this needed for later using imsi_ki_gen afaiu? I didn't understand if the schema/resource framework has default values. There is no imsi_ki_gen involved for running through the suite anymore. https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/suite.py File src/osmo_gsm_tester/suite.py: https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/suite.py at 347 PS4, Line 347: def all_resources(self, resource_func): > I precisely wanted to avoid having more functions by having the generic one, since suite. [?] Removed. -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 10:10:03 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:16:35 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:16:35 +0000 Subject: Change in osmo-msc[master]: SMS queue: properly log failed attempts number In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13154 ) Change subject: SMS queue: properly log failed attempts number ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I16f2d29855eb715eccbdc5def225f43c110fab8e Gerrit-Change-Number: 13154 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 07 Mar 2019 10:16:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:16:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:16:48 +0000 Subject: Change in osmo-mgw[master]: AMR: Add option to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/13082 ) Change subject: AMR: Add option to convert between bw-effient and octet aligned mode ...................................................................... Abandoned Since we are now aware of a better way to do this we can abandon this. -- To view, visit https://gerrit.osmocom.org/13082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: Id46a3622a6b1995d5fce4bc611d409bcb4aef13b Gerrit-Change-Number: 13082 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:17:27 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:17:27 +0000 Subject: Change in osmo-msc[master]: gsm_04_11_gsup.c: drop unused conn lookup In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13153 ) Change subject: gsm_04_11_gsup.c: drop unused conn lookup ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce Gerrit-Change-Number: 13153 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 07 Mar 2019 10:17:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:17:54 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:17:54 +0000 Subject: Change in libosmo-netif[master]: AMR: add functions to convert between bw-efficient and octet-aligned In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13049 to look at the new patch set (#6). Change subject: AMR: add functions to convert between bw-efficient and octet-aligned ...................................................................... AMR: add functions to convert between bw-efficient and octet-aligned RFC 3267 describes two different AMR frame formats. Octet Aligned and Bandwidth efficient mode. In Bandwith efficient mode the padding bits, which are used to align CMR, TOC and payload on octet boundaries are saved and the fielda are packed directly one after another. - Add functions to convert from one mode to the other and vice versa. - Add function to detect in which mode an AMR frame is encoded. Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Related: SYS#4470 --- M include/osmocom/netif/amr.h M src/amr.c M tests/Makefile.am A tests/amr/amr_test.c A tests/amr/amr_test.ok M tests/testsuite.at 6 files changed, 612 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/49/13049/6 -- To view, visit https://gerrit.osmocom.org/13049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Gerrit-Change-Number: 13049 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:18:40 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:18:40 +0000 Subject: Change in osmo-msc[master]: use only accepted ran_conns for new transactions In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13152 ) Change subject: use only accepted ran_conns for new transactions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 Gerrit-Change-Number: 13152 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 07 Mar 2019 10:18:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:23:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:23:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): log successful allocations In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13128 ) Change subject: TC_rach_content(): log successful allocations ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13128/1/bts/BTS_Tests.ttcn at 1012 PS1, Line 1012: log("[", i, "] CHAN RQD FN=", fn, " RA=", ra, " OK"); > I'd argue it's not handy having 1k lines of logs of correct case. I think it's handy and extra 2Kb of logs is hardly a big deal. > If it fails there it can provide more info about the issue I'd argue it's not handy having extra logs for issue which might or might not happen in future. -- To view, visit https://gerrit.osmocom.org/13128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Gerrit-Change-Number: 13128 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 10:23:08 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:34:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:34:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: cosmetic: correct typo in comment Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13155 Change subject: mgcp_sdp: cosmetic: correct typo in comment ...................................................................... mgcp_sdp: cosmetic: correct typo in comment Change-Id: I42aa9b5ce36df347cfb72be97e0f7a1898e6e8d0 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/55/13155/1 diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 4f66e85..85b8801 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -304,7 +304,7 @@ return 0; } -/* Add audio string to sdp payload */ +/* Add audio strings to sdp payload */ static int add_audio(struct msgb *sdp, int *payload_types, unsigned int payload_types_len, int local_port) { int rc; -- To view, visit https://gerrit.osmocom.org/13155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I42aa9b5ce36df347cfb72be97e0f7a1898e6e8d0 Gerrit-Change-Number: 13155 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:34:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:34:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: mgcp_sdp.c does not include own header file Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13156 Change subject: mgcp_sdp: mgcp_sdp.c does not include own header file ...................................................................... mgcp_sdp: mgcp_sdp.c does not include own header file The header file mgcp_sdp.h is not included by mgcp_sdp.c. Lets include it here as well in order to be complete. Change-Id: I3d9f28d6e7ca027b1be25d775a6a75d0fc491a50 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/56/13156/1 diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 85b8801..c84f32c 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -26,6 +26,7 @@ #include #include #include +#include #include -- To view, visit https://gerrit.osmocom.org/13156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3d9f28d6e7ca027b1be25d775a6a75d0fc491a50 Gerrit-Change-Number: 13156 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:34:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:34:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: untangle parsing of a= parameters Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13157 Change subject: mgcp_sdp: untangle parsing of a= parameters ...................................................................... mgcp_sdp: untangle parsing of a= parameters The if construct that takes care for parsing the a= parameters is unnecessary complex. Lets handle each of the possible parameters seperately on the same level. Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Related: OS#3807 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/57/13157/1 diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index c84f32c..46baa10 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -208,19 +208,22 @@ /* skip these SDP attributes */ break; case 'a': - if (sscanf(line, "a=rtpmap:%d %63s", - &payload, audio_name) == 2) { - codecs_update(tmp_ctx, codecs, - codecs_used, payload, audio_name); - } else - if (sscanf - (line, "a=ptime:%d-%d", &ptime, &ptime2) >= 1) { + if (sscanf(line, "a=rtpmap:%d %63s", &payload, audio_name) == 2) { + codecs_update(tmp_ctx, codecs, codecs_used, payload, audio_name); + break; + } + + else if (sscanf(line, "a=ptime:%d-%d", &ptime, &ptime2) >= 1) { if (ptime2 > 0 && ptime2 != ptime) rtp->packet_duration_ms = 0; else rtp->packet_duration_ms = ptime; - } else if (sscanf(line, "a=maxptime:%d", &ptime2) == 1) { + break; + } + + else if (sscanf(line, "a=maxptime:%d", &ptime2) == 1) { rtp->maximum_packet_time = ptime2; + break; } break; case 'm': -- To view, visit https://gerrit.osmocom.org/13157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Gerrit-Change-Number: 13157 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:34:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:34:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13158 Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... mgcp_network: use mgcp_rtp_codec in downlink format callback The callback function mgcp_get_format() is used to request the codec parameters for a specific connection. This function returns the parameters as idividual pointers. Since there is a struct that holds all important codec information among the ones which are currently returned by mgcp_get_format, lets just use this codec struct as single return value. Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Related: OS#3807 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_internal.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/58/13158/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 5886a65..35068c1 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -44,6 +44,7 @@ struct mgcp_config; struct mgcp_trunk_config; struct mgcp_rtp_end; +struct mgcp_conn_rtp; #define MGCP_ENDP_CRCX 1 #define MGCP_ENDP_DLCX 2 @@ -75,16 +76,15 @@ struct mgcp_rtp_end *dst_end, char *data, int *len, int buf_size); -struct mgcp_conn_rtp; - typedef int (*mgcp_processing_setup)(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn_dst, struct mgcp_conn_rtp *conn_src); +struct mgcp_rtp_codec; + typedef void (*mgcp_get_format)(struct mgcp_endpoint *endp, - int *payload_type, - const char**subtype_name, - const char**fmtp_extra, + const struct mgcp_rtp_codec **codec, + const char **fmtp_extra, struct mgcp_conn_rtp *conn); /** diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index a6239c2..35b535a 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -298,9 +298,8 @@ struct mgcp_conn_rtp *conn_src); void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, - int *payload_type, - const char**audio_name, - const char**fmtp_extra, + const struct mgcp_rtp_codec **codec, + const char **fmtp_extra, struct mgcp_conn_rtp *conn); /* internal RTP Annex A counting */ diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 30ed7fd..e4fd7c0 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -416,8 +416,7 @@ } void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, - int *payload_type, - const char **audio_name, + const struct mgcp_rtp_codec **codec, const char **fmtp_extra, struct mgcp_conn_rtp *conn) { @@ -425,8 +424,7 @@ "endpoint:0x%x conn:%s using format defaults\n", ENDPOINT_NUMBER(endp), mgcp_conn_dump(conn->conn)); - *payload_type = conn->end.codec->payload_type; - *audio_name = conn->end.codec->audio_name; + *codec = conn->end.codec; *fmtp_extra = conn->end.fmtp_extra; } diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 46baa10..f5b7bdd 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -344,6 +344,7 @@ const struct mgcp_conn_rtp *conn, struct msgb *sdp, const char *addr) { + const struct mgcp_rtp_codec *codec; const char *fmtp_extra; const char *audio_name; int payload_type; @@ -357,10 +358,12 @@ /* FIXME: constify endp and conn args in get_net_donwlink_format_cb() */ endp->cfg->get_net_downlink_format_cb((struct mgcp_endpoint *)endp, - &payload_type, &audio_name, - &fmtp_extra, + &codec, &fmtp_extra, (struct mgcp_conn_rtp *)conn); + audio_name = codec->audio_name; + payload_type = codec->payload_type; + rc = msgb_printf(sdp, "v=0\r\n" "o=- %s 23 IN IP4 %s\r\n" -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:34:45 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:34:45 +0000 Subject: Change in osmo-mgw[master]: AMR: Add function to convert between bw-effient and octet aligned mode Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13159 Change subject: AMR: Add function to convert between bw-effient and octet aligned mode ...................................................................... AMR: Add function to convert between bw-effient and octet aligned mode RFC3267 specifies two framing modes for AMR packets. An octet aligned mode is specified where all fields of the AMR packets are aligned to octet boundaries. The second framing mode is the bandwith efficient mode where the fields are directly packed one after another. - add paring/generation for related SDP fmtp parameters - add conversion function to convert AMR payload Depends: libosmo-netif I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Related: OS#3807 --- M include/osmocom/mgcp/mgcp_codec.h M include/osmocom/mgcp/mgcp_internal.h M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 8 files changed, 348 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/59/13159/1 diff --git a/include/osmocom/mgcp/mgcp_codec.h b/include/osmocom/mgcp/mgcp_codec.h index 334913b..2bbb86e 100644 --- a/include/osmocom/mgcp/mgcp_codec.h +++ b/include/osmocom/mgcp/mgcp_codec.h @@ -2,6 +2,6 @@ void mgcp_codec_summary(struct mgcp_conn_rtp *conn); void mgcp_codec_reset_all(struct mgcp_conn_rtp *conn); -int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name); +int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, struct mgcp_codec_param *param); int mgcp_codec_decide(struct mgcp_conn_rtp *conn); int mgcp_codec_pt_translate(struct mgcp_conn_rtp *conn_src, struct mgcp_conn_rtp *conn_dst, int payload_type); diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index 35b535a..0a95236 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -86,6 +86,11 @@ bool patched_first_rtp_payload; /* FIXME: drop this, see OS#2459 */ }; +struct mgcp_codec_param { + bool amr_octet_aligned_present; + bool amr_octet_aligned; +}; + struct mgcp_rtp_codec { uint32_t rate; int channels; @@ -95,6 +100,9 @@ int payload_type; char *audio_name; char *subtype_name; + + bool param_present; + struct mgcp_codec_param param; }; /* 'mgcp_rtp_end': basically a wrapper around the RTP+RTCP ports */ diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c index 55be554..933284d 100644 --- a/src/libosmo-mgcp/mgcp_codec.c +++ b/src/libosmo-mgcp/mgcp_codec.c @@ -100,8 +100,8 @@ } /* Set members of struct mgcp_rtp_codec, extrapolate in missing information */ -static int codec_set(void *ctx, struct mgcp_rtp_codec *codec, - int payload_type, const char *audio_name, unsigned int pt_offset) +static int codec_set(void *ctx, struct mgcp_rtp_codec *codec, int payload_type, const char *audio_name, + unsigned int pt_offset, struct mgcp_codec_param *param) { int rate; int channels; @@ -219,6 +219,13 @@ } } + /* Copy over optional codec parameters */ + if (param) { + codec->param = *param; + codec->param_present = true; + } else + codec->param_present = false; + return 0; error: /* Make sure we leave a clean codec entry on error. */ @@ -233,8 +240,9 @@ * \param[out] conn related rtp-connection. * \param[in] payload_type codec type id (e.g. 3 for GSM, -1 when undefined). * \param[in] audio_name audio codec name (e.g. "GSM/8000/1"). + * \param[in] param optional codec parameters (set to NULL when unused). * \returns 0 on success, -EINVAL on failure. */ -int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name) +int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, struct mgcp_codec_param *param) { int rc; @@ -244,7 +252,7 @@ return -EINVAL; rc = codec_set(conn->conn, &conn->end.codecs[conn->end.codecs_assigned], payload_type, audio_name, - conn->end.codecs_assigned); + conn->end.codecs_assigned, param); if (rc != 0) return -EINVAL; diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e4fd7c0..2c6c571 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -684,6 +685,86 @@ } } +/* For AMR RTP two framing modes are defined RFC3267. There is a bandwith + * efficient encoding scheme where all fields are packed together one after + * another and an octet aligned mode where all fields are aligned to octet + * boundaries. This function is used to convert between the two modes */ +static int amr_oa_bwe_convert(struct mgcp_endpoint *endp, char *data, int *len, + bool target_is_oa) +{ + /* NOTE: *data has an overall length of RTP_BUF_SIZE, so there is + * plenty of space available to store the slightly larger, converted + * data */ + + struct rtp_hdr *rtp_hdr; + unsigned int payload_len; + int rc; + + OSMO_ASSERT(*len >= sizeof(struct rtp_hdr)); + rtp_hdr = (struct rtp_hdr *)data; + + payload_len = *len - sizeof(struct rtp_hdr); + + if (osmo_amr_is_oa(rtp_hdr->data, payload_len)) { + if (!target_is_oa) + /* Input data is oa an target format is bwe + * ==> convert */ + rc = osmo_amr_oa_to_bwe(rtp_hdr->data, payload_len); + else + /* Input data is already bew, but we accept it anyway + * ==> no conversion needed */ + rc = payload_len; + } else { + if (target_is_oa) + /* Input data is bwe an target format is oa + * ==> convert */ + rc = osmo_amr_bwe_to_oa(rtp_hdr->data, payload_len, + RTP_BUF_SIZE); + else + /* Input data is already oa, but we accept it anyway + * ==> no conversion needed */ + rc = payload_len; + } + if (rc < 0) { + LOGP(DRTP, LOGL_ERROR, + "endpoint:0x%x AMR RTP packet conversion failed\n", + ENDPOINT_NUMBER(endp)); + return -EINVAL; + } + + *len = rc + sizeof(struct rtp_hdr); + + return 0; +} + +/* Check if a conversion between octet-aligned and bandwith-efficient mode is + * indicated. */ +static bool amr_oa_bwe_convert_indicated(struct mgcp_rtp_codec *codec) +{ + if (codec->param_present == false) + return false; + if (!codec->param.amr_octet_aligned_present) + return false; + if (strcmp(codec->subtype_name, "AMR") != 0) + return false; + return true; +} + + +/* Check if a given RTP with AMR payload for octet-aligned mode */ +static bool amr_oa_check(char *data, int len) +{ + struct rtp_hdr *rtp_hdr; + unsigned int payload_len; + + OSMO_ASSERT(len >= sizeof(struct rtp_hdr)); + rtp_hdr = (struct rtp_hdr *)data; + + payload_len = len - sizeof(struct rtp_hdr); + + return osmo_amr_is_oa(rtp_hdr->data, payload_len); +} + /* Forward data to a debug tap. This is debug function that is intended for * debugging the voice traffic with tools like gstreamer */ static void forward_data(int fd, struct mgcp_rtp_tap *tap, const char *buf, @@ -792,7 +873,11 @@ mgcp_patch_and_count(endp, rtp_state, rtp_end, addr, buf, buflen); - if (rtp_end->rfc5993_hr_convert + if (amr_oa_bwe_convert_indicated(conn_dst->end.codec)) { + amr_oa_bwe_convert(endp, buf, &buflen, + conn_dst->end.codec->param.amr_octet_aligned); + } + else if (rtp_end->rfc5993_hr_convert && strcmp(conn_src->end.codec->subtype_name, "GSM-HR-08") == 0) rfc5993_hr_convert(endp, buf, &buflen); @@ -1302,6 +1387,15 @@ len, conn_src, conn_src); } + /* If AMR is configured for the ingress connection a conversion of the + * framing mode (octet-aligned vs. bandwith-efficient is explicitly + * define, then we check if the incoming payload matches that + * expectation. */ + if (amr_oa_bwe_convert_indicated(conn_src->end.codec)) { + if (amr_oa_check(buf, len) != conn_src->end.codec->param.amr_octet_aligned) + return -1; + } + /* Execute endpoint specific implementation that handles the * dispatching of the RTP data */ return endp->type->dispatch_rtp_cb(proto, &addr, buf, len, diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 82db02f..4121b9f 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -724,7 +724,7 @@ /* When no SDP is available, we use the codec information from * the local connection options (if present) */ mgcp_codec_reset_all(conn); - rc = mgcp_codec_add(conn, PTYPE_UNDEFINED, endp->local_options.codec); + rc = mgcp_codec_add(conn, PTYPE_UNDEFINED, endp->local_options.codec, NULL); if (rc != 0) goto error; } @@ -735,7 +735,7 @@ * than it makes sense to pick a sane default: (payload-type 0, * PCMU), see also: OS#2658 */ mgcp_codec_reset_all(conn); - rc = mgcp_codec_add(conn, 0, NULL); + rc = mgcp_codec_add(conn, 0, NULL, NULL); if (rc != 0) goto error; } diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index f5b7bdd..1f8742a 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -30,9 +30,9 @@ #include -/* A struct to store intermediate parsing results. The function - * mgcp_parse_sdp_data() is using it as temporary storage for parsing the SDP - * codec information. */ +/* Two structs to store intermediate parsing results. The function + * mgcp_parse_sdp_data() is using the following two structs as temporary + * storage for parsing the SDP codec information. */ struct sdp_rtp_map { /* the type */ int payload_type; @@ -44,6 +44,11 @@ int rate; int channels; }; +struct sdp_fmtp_param { + int payload_type; + struct mgcp_codec_param param; +}; + /* Helper function to extrapolate missing codec parameters in a codec mao from * an already filled in payload_type, called from: mgcp_parse_sdp_data() */ @@ -168,6 +173,92 @@ return -EINVAL; } +/* Extract fmtp parameters from SDP, called from: mgcp_parse_sdp_data() */ +static int fmtp_from_sdp(void *ctx, struct sdp_fmtp_param *fmtp_param, char *sdp) +{ + char *str; + char *str_ptr; + char *param_str; + unsigned int pt; + unsigned int count = 0; + char delimiter; + unsigned int amr_octet_aligned; + + memset(fmtp_param, 0, sizeof(*fmtp_param)); + + str = talloc_zero_size(ctx, strlen(sdp) + 1); + str_ptr = str; + strcpy(str_ptr, sdp); + + /* Check if the input string begins with an fmtp token */ + str_ptr = strstr(str_ptr, "fmtp:"); + if (!str_ptr) + goto exit; + str_ptr += 5; + + /* Extract payload type */ + if (sscanf(str_ptr, "%u ", &pt) != 1) + goto error; + fmtp_param->payload_type = pt; + + /* Advance pointer to the beginning of the parameter section and + * tokenize string */ + str_ptr = strstr(str_ptr, " "); + if (!str_ptr) + goto error; + str_ptr++; + + param_str = strtok(str_ptr, " "); + if (!param_str) + goto exit; + + while (1) { + /* Make sure that we don't get trapped in an endless loop */ + if (count > 256) + goto error; + + /* Chop off delimiters ';' at the end */ + delimiter = str_ptr[strlen(str_ptr) - 1]; + if (delimiter == ';' || delimiter == ',') + str_ptr[strlen(str_ptr) - 1] = '\0'; + + /* AMR octet aligned parameter */ + if (sscanf(param_str, "octet-align=%d", &amr_octet_aligned) == 1) { + fmtp_param->param.amr_octet_aligned_present = true; + fmtp_param->param.amr_octet_aligned = false; + if (amr_octet_aligned == 1) + fmtp_param->param.amr_octet_aligned = true; + + } + + param_str = strtok(NULL, " "); + if (!param_str) + break; + count++; + } + +exit: + talloc_free(str); + return 0; +error: + talloc_free(str); + return -EINVAL; +} + +/* Pick optional fmtp parameters by payload type, if there are no fmtp + * parameters, a nullpointer is returned */ +static struct mgcp_codec_param *param_by_pt(int pt, struct sdp_fmtp_param *fmtp_params, unsigned int fmtp_params_len) +{ + unsigned int i; + + for (i = 0; i < fmtp_params_len; i++) { + if (fmtp_params[i].payload_type == pt) + return &fmtp_params[i].param; + } + + return NULL; +} + /*! Analyze SDP input string. * \param[in] endp trunk endpoint. * \param[out] conn associated rtp connection. @@ -181,6 +272,9 @@ { struct sdp_rtp_map codecs[MGCP_MAX_CODECS]; unsigned int codecs_used = 0; + struct sdp_fmtp_param fmtp_params[MGCP_MAX_CODECS]; + unsigned int fmtp_used = 0; + struct mgcp_codec_param *codec_param; char *line; unsigned int i; void *tmp_ctx = talloc_new(NULL); @@ -225,6 +319,14 @@ rtp->maximum_packet_time = ptime2; break; } + + else if (strncmp("a=fmtp:", line, 6) == 0) { + rc = fmtp_from_sdp(conn->conn, &fmtp_params[fmtp_used], line); + if (rc >= 0) + fmtp_used++; + break; + } + break; case 'm': rc = sscanf(line, "m=audio %d RTP/AVP", &port); @@ -266,7 +368,8 @@ /* Store parsed codec information */ for (i = 0; i < codecs_used; i++) { - rc = mgcp_codec_add(conn, codecs[i].payload_type, codecs[i].map_line); + codec_param = param_by_pt(codecs[i].payload_type, fmtp_params, fmtp_used); + rc = mgcp_codec_add(conn, codecs[i].payload_type, codecs[i].map_line, codec_param); if (rc < 0) LOGP(DLMGCP, LOGL_NOTICE, "endpoint:0x%x, failed to add codec\n", ENDPOINT_NUMBER(p->endp)); } @@ -334,6 +437,64 @@ return 0; } +/* Add fmtp strings to sdp payload */ +static int add_fmtp(struct msgb *sdp, struct sdp_fmtp_param *fmtp_params, unsigned int fmtp_params_len, + const char *fmtp_extra) +{ + unsigned int i; + int rc; + int fmtp_extra_pt = -1; + char *fmtp_extra_pars = ""; + + /* When no fmtp parameters ara available but an fmtp extra string + * is configured, just add the fmtp extra string */ + if (fmtp_params_len == 0 && fmtp_extra) { + return msgb_printf(sdp, "%s\r\n", fmtp_extra); + } + + /* When there is fmtp extra configured we dissect it in order to drop + * in the configured extra parameters at the right place when + * generating the fmtp strings. */ + if (fmtp_extra) { + if (sscanf(fmtp_extra, "a=fmtp:%d ", &fmtp_extra_pt) != 1) + fmtp_extra_pt = -1; + + fmtp_extra_pars = strstr(fmtp_extra, " "); + + if (!fmtp_extra_pars) + fmtp_extra_pars = ""; + else + fmtp_extra_pars++; + } + + for (i = 0; i < fmtp_params_len; i++) { + rc = msgb_printf(sdp, "a=fmtp:%u", fmtp_params[i].payload_type); + + /* Add amr octet align parameter */ + if (fmtp_params[i].param.amr_octet_aligned_present) { + if (fmtp_params[i].param.amr_octet_aligned) + rc = msgb_printf(sdp, " octet-align=1"); + else + rc = msgb_printf(sdp, " octet-align=0"); + if (rc < 0) + return -EINVAL; + } + + /* Append extra parameters from fmtp extra */ + if (fmtp_params[i].payload_type == fmtp_extra_pt) { + rc = msgb_printf(sdp, " %s", fmtp_extra_pars); + if (rc < 0) + return -EINVAL; + } + + rc = msgb_printf(sdp, "\r\n", fmtp_params[i].payload_type); + if (rc < 0) + return -EINVAL; + } + + return 0; +} + /*! Generate SDP response string. * \param[in] endp trunk endpoint. * \param[in] conn associated rtp connection. @@ -348,8 +509,11 @@ const char *fmtp_extra; const char *audio_name; int payload_type; + struct sdp_fmtp_param fmtp_param; int rc; int payload_types[1]; + struct sdp_fmtp_param fmtp_params[1]; + unsigned int fmtp_params_len = 0; OSMO_ASSERT(endp); OSMO_ASSERT(conn); @@ -387,12 +551,15 @@ goto buffer_too_small; } - if (fmtp_extra) { - rc = msgb_printf(sdp, "%s\r\n", fmtp_extra); - - if (rc < 0) - goto buffer_too_small; + if (codec->param_present) { + fmtp_param.payload_type = payload_type; + fmtp_param.param = codec->param; + fmtp_params[0] = fmtp_param; + fmtp_params_len = 1; } + rc = add_fmtp(sdp, fmtp_params, fmtp_params_len, fmtp_extra); + if (rc < 0) + goto buffer_too_small; } if (conn->end.packet_duration_ms > 0 && endp->tcfg->audio_send_ptime) { rc = msgb_printf(sdp, "a=ptime:%u\r\n", diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 78ddcdc..be45598 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -467,6 +467,34 @@ "M: recvonly\r\n" \ "C: 2\r\n" +#define CRCX_AMR_WITH_FMTP \ + "CRCX 2 7 at mgw MGCP 1.0\r\n" \ + "M: recvonly\r\n" \ + "C: 2\r\n" \ + "X\r\n" \ + "L: p:20\r\n" \ + "\r\n" \ + "v=0\r\n" \ + "c=IN IP4 123.12.12.123\r\n" \ + "m=audio 5904 RTP/AVP 111\r\n" \ + "a=rtpmap:111 AMR/8000/1\r\n" \ + "a=ptime:20\r\n" \ + "a=fmtp:111 mode-change-capability=2; octet-align=1\r\n" \ + +#define CRCX_AMR_WITH_FMTP_RET \ + "200 2 OK\r\n" \ + "I: %s\r\n" \ + "\r\n" \ + "v=0\r\n" \ + "o=- %s 23 IN IP4 0.0.0.0\r\n" \ + "s=-\r\n" \ + "c=IN IP4 0.0.0.0\r\n" \ + "t=0 0\r\n" \ + "m=audio 16012 RTP/AVP 111\r\n" \ + "a=rtpmap:111 AMR/8000/1\r\n" \ + "a=fmtp:111 octet-align=1\r\n" \ + "a=ptime:20\r\n" + #define CRCX_NO_LCO_NO_SDP_RET \ "200 2 OK\r\n" \ "I: %s\r\n" \ @@ -517,6 +545,7 @@ {"CRCX", CRCX_NO_LCO_NO_SDP, CRCX_NO_LCO_NO_SDP_RET, 97}, {"CRCX", CRCX_X_OSMO_IGN, CRCX_X_OSMO_IGN_RET, 97}, {"MDCX_TOO_LONG_CI", MDCX_TOO_LONG_CI, MDCX_TOO_LONG_CI_RET}, + {"CRCX", CRCX_AMR_WITH_FMTP, CRCX_AMR_WITH_FMTP_RET}, }; static const struct mgcp_test retransmit[] = { @@ -1246,7 +1275,7 @@ rtp = &conn->end; - OSMO_ASSERT(mgcp_codec_add(conn, PTYPE_UNDEFINED, "AMR/8000/1") == 0); + OSMO_ASSERT(mgcp_codec_add(conn, PTYPE_UNDEFINED, "AMR/8000/1", NULL) == 0); rtp->codec = &rtp->codecs[0]; for (i = 0; i < ARRAY_SIZE(test_rtp_packets1); ++i) { diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 28e9aad..d21eaa1 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -459,6 +459,30 @@ Testing CRCX creating message from statically defined input: ---------8<--------- +CRCX 2 7 at mgw MGCP 1.0 +M: recvonly +C: 2 +X +L: p:20 + +v=0 +c=IN IP4 123.12.12.123 +m=audio 5904 RTP/AVP 111 +a=rtpmap:111 AMR/8000/1 +a=ptime:20 +a=fmtp:111 mode-change-capability=2; octet-align=1 + +---------8<--------- +checking response: +using message with patched conn_id for comparison +Response matches our expectations. +(response contains a connection id) +Dummy packets: 2 + +================================================ +Testing CRCX +creating message from statically defined input: +---------8<--------- CRCX 2 1 at mgw MGCP 1.0 M: recvonly C: 2 -- To view, visit https://gerrit.osmocom.org/13159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Gerrit-Change-Number: 13159 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:37:05 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:37:05 +0000 Subject: Change in libosmo-netif[master]: AMR: add functions to convert between bw-efficient and octet-aligned In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13049 ) Change subject: AMR: add functions to convert between bw-efficient and octet-aligned ...................................................................... Patch Set 6: (1 comment) > Test failure might or might not be related to https://osmocom.org/issues/3812 > - simply re-triggering the test fixed it for me. Unfortunately I > haven't found a way to reproduce this reliably locally. Thanks for the notice, I have realized that there was a buffer overrun in the code, probably that was the issue. I have fixed that now. https://gerrit.osmocom.org/#/c/13049/3/src/amr.c File src/amr.c: https://gerrit.osmocom.org/#/c/13049/3/src/amr.c at 68 PS3, Line 68: /*! Check if an AMR frame is octet aligned by looking at the padding bits. > those ar enwe public API functions, so they should have doxygen-style API documentation, even if old [?] Done -- To view, visit https://gerrit.osmocom.org/13049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Gerrit-Change-Number: 13049 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 10:37:05 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:40:21 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:40:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: allow setting of fmtp parameters Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13160 Change subject: MGCP_Test: allow setting of fmtp parameters ...................................................................... MGCP_Test: allow setting of fmtp parameters When creating an RTP flow, there is currently no way to set SDP fmtp parameters. Lets add a template and a parameter in order to be able to set those parameters. Change-Id: Ic1840d5023cb3888a17980f4ed08c19175864896 Related: SYS#4470 --- M library/MGCP_Templates.ttcn M mgw/MGCP_Test.ttcn 2 files changed, 22 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/13160/1 diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn index afdc33d..f720553 100644 --- a/library/MGCP_Templates.ttcn +++ b/library/MGCP_Templates.ttcn @@ -280,6 +280,11 @@ attr_value := int2str(p) } } + template SDP_attribute ts_SDP_fmtp(integer fmt, charstring val) := { + fmtp := { + attr_value := int2str(fmt) & " " & val + } + } function f_mgcp_extract_par(MgcpMessage msg, MgcpInfoCode code) return charstring { var MgcpParameterList pars; diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 4969a3f..a0a836b 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -268,7 +268,8 @@ uint7_t pt, charstring codec, MgcpConnectionId mgcp_conn_id optional, - RtpemConfig rtp_cfg optional + RtpemConfig rtp_cfg optional, + charstring fmtp optional } /* Create an RTP flow (bidirectional, or receive-only) */ @@ -277,6 +278,12 @@ runs on dummy_CT { var template MgcpCommand cmd; var MgcpResponse resp; + var SDP_attribute_list attributes; + + attributes := { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), valueof(ts_SDP_ptime(20)) }; + if (isvalue(flow.fmtp)) { + attributes := attributes & { valueof(ts_SDP_fmtp(flow.pt, flow.fmtp)) }; + } /* bind local RTP emulation socket */ f_rtpem_bind(pt, flow.em.hostname, flow.em.portnr); @@ -298,9 +305,8 @@ cmd := ts_CRCX(get_next_trans_id(), ep, mode, call_id); cmd.sdp := ts_SDP(flow.em.hostname, flow.em.hostname, "23", "42", - flow.em.portnr, { int2str(flow.pt) }, - { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), - valueof(ts_SDP_ptime(20)) }); + flow.em.portnr, { int2str(flow.pt) }, attributes); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); flow.mgcp_conn_id := extract_conn_id(resp); /* extract port number from response */ @@ -329,6 +335,12 @@ runs on dummy_CT { var template MgcpCommand cmd; var MgcpResponse resp; + var SDP_attribute_list attributes; + + attributes := { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), valueof(ts_SDP_ptime(20)) }; + if (isvalue(flow.fmtp)) { + attributes := attributes & { valueof(ts_SDP_fmtp(flow.pt, flow.fmtp)) }; + } /* rebind local RTP emulation socket to the new address */ f_rtpem_bind(pt, flow.em.hostname, flow.em.portnr); @@ -345,9 +357,7 @@ /* connect MGW side RTP socket to the emulation-side RTP socket using SDP */ cmd := ts_MDCX(get_next_trans_id(), ep, mode, call_id, flow.mgcp_conn_id); cmd.sdp := ts_SDP(flow.em.hostname, flow.em.hostname, "23", "42", - flow.em.portnr, { int2str(flow.pt) }, - { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), - valueof(ts_SDP_ptime(20)) }); + flow.em.portnr, { int2str(flow.pt) }, attributes); resp := mgcp_transceive_mgw(cmd, tr_MDCX_ACK); /* extract MGW-side port number from response. (usually this -- To view, visit https://gerrit.osmocom.org/13160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic1840d5023cb3888a17980f4ed08c19175864896 Gerrit-Change-Number: 13160 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:40:21 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 10:40:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13161 Change subject: MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion ...................................................................... MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion osmo-mgw now implements a conversion between the AMR octet-aligned and banwith-efficient payload format. Lets add tests for this Change-Id: I050bfeabfb5fdbf986d429eef3af69fe8158d56e depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba related: SYS#4470 --- M mgw/MGCP_Test.ttcn M mgw/expected-results.xml 2 files changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/13161/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index a0a836b..467ebfc 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1380,6 +1380,67 @@ setverdict(pass); } + /* create two local RTP emulations; create two connections on MGW EP, see if + * exchanged data is converted between AMR octet-aligned and bandwith + * efficient-mode */ + function f_TC_amr_x_x_rtp_conversion(octetstring pl0, octetstring pl1, charstring fmtp0, charstring fmtp1) runs on dummy_CT { + var RtpFlowData flow[2]; + var RtpemStats stats[2]; + var MgcpResponse resp; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "2@" & c_mgw_domain; + var MgcpCallId call_id := '1226'H; + + f_init(ep); + + /* from us to MGW */ + flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); + /* bind local RTP emulation sockets */ + flow[0].em.portnr := 10000; + flow[0].rtp_cfg := c_RtpemDefaultCfg; + flow[0].rtp_cfg.tx_payload_type := flow[0].pt; + flow[0].rtp_cfg.rx_fixed_payload := pl0; + flow[0].rtp_cfg.tx_fixed_payload := pl0; + flow[0].fmtp := fmtp0; + f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); + + /* from MGW back to us */ + flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); + flow[1].em.portnr := 20000; + flow[1].rtp_cfg := c_RtpemDefaultCfg; + flow[1].rtp_cfg.tx_payload_type := flow[1].pt; + flow[1].rtp_cfg.rx_fixed_payload := pl1; + flow[1].rtp_cfg.tx_fixed_payload := pl1; + flow[1].fmtp := fmtp1; + f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); + + f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + + f_sleep(1.0); + + f_flow_delete(RTPEM[0]); + f_flow_delete(RTPEM[1], ep, call_id); + + stats[0] := f_rtpem_stats_get(RTPEM[0]); + stats[1] := f_rtpem_stats_get(RTPEM[1]); + + f_rtpem_stats_err_check(stats[0]); + f_rtpem_stats_err_check(stats[1]); + + setverdict(pass); + } + + testcase TC_amr_oa_bwe_rtp_conversion() runs on dummy_CT { + f_TC_amr_x_x_rtp_conversion('100c4e9ba850e30d5d53d04de41e7c'O, '10d3a6ea1438c35754f41379079f'O, "octet-align=1", "octet-align=0"); + } + + testcase TC_amr_oa_oa_rtp_conversion() runs on dummy_CT { + f_TC_amr_x_x_rtp_conversion('100c4e9ba850e30d5d53d04de41e7c'O, '100c4e9ba850e30d5d53d04de41e7c'O, "octet-align=1", "octet-align=1"); + } + + testcase TC_amr_bwe_bwe_rtp_conversion() runs on dummy_CT { + f_TC_amr_x_x_rtp_conversion('10d3a6ea1438c35754f41379079f'O, '10d3a6ea1438c35754f41379079f'O, "octet-align=0", "octet-align=0"); + } /* TODO: Double-DLCX (no retransmission) */ @@ -1432,5 +1493,8 @@ execute(TC_two_crcx_and_unsolicited_rtp()); execute(TC_two_crcx_and_one_mdcx_rtp_ho()); execute(TC_ts101318_rfc5993_rtp_conversion()); + execute(TC_amr_oa_bwe_rtp_conversion()); + execute(TC_amr_oa_oa_rtp_conversion()); + execute(TC_amr_bwe_bwe_rtp_conversion()); } } diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index f5bc1a0..5c520c5 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -38,4 +38,7 @@ + + + -- To view, visit https://gerrit.osmocom.org/13161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I050bfeabfb5fdbf986d429eef3af69fe8158d56e Gerrit-Change-Number: 13161 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:51:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:51:08 +0000 Subject: Change in osmo-pcu[master]: Log (M)CS UL update errors Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13162 Change subject: Log (M)CS UL update errors ...................................................................... Log (M)CS UL update errors Previously some of the errors in update_cs_ul() call were silently ignored. Let's log all those as errors with appropriate message. Note: test output needs updating because we do not (yet) set proper meas struct in TBF tests. That's likely wrong but it's better to update tests in a separate commit. Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e --- M src/gprs_ms.cpp M tests/tbf/TbfTest.err 2 files changed, 30 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/62/13162/1 diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 87a35d1..8855053 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -633,11 +633,19 @@ OSMO_ASSERT(current_cs_num > 0); - if (!m_current_cs_ul) + if (!m_current_cs_ul) { + LOGP(DRLCMACMEAS, LOGL_ERROR, + "Unable to update UL (M)CS because it's not set: %s\n", + m_current_cs_ul.name()); return; + } - if (!meas->have_link_qual) + if (!meas->have_link_qual) { + LOGP(DRLCMACMEAS, LOGL_ERROR, + "Unable to update UL (M)CS %s because we don't have link quality measurements.\n", + m_current_cs_ul.name()); return; + } old_link_qual = meas->link_qual; @@ -652,6 +660,9 @@ low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; high = bts_data->mcs_lqual_ranges[current_cs_num-1].high; } else { + LOGP(DRLCMACMEAS, LOGL_ERROR, + "Unable to update UL (M)CS because it's neither GPRS nor EDGE: %s\n", + m_current_cs_ul.name()); return; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e788ccc..355ec69 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1453,6 +1453,7 @@ - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1528,6 +1529,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1542,6 +1544,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1608,6 +1611,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1622,6 +1626,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1738,6 +1743,7 @@ Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ @@ -1753,6 +1759,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1803,6 +1810,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1817,6 +1825,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1894,6 +1903,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1929,6 +1939,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1970,6 +1981,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1984,6 +1996,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2054,6 +2067,7 @@ - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2116,6 +2130,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2130,6 +2145,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2793,6 +2809,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ -- To view, visit https://gerrit.osmocom.org/13162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e Gerrit-Change-Number: 13162 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:54:37 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:54:37 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13163 Change subject: MCS: move Mode enum outside of class definition ...................................................................... MCS: move Mode enum outside of class definition Move Mode (EDGE/GPRS) definition and related functions outside of GprsCodingScheme class. This allows us to use standard libosmocore value_sting functions. Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_vty_functions.cpp M src/tbf.cpp M tests/edge/EdgeTest.cpp 9 files changed, 50 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/63/13163/1 diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 9310c53..9e9df6f 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -81,3 +81,14 @@ { return hdr_type_info[ht].data_block_header_bits; } + +const struct value_string mode_names[] = { + { GPRS, "GPRS" }, + { EGPRS_GMSK, "EGPRS_GMSK-only"}, + { EGPRS, "EGPRS"}, + { 0, NULL } +}; + +const char *mode_name(enum Mode val) { + return get_value_string(mode_names, val); +} diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 12c832b..2f56aec 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -49,3 +49,11 @@ uint8_t numDataHeaderBitsUL(enum HeaderType ht); uint8_t numDataHeaderBitsDL(enum HeaderType ht); uint8_t numDataBlockHeaderBits(enum HeaderType ht); + +enum Mode { + GPRS, + EGPRS_GMSK, + EGPRS, +}; + +const char *mode_name(enum Mode val); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index 53b3b07..e94b4d8 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -198,7 +198,7 @@ return mcs_info[m_scheme].data_hdr; } -void GprsCodingScheme::inc(Mode mode) +void GprsCodingScheme::inc(enum Mode mode) { if (!isCompatible(mode)) /* This should not happen. TODO: Use assert? */ @@ -212,7 +212,7 @@ m_scheme = new_cs; } -void GprsCodingScheme::dec(Mode mode) +void GprsCodingScheme::dec(enum Mode mode) { if (!isCompatible(mode)) /* This should not happen. TODO: Use assert? */ @@ -254,16 +254,6 @@ m_scheme = CodingScheme(m_scheme - 1); } -const char *GprsCodingScheme::modeName(Mode mode) -{ - switch (mode) { - case GPRS: return "GPRS"; - case EGPRS_GMSK: return "EGPRS_GMSK-only"; - case EGPRS: return "EGPRS"; - default: return "???"; - } -} - bool GprsCodingScheme::isFamilyCompatible(GprsCodingScheme o) const { if (*this == o) diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 055c166..b65bf01 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -34,12 +34,6 @@ #define EGPRS_ARQ1 0x0 #define EGPRS_ARQ2 0x1 - enum Mode { - GPRS, - EGPRS_GMSK, - EGPRS, - }; - GprsCodingScheme(CodingScheme s = UNKNOWN); operator bool() const {return m_scheme != UNKNOWN;} @@ -54,12 +48,12 @@ bool isGprs() const {return CS1 <= m_scheme && m_scheme <= CS4;} bool isEgprs() const {return m_scheme >= MCS1;} bool isEgprsGmsk() const {return isEgprs() && m_scheme <= MCS4;} - bool isCompatible(Mode mode) const; + bool isCompatible(enum Mode mode) const; bool isCompatible(GprsCodingScheme o) const; bool isFamilyCompatible(GprsCodingScheme o) const; - void inc(Mode mode); - void dec(Mode mode); + void inc(enum Mode mode); + void dec(enum Mode mode); void inc(); void dec(); void decToSingleBlock(bool *needStuffing); @@ -81,7 +75,6 @@ static GprsCodingScheme getGprsByNum(unsigned num); static GprsCodingScheme getEgprsByNum(unsigned num); - static const char *modeName(Mode mode); static CodingScheme get_retx_mcs(const GprsCodingScheme mcs, const GprsCodingScheme retx_mcs, const unsigned arq_type); @@ -102,7 +95,7 @@ return 0; } -inline bool GprsCodingScheme::isCompatible(Mode mode) const +inline bool GprsCodingScheme::isCompatible(enum Mode mode) const { switch (mode) { case GPRS: return isGprs(); diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index a61d849..816596b 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -110,7 +110,7 @@ m_reserved_ul_slots(0), m_current_trx(NULL), m_codel_state(NULL), - m_mode(GprsCodingScheme::GPRS), + m_mode(GPRS), m_dl_ctrl_msg(0) { int codel_interval = LLC_CODEL_USE_DEFAULT; @@ -213,7 +213,7 @@ unref(); } -void GprsMs::set_mode(GprsCodingScheme::Mode mode) +void GprsMs::set_mode(enum Mode mode) { m_mode = mode; @@ -221,7 +221,7 @@ return; switch (m_mode) { - case GprsCodingScheme::GPRS: + case GPRS: if (!m_current_cs_ul.isGprs()) { m_current_cs_ul = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_ul); @@ -236,8 +236,8 @@ } break; - case GprsCodingScheme::EGPRS_GMSK: - case GprsCodingScheme::EGPRS: + case EGPRS_GMSK: + case EGPRS: if (!m_current_cs_ul.isEgprs()) { m_current_cs_ul = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_ul); diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 0a9efb8..25fd4d5 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -74,8 +74,8 @@ bool check_tlli(uint32_t tlli); void reset(); - GprsCodingScheme::Mode mode() const; - void set_mode(GprsCodingScheme::Mode mode); + enum Mode mode() const; + void set_mode(enum Mode mode); const char *imsi() const; void set_imsi(const char *imsi); @@ -181,7 +181,7 @@ gprs_rlcmac_trx *m_current_trx; struct gprs_codel *m_codel_state; - GprsCodingScheme::Mode m_mode; + enum Mode m_mode; unsigned m_dl_ctrl_msg; }; @@ -237,7 +237,7 @@ return m_current_cs_ul; } -inline GprsCodingScheme::Mode GprsMs::mode() const +inline enum Mode GprsMs::mode() const { return m_mode; } diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 47a0559..c93935d 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -79,7 +79,7 @@ ul_tbf->window_size(), win->v_q(), win->v_r()); vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, " TBF Statistics:%s", VTY_NEWLINE); - if(GprsCodingScheme::GPRS == tbf->ms()->mode()) { + if(GPRS == tbf->ms()->mode()) { vty_out_rate_ctr_group(vty, " ", ul_tbf->m_ul_gprs_ctrs); } else { vty_out_rate_ctr_group(vty, " ", ul_tbf->m_ul_egprs_ctrs); @@ -92,7 +92,7 @@ win->window_stalled() ? " STALLED" : ""); vty_out(vty, "%s", VTY_NEWLINE); vty_out_rate_ctr_group(vty, " ", tbf->m_ctrs); - if(GprsCodingScheme::GPRS == tbf->ms()->mode()) { + if(GPRS == tbf->ms()->mode()) { vty_out_rate_ctr_group(vty, " ", dl_tbf->m_dl_gprs_ctrs); } else { vty_out_rate_ctr_group(vty, " ", dl_tbf->m_dl_egprs_ctrs); @@ -153,8 +153,7 @@ VTY_NEWLINE); vty_out(vty, " Coding scheme downlink: %s%s", mcs_name(ms->current_cs_dl()), VTY_NEWLINE); - vty_out(vty, " Mode: %s%s", - GprsCodingScheme::modeName(ms->mode()), VTY_NEWLINE); + vty_out(vty, " Mode: %s%s", mode_name(ms->mode()), VTY_NEWLINE); vty_out(vty, " MS class: %d%s", ms->ms_class(), VTY_NEWLINE); vty_out(vty, " EGPRS MS class: %d%s", ms->egprs_ms_class(), VTY_NEWLINE); vty_out(vty, " PACCH: "); diff --git a/src/tbf.cpp b/src/tbf.cpp index ffe8b82..3d9b5c4 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -897,7 +897,7 @@ bts = tbf->bts->bts_data(); - if (ms->mode() == GprsCodingScheme::EGPRS) + if (ms->mode() == EGPRS) ms_class = egprs_ms_class; tbf->m_created_ts = time(NULL); @@ -954,11 +954,11 @@ { if (GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul).isEgprsGmsk() && GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl).isEgprsGmsk() && - ms->mode() != GprsCodingScheme::EGPRS) + ms->mode() != EGPRS) { - ms->set_mode(GprsCodingScheme::EGPRS_GMSK); + ms->set_mode(EGPRS_GMSK); } else { - ms->set_mode(GprsCodingScheme::EGPRS); + ms->set_mode(EGPRS); } } @@ -992,8 +992,7 @@ if (egprs_ms_class > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); - LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", - GprsCodingScheme::modeName(ms->mode())); + LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot); @@ -1085,8 +1084,7 @@ if (egprs_ms_class > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); - LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", - GprsCodingScheme::modeName(ms->mode())); + LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot); diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index e9ebad9..7b301c9 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -48,7 +48,7 @@ int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; -static void check_coding_scheme(GprsCodingScheme& cs, GprsCodingScheme::Mode mode) +static void check_coding_scheme(GprsCodingScheme& cs, enum Mode mode) { volatile unsigned expected_size; bool need_padding; @@ -148,9 +148,9 @@ OSMO_ASSERT(!cs); OSMO_ASSERT(CodingScheme(cs) == UNKNOWN); OSMO_ASSERT(cs == GprsCodingScheme(UNKNOWN)); - OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::GPRS)); - OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS_GMSK)); - OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS)); + OSMO_ASSERT(!cs.isCompatible(GPRS)); + OSMO_ASSERT(!cs.isCompatible(EGPRS_GMSK)); + OSMO_ASSERT(!cs.isCompatible(EGPRS)); last_size_UL = 0; last_size_DL = 0; @@ -170,7 +170,7 @@ /* Check header types */ OSMO_ASSERT(current_cs.headerTypeData() == HEADER_GPRS_DATA); - check_coding_scheme(current_cs, GprsCodingScheme::GPRS); + check_coding_scheme(current_cs, GPRS); } OSMO_ASSERT(i == 4); @@ -190,8 +190,8 @@ last_size_DL = current_cs.maxBytesDL(); if (egprs_schemes[i].is_gmsk) - check_coding_scheme(current_cs, GprsCodingScheme::EGPRS_GMSK); - check_coding_scheme(current_cs, GprsCodingScheme::EGPRS); + check_coding_scheme(current_cs, EGPRS_GMSK); + check_coding_scheme(current_cs, EGPRS); } OSMO_ASSERT(i == 9); -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 10:54:38 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 10:54:38 +0000 Subject: Change in osmo-pcu[master]: Add test for MS mode and (M)CS settings Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13164 Change subject: Add test for MS mode and (M)CS settings ...................................................................... Add test for MS mode and (M)CS settings Right now set_mode() on GprsMs behaves in pretty counter-intuitive way: * it's possible to set current DL MCS higher than max value * EGPRS and EGPRS_GMSK have the same max DL MCS * setting EGPRS* mode drops current/max MCS values to unknown Let's capture this in a unit-test before attempting any further modifications. Change-Id: Ibf917f4b49d927a21cbd467775806fa6ea06a6a6 --- M tests/ms/MsTest.cpp M tests/ms/MsTest.err M tests/ms/MsTest.ok 3 files changed, 88 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/64/13164/1 diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 728daf6..78a931b 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -515,6 +515,74 @@ printf("=== end %s ===\n", __func__); } +static void dump_ms(const GprsMs *ms, const char *pref) +{ + printf("%s MS DL %s/%s, UL %s/%s, mode %s, <%s>\n", pref, + mcs_name(ms->current_cs_dl()), mcs_name(ms->max_cs_dl()), + mcs_name(ms->current_cs_ul()), mcs_name(ms->max_cs_ul()), + mode_name(ms->mode()), + ms->is_idle() ? "IDLE" : "ACTIVE"); +} + +static void test_ms_mcs_mode() +{ + BTS the_bts; + gprs_rlcmac_bts *bts = the_bts.bts_data(); + uint32_t tlli = 0xdeadbeef; + + gprs_rlcmac_dl_tbf *dl_tbf; + GprsMs *ms1, *ms2; + + printf("=== start %s ===\n", __func__); + + ms1 = new GprsMs(&the_bts, tlli); + dump_ms(ms1, "1: no BTS defaults "); + + bts->initial_cs_dl = 4; + bts->initial_cs_ul = 1; + bts->cs_downgrade_threshold = 0; + + ms2 = new GprsMs(&the_bts, tlli + 1); + dump_ms(ms2, "2: with BTS defaults"); + + dl_tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); + new (dl_tbf) gprs_rlcmac_dl_tbf(NULL); + + dl_tbf->set_ms(ms2); + dump_ms(ms2, "2: after TBF attach "); + + ms1->set_mode(EGPRS); + dump_ms(ms1, "1: after mode set "); + + ms2->set_mode(EGPRS); + dump_ms(ms2, "2: after mode set "); + + ms1->set_current_cs_dl(MCS7); + dump_ms(ms1, "1: after MCS set "); + + ms2->set_current_cs_dl(MCS8); + dump_ms(ms2, "2: after MCS set "); + + ms1->set_mode(EGPRS_GMSK); + dump_ms(ms1, "1: after mode set "); + + ms2->set_mode(EGPRS_GMSK); + dump_ms(ms2, "2: after mode set "); + + ms2->detach_tbf(dl_tbf); + dump_ms(ms2, "2: after TBF detach "); + + ms1->set_mode(GPRS); + dump_ms(ms1, "1: after mode set "); + + ms2->set_mode(GPRS); + dump_ms(ms2, "2: after mode set "); + + talloc_free(dl_tbf); + + printf("=== end %s ===\n", __func__); +} + int main(int argc, char **argv) { struct vty_app_info pcu_vty_info = {0}; @@ -540,6 +608,7 @@ test_ms_storage(); test_ms_timeout(); test_ms_cs_selection(); + test_ms_mcs_mode(); if (getenv("TALLOC_REPORT_FULL")) talloc_report_full(tall_pcu_ctx, stderr); diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index a2e4a0c..193d9a3 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -56,3 +56,8 @@ Destroying MS object, TLLI = 0xffeeddbb Creating MS object, TLLI = 0xffeeddbb Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +Creating MS object, TLLI = 0xdeadbeef +Creating MS object, TLLI = 0xdeadbef0 +Attaching TBF to MS object, TLLI = 0xdeadbef0, TBF = TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NULL) +Detaching TBF from MS object, TLLI = 0xdeadbef0, TBF = TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NULL) +Destroying MS object, TLLI = 0xdeadbef0 diff --git a/tests/ms/MsTest.ok b/tests/ms/MsTest.ok index f14cceb..75c2aec 100644 --- a/tests/ms/MsTest.ok +++ b/tests/ms/MsTest.ok @@ -18,3 +18,17 @@ === end test_ms_timeout === === start test_ms_cs_selection === === end test_ms_cs_selection === +=== start test_ms_mcs_mode === +1: no BTS defaults MS DL UNKNOWN/UNKNOWN, UL UNKNOWN/UNKNOWN, mode GPRS, +2: with BTS defaults MS DL CS-4/CS-4, UL CS-1/CS-4, mode GPRS, +2: after TBF attach MS DL CS-4/CS-4, UL CS-1/CS-4, mode GPRS, +1: after mode set MS DL UNKNOWN/UNKNOWN, UL UNKNOWN/UNKNOWN, mode EGPRS, +2: after mode set MS DL UNKNOWN/UNKNOWN, UL UNKNOWN/UNKNOWN, mode EGPRS, +1: after MCS set MS DL MCS-7/MCS-4, UL UNKNOWN/UNKNOWN, mode EGPRS, +2: after MCS set MS DL MCS-8/MCS-4, UL UNKNOWN/UNKNOWN, mode EGPRS, +1: after mode set MS DL MCS-7/MCS-4, UL UNKNOWN/UNKNOWN, mode EGPRS_GMSK-only, +2: after mode set MS DL MCS-8/MCS-4, UL UNKNOWN/UNKNOWN, mode EGPRS_GMSK-only, +2: after TBF detach MS DL MCS-8/MCS-4, UL UNKNOWN/UNKNOWN, mode EGPRS_GMSK-only, +1: after mode set MS DL CS-4/CS-4, UL CS-1/CS-4, mode GPRS, +2: after mode set MS DL CS-4/CS-4, UL CS-1/CS-4, mode GPRS, +=== end test_ms_mcs_mode === -- To view, visit https://gerrit.osmocom.org/13164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf917f4b49d927a21cbd467775806fa6ea06a6a6 Gerrit-Change-Number: 13164 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 11:14:32 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 Mar 2019 11:14:32 +0000 Subject: Change in osmo-bsc[master]: codec_pref: purify S-Bits In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13093 ) Change subject: codec_pref: purify S-Bits ...................................................................... Patch Set 1: > I guess this makes sure that the error path of the other patch is > never possible to trigger? In theory yes, but we should have a TTCN3 test that tries to make it fail. I am currently not sure what happens when the MSC tries to select 5 different rates separately for example. There are many variations possible. -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 07 Mar 2019 11:14:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 11:22:01 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 11:22:01 +0000 Subject: Change in osmo-pcu[master]: Enable LGLOBAL logging for TBF tests Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13165 Change subject: Enable LGLOBAL logging for TBF tests ...................................................................... Enable LGLOBAL logging for TBF tests This exposes the bug in BSSGP rate counter group allocation in the current tests version which should be fixed in a separate commit. Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/13165/1 diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index ff73d90..d78a4ab 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -3262,7 +3262,7 @@ bssgp_set_log_ss(DBSSGP); log_parse_category_mask(osmo_stderr_target, "DRLCMAC,1:DRLCMACDATA,3:DRLCMACDL,3:DRLCMACUL,3:" "DRLCMACSCHED,1:DRLCMACMEAS,3:DNS,3:DBSSGP,3:DPCU,5:" - "DL1IF,6:DTBF,1:DTBFUL,1:DTBFDL,1:"); + "DL1IF,6:DTBF,1:DTBFUL,1:DTBFDL,1:DLGLOBAL,2:"); vty_init(&pcu_vty_info); pcu_vty_init(&gprs_log_info); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e788ccc..4e15256 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1337,6 +1337,7 @@ - Failed to find a usable TRX (TFI exhausted) No PDCH resource Destroying MS object, TLLI = 0x00000000 +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1235. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -3014,8 +3015,10 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1236. This is a software bug that needs fixing. Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1237. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 @@ -5904,6 +5907,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1238. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 -- To view, visit https://gerrit.osmocom.org/13165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc Gerrit-Change-Number: 13165 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 11:30:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 7 Mar 2019 11:30:05 +0000 Subject: Change in osmo-pcu[master]: Log (M)CS UL update errors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13162 ) Change subject: Log (M)CS UL update errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e Gerrit-Change-Number: 13162 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 07 Mar 2019 11:30:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 12:03:35 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 7 Mar 2019 12:03:35 +0000 Subject: Change in osmo-msc[master]: use only accepted ran_conns for new transactions In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13152 ) Change subject: use only accepted ran_conns for new transactions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 Gerrit-Change-Number: 13152 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 07 Mar 2019 12:03:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 12:05:52 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 7 Mar 2019 12:05:52 +0000 Subject: Change in osmo-msc[master]: gsm_04_11_gsup.c: drop unused conn lookup In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13153 ) Change subject: gsm_04_11_gsup.c: drop unused conn lookup ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce Gerrit-Change-Number: 13153 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 07 Mar 2019 12:05:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 12:44:21 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 12:44:21 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13039 ) Change subject: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. ...................................................................... Patch Set 2: Code-Review+1 operational +1: I'd like this to be solved differently, but this will do for now. -- To view, visit https://gerrit.osmocom.org/13039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a7b3ce8646d641569eac24e202f44cdb5f67b3d Gerrit-Change-Number: 13039 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 07 Mar 2019 12:44:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 13:06:48 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 13:06:48 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Add a mobile resource for the virtual test In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13041 ) Change subject: resource: Add a mobile resource for the virtual test ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc Gerrit-Change-Number: 13041 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 13:06:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 13:49:04 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 13:49:04 +0000 Subject: Change in osmo-pcu[master]: Log (M)CS UL update errors In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13162 ) Change subject: Log (M)CS UL update errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e Gerrit-Change-Number: 13162 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 07 Mar 2019 13:49:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 13:55:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 13:55:31 +0000 Subject: Change in osmo-pcu[master]: Enable LGLOBAL logging for TBF tests In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13165 ) Change subject: Enable LGLOBAL logging for TBF tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc Gerrit-Change-Number: 13165 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 13:55:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:04:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:04:31 +0000 Subject: Change in osmo-msc[master]: use only accepted ran_conns for new transactions In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13152 ) Change subject: use only accepted ran_conns for new transactions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 Gerrit-Change-Number: 13152 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 07 Mar 2019 14:04:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:07:05 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:07:05 +0000 Subject: Change in osmo-msc[master]: rename bscconfig.h to configure.h, cleanup In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13138 ) Change subject: rename bscconfig.h to configure.h, cleanup ...................................................................... Patch Set 1: -Code-Review Good point from Harald, I also had the doubt whether it is usually named "configure.h" or "config.h", so it should be named config.h -- To view, visit https://gerrit.osmocom.org/13138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id4f683be1f36f0630c83da54e02868aae847aeec Gerrit-Change-Number: 13138 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Thu, 07 Mar 2019 14:07:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:16:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:16:56 +0000 Subject: Change in osmo-msc[master]: SMS queue: properly log failed attempts number In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13154 ) Change subject: SMS queue: properly log failed attempts number ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I16f2d29855eb715eccbdc5def225f43c110fab8e Gerrit-Change-Number: 13154 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:16:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:20:28 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:20:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: cosmetic: correct typo in comment In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13155 ) Change subject: mgcp_sdp: cosmetic: correct typo in comment ...................................................................... Patch Set 1: Code-Review+2 I'd say it's quite arguable whehter strings is better than string here, but not worth spending time on it. -- To view, visit https://gerrit.osmocom.org/13155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I42aa9b5ce36df347cfb72be97e0f7a1898e6e8d0 Gerrit-Change-Number: 13155 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:20:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:20:50 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:20:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: mgcp_sdp.c does not include own header file In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13156 ) Change subject: mgcp_sdp: mgcp_sdp.c does not include own header file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3d9f28d6e7ca027b1be25d775a6a75d0fc491a50 Gerrit-Change-Number: 13156 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:20:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:22:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 7 Mar 2019 14:22:52 +0000 Subject: Change in osmo-pcu[master]: Enable LGLOBAL logging for TBF tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13165 ) Change subject: Enable LGLOBAL logging for TBF tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc Gerrit-Change-Number: 13165 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 07 Mar 2019 14:22:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:24:10 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:24:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: untangle parsing of a= parameters In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13157 ) Change subject: mgcp_sdp: untangle parsing of a= parameters ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/13157/1/src/libosmo-mgcp/mgcp_sdp.c File src/libosmo-mgcp/mgcp_sdp.c: https://gerrit.osmocom.org/#/c/13157/1/src/libosmo-mgcp/mgcp_sdp.c at 216 PS1, Line 216: else if (sscanf(line, "a=ptime:%d-%d", &ptime, &ptime2) >= 1) { this else is not needed and causes confusion. if the "if" clause is entered, then you cannot go inside the block starting in this line. https://gerrit.osmocom.org/#/c/13157/1/src/libosmo-mgcp/mgcp_sdp.c at 224 PS1, Line 224: else if (sscanf(line, "a=maxptime:%d", &ptime2) == 1) { same here https://gerrit.osmocom.org/#/c/13157/1/src/libosmo-mgcp/mgcp_sdp.c at 228 PS1, Line 228: break; would be nice having a comment explaining what it means reaching this line. a= parameter not supported and we simply ignore it? -- To view, visit https://gerrit.osmocom.org/13157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Gerrit-Change-Number: 13157 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:24:10 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:30:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:30:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13158 ) Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13158/1/include/osmocom/mgcp/mgcp.h File include/osmocom/mgcp/mgcp.h: https://gerrit.osmocom.org/#/c/13158/1/include/osmocom/mgcp/mgcp.h at 83 PS1, Line 83: struct mgcp_rtp_codec; why do you move mgcp_conn_rtp upwards and leave it this one here? -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:30:44 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:31:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 7 Mar 2019 14:31:53 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13108 ) Change subject: net/: refactor cfg templates ...................................................................... Patch Set 3: Code-Review-1 (4 comments) As discussed, let's not split these patches up. Here are some minor things I found, other than that it can be merged in my opinion. https://gerrit.osmocom.org/#/c/13108/3/net/templates/common_template_warning File net/templates/common_template_warning: https://gerrit.osmocom.org/#/c/13108/3/net/templates/common_template_warning at 3 PS3, Line 3: # See /etc/osmocom/README I think that line only made sense during CCC https://gerrit.osmocom.org/#/c/13108/3/net/templates/osmo-gbproxy.cfg File net/templates/osmo-gbproxy.cfg: https://gerrit.osmocom.org/#/c/13108/3/net/templates/osmo-gbproxy.cfg at 11 PS3, Line 11: timer tns-reset 3 missing ${include(common_template_warning)} on top https://gerrit.osmocom.org/#/c/13108/3/net/templates/osmo-hlr.cfg File net/templates/osmo-hlr.cfg: https://gerrit.osmocom.org/#/c/13108/3/net/templates/osmo-hlr.cfg at 9 PS3, Line 9: " store-imei" got lost https://gerrit.osmocom.org/#/c/13108/3/net/templates/osmo-msc.cfg File net/templates/osmo-msc.cfg: https://gerrit.osmocom.org/#/c/13108/3/net/templates/osmo-msc.cfg at 11 PS3, Line 11: mncc ${MSC_MNCC} " check-imei-rqd 1" got lost here -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 07 Mar 2019 14:31:53 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:56:43 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:56:43 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py File src/osmo_gsm_tester/ms_osmo_mobile.py: https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py at 33 PS4, Line 33: return "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" > I didn't understand if the schema/resource framework has default values. [?] There's no default value. But I guess if you forgot to add a proper KI you actually want to catch it with an exception rather than returning an all-0 KI for all of them. Or it's fine for you having several modems with all-0 KI if the KI is not set manually in cfg file? In that case fine for me. -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 4 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:56:43 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:57:04 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:57:04 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:57:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:57:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:57:30 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13130 ) Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 Gerrit-Change-Number: 13130 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:57:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 14:57:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 14:57:56 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13131 ) Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 14:57:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:27:44 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:27:44 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13108 ) Change subject: net/: refactor cfg templates ...................................................................... Patch Set 3: nice catches! -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 07 Mar 2019 15:27:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:29:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:29:18 +0000 Subject: Change in osmo-dev[master]: add manuals.opts, no_doxygen.opts, no_optimization.opts In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13148 ) Change subject: add manuals.opts, no_doxygen.opts, no_optimization.opts ...................................................................... add manuals.opts, no_doxygen.opts, no_optimization.opts Change-Id: Ief9e6865eaff587dbd1f1f73f2fecac470e77a81 --- A manuals.opts A no_doxygen.opts A no_optimization.opts 3 files changed, 3 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, but someone else must approve diff --git a/manuals.opts b/manuals.opts new file mode 100644 index 0000000..2ba5237 --- /dev/null +++ b/manuals.opts @@ -0,0 +1 @@ +ALL --enable-manuals diff --git a/no_doxygen.opts b/no_doxygen.opts new file mode 100644 index 0000000..b2aa682 --- /dev/null +++ b/no_doxygen.opts @@ -0,0 +1 @@ +ALL --disable-doxygen diff --git a/no_optimization.opts b/no_optimization.opts new file mode 100644 index 0000000..3d85054 --- /dev/null +++ b/no_optimization.opts @@ -0,0 +1 @@ +ALL CFLAGS="-g -O0" -- To view, visit https://gerrit.osmocom.org/13148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ief9e6865eaff587dbd1f1f73f2fecac470e77a81 Gerrit-Change-Number: 13148 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:29:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:29:18 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Hello osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13108 to look at the new patch set (#4). Change subject: net/: refactor cfg templates ...................................................................... net/: refactor cfg templates Adopt "foreach" and "common_" features and generally take in the improved templates as used at 35c3. If your config file relies on the tmpl_std that is now removed, you can locally resurrect it with git checkout 2c6a55baa72de0e -- tmpl_std but it's probably better to make a new copy of config_2g3g and insert your local config there. Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 --- M .gitignore M net/README D net/common_bsc_logging D net/common_logging M net/config_2g3g R net/templates/Makefile A net/templates/common_logging A net/templates/common_statsd A net/templates/common_template_warning R net/templates/kamailio.cfg A net/templates/nano3G_dmi.txt A net/templates/osmo-bsc.cfg R net/templates/osmo-gbproxy.cfg A net/templates/osmo-ggsn.cfg A net/templates/osmo-hlr.cfg A net/templates/osmo-hnbgw.cfg A net/templates/osmo-mgw-for-bsc.cfg A net/templates/osmo-mgw-for-msc.cfg A net/templates/osmo-msc.cfg A net/templates/osmo-sgsn.cfg A net/templates/osmo-sip-connector.cfg A net/templates/osmo-stp.cfg R net/templates/run.sh D net/tmpl_std/nano3G.txt D net/tmpl_std/nano3G2.txt D net/tmpl_std/osmo-bsc.cfg D net/tmpl_std/osmo-ggsn.cfg D net/tmpl_std/osmo-hlr.cfg D net/tmpl_std/osmo-hnbgw.cfg D net/tmpl_std/osmo-mgw-for-bsc.cfg D net/tmpl_std/osmo-mgw-for-msc.cfg D net/tmpl_std/osmo-msc.cfg D net/tmpl_std/osmo-sgsn.cfg D net/tmpl_std/osmo-sip-connector.cfg D net/tmpl_std/osmo-stp.cfg 35 files changed, 428 insertions(+), 323 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/08/13108/4 -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:29:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:29:18 +0000 Subject: Change in osmo-dev[master]: net/: refactor cfg templates In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13108 ) Change subject: net/: refactor cfg templates ...................................................................... net/: refactor cfg templates Adopt "foreach" and "common_" features and generally take in the improved templates as used at 35c3. If your config file relies on the tmpl_std that is now removed, you can locally resurrect it with git checkout 2c6a55baa72de0e -- tmpl_std but it's probably better to make a new copy of config_2g3g and insert your local config there. Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 --- M .gitignore M net/README D net/common_bsc_logging D net/common_logging M net/config_2g3g R net/templates/Makefile A net/templates/common_logging A net/templates/common_statsd A net/templates/common_template_warning R net/templates/kamailio.cfg A net/templates/nano3G_dmi.txt A net/templates/osmo-bsc.cfg R net/templates/osmo-gbproxy.cfg A net/templates/osmo-ggsn.cfg A net/templates/osmo-hlr.cfg A net/templates/osmo-hnbgw.cfg A net/templates/osmo-mgw-for-bsc.cfg A net/templates/osmo-mgw-for-msc.cfg A net/templates/osmo-msc.cfg A net/templates/osmo-sgsn.cfg A net/templates/osmo-sip-connector.cfg A net/templates/osmo-stp.cfg R net/templates/run.sh D net/tmpl_std/nano3G.txt D net/tmpl_std/nano3G2.txt D net/tmpl_std/osmo-bsc.cfg D net/tmpl_std/osmo-ggsn.cfg D net/tmpl_std/osmo-hlr.cfg D net/tmpl_std/osmo-hnbgw.cfg D net/tmpl_std/osmo-mgw-for-bsc.cfg D net/tmpl_std/osmo-mgw-for-msc.cfg D net/tmpl_std/osmo-msc.cfg D net/tmpl_std/osmo-sgsn.cfg D net/tmpl_std/osmo-sip-connector.cfg D net/tmpl_std/osmo-stp.cfg 35 files changed, 428 insertions(+), 323 deletions(-) diff --git a/.gitignore b/.gitignore index b6d7fe7..1cfde3d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,8 +10,7 @@ !src/osmo-add-gerrit-hooks.sh !src/README net/* -!net/tmpl_* +!net/templates* !net/config_2g3g -!net/common_* !net/README !net/fill_config.py diff --git a/net/README b/net/README index 1d07775..73a8d2f 100644 --- a/net/README +++ b/net/README @@ -16,7 +16,7 @@ mkdir my_network cd my_network -../fill_config.py ../config_mine ../tmpl_std +../fill_config.py ../config_mine ../templates ./run.sh # Launches numerous x-terminals with one component running in each. @@ -31,27 +31,27 @@ # tweak config? $EDITOR ../config_mine ../fill_config.py -# picks up same ../config_mine and ../tmpl_std from last time +# picks up same ../config_mine and ../templates from last time # own templates? -cp -r ../tmpl_std ../tmpl_mine -$EDITOR ../tmpl_mine/* -../fill_config.py ../tmpl_mine -# picks up same ../config_mine from last time, and ../tmpl_mine from cmdline +cp -r ../templates ../templates_mine +$EDITOR ../templates_mine/* +../fill_config.py ../templates_mine +# picks up same ../config_mine from last time, and ../templates_mine from cmdline If you wanted to change to dynamic timeslots, you can: cd .. -mkdir tmpl_dyn -cd tmpl_dyn -ln -s ../tmpl_std/* . +mkdir templates_dyn +cd templates_dyn +ln -s ../templates/* . rm ./osmo-bsc.cfg -cp ../tmpl_std/osmo-bsc.cfg . +cp ../templates/osmo-bsc.cfg . sed -i 's#TCH/F#TCH/F_TCH/H_PDCH#' osmo-bsc.cfg cd ../my_network -../fill_config.py ../tmpl_dyn +../fill_config.py ../templates_dyn If you moved your laptop to a different location, you can: @@ -64,7 +64,7 @@ === Config file templates A *directory* contains template files that are filled with specific values by the -fill_config.py script. See e.g. tmpl_std/. +fill_config.py script. See e.g. templates/. A *file* contains local config items as name=val pairs that are put into the templates. See e.g. config_2g3g. @@ -83,7 +83,7 @@ === Launch -A run.sh script template (tmpl_std/run.sh) also gets filled with specifics and +A run.sh script template (templates/run.sh) also gets filled with specifics and placed next to the .cfg files. run.sh uses sudo to start tcpdump, configure ip forwarding and masquerading diff --git a/net/common_bsc_logging b/net/common_bsc_logging deleted file mode 100644 index 2f891c7..0000000 --- a/net/common_bsc_logging +++ /dev/null @@ -1,11 +0,0 @@ -${include(common_logging)} -log stderr - logging level lsua notice - logging level lss7 notice - logging level linp notice - logging level hodec notice -log gsmtap 127.0.0.1 - logging level lsua notice - logging level lss7 notice - logging level linp notice - logging level hodec notice diff --git a/net/common_logging b/net/common_logging deleted file mode 100644 index 8d074ab..0000000 --- a/net/common_logging +++ /dev/null @@ -1,23 +0,0 @@ -log stderr - logging filter all 1 - logging color 1 - logging print level 1 - logging print category 1 - logging print category-hex 0 - logging print file basename last - #logging print timestamp date - logging print extended-timestamp 1 - logging level set-all debug -log file current_log/${_name}.log - logging filter all 1 - logging color 1 - logging print level 1 - logging print category 1 - logging print category-hex 0 - logging print file basename last - #logging print timestamp date - logging print extended-timestamp 1 - logging level set-all debug -log gsmtap 127.0.0.1 - logging filter all 1 - logging level set-all debug diff --git a/net/config_2g3g b/net/config_2g3g index 622a4be..be55896 100644 --- a/net/config_2g3g +++ b/net/config_2g3g @@ -1,81 +1,116 @@ ETH_DEV=eth0 APN_DEV=apn0 -PUBLIC_IP="192.168.0.23" -PUBLIC_IP2="192.168.0.42" +TO_RAN_IP="192.168.0.3" +TO_RAN_IU_IP="192.168.0.4" +TO_SIP_IP="127.0.0.2" + +STATSD_IP="127.0.0.1" MCC=001 MNC=01 -BTS0_BAND=GSM-1800 -BTS0_LAC=23 -BTS0_CI=5 -BTS0_ARFCN=860 -BTS0_MAX_POWER_RED=21 -BTS0_IPA_UNIT="1234 0" -BTS0_NSVCI=1234 -BTS0_NSEI="${BTS0_NSVCI}" -BTS0_BVCI="${BTS0_NSVCI}" +TCH_TYPE=TCH/H -BTS1_BAND=GSM-1800 -BTS1_LAC=42 -BTS1_CI=13 -BTS1_ARFCN=862 -BTS1_MAX_POWER_RED=21 -BTS1_IPA_UNIT="1235 0" -BTS1_NSVCI=1235 -BTS1_NSEI="${BTS1_NSVCI}" -BTS1_BVCI="${BTS1_NSVCI}" +BTS_BAND=GSM-1800 +BTS_LAC=23 +BTS_MAX_POWER_RED=21 +BTS_CODEC_SUPPORT=fr amr +BTS_200mW=23 -HLR_IP="127.0.0.1" +BTS0_DESCRIPTION="my test BTS 0" +BTS0_IPA_UNIT="0 0" +BTS0_ARFCN=123 +BTS0_CI=${BTSn} +BTS0_BSIC=${BTSn} +BTS0_GPRS_MODE=gprs +BTS0_GB_REMOTE_IP=${SGSN_IP} +BTS0_GB_REMOTE_PORT=${SGSN_GB_PORT} +BTS0_NSVCI=${BTSn} +BTS0_NSEI="${BTSn_NSVCI}" +# according to osmo-bsc vty, BVCI must be >= 2 +BTS0_BVCI="100${BTSn}" +BTS0_BAND=${BTS_BAND} +BTS0_LAC=${BTS_LAC} +BTS0_MAX_POWER_RED=${BTS_MAX_POWER_RED} +BTS0_NOMINAL_POWER=${BTS_200mW} +BTS0_CODEC_SUPPORT=${BTS_CODEC_SUPPORT} + +BTS1_DESCRIPTION="my test BTS 1" +BTS1_IPA_UNIT="1 0" +BTS1_ARFCN=125 +BTS1_CI=${BTSn} +BTS1_BSIC=${BTSn} +BTS1_GPRS_MODE=gprs +BTS1_GB_REMOTE_IP=${GBPROXY_IP} +BTS1_GB_REMOTE_PORT=${GBPROXY_GB_PORT} +BTS1_NSVCI=${BTSn} +BTS1_NSEI="${BTSn_NSVCI}" +BTS1_BVCI="100${BTSn}" +BTS1_BAND=${BTS_BAND} +BTS1_LAC=${BTS_LAC} +BTS1_MAX_POWER_RED=${BTS_MAX_POWER_RED} +BTS1_NOMINAL_POWER=${BTS_200mW} +BTS1_CODEC_SUPPORT=${BTS_CODEC_SUPPORT} + +HLR_IP=127.0.0.1 MSC_PC="0.23.1" -MSC_MNCC_SOCKET="${NET_DIR}/msc_mncc_socket" +MSC_MNCC_SOCKET="/tmp/mncc_socket" +MSC_MNCC="internal" +# MSC_MNCC="external ${MSC_MNCC_SOCKET}" -AUTH=optional -ENCR_A5=0 +AUTH=required +ENCR_A5=1 -SGSN_IP="${PUBLIC_IP}" +SGSN_IP="${TO_RAN_IP}" SGSN_PC="0.23.2" SGSN_GB_PORT=23000 -GBPROXY_IP="${PUBLIC_IP}" +GBPROXY_IP="${TO_RAN_IP}" GBPROXY_GB_PORT=7777 -PCU_GB_PORT=23000 +PCU_GB_LOCAL_PORT=23000 -MGW4MSC_IP="${PUBLIC_IP}" +MGW4MSC_IP="${TO_RAN_IU_IP}" +MGW4MSC_PORT="2427" MGW4MSC_VTY_IP="127.0.0.1" -BSC_IP="${PUBLIC_IP}" -BSC_PC="0.42.0" -BSC_CODEC_LIST="fr1 hr1" -MGW4BSC_IP="${PUBLIC_IP2}" +MGW4BSC_IP="${TO_RAN_IP}" MGW4BSC_PORT="2427" MGW4BSC_VTY_IP="127.0.0.2" -HNBGW_PC="0.3.0" -HNBGW_IP="${PUBLIC_IP}" +BSC_IP="${TO_RAN_IP}" +BSC_PC="0.23.3" +BSC_CODEC_LIST="hr3" -GGSN_IP="${PUBLIC_IP2}" +HNBGW_PC="0.3.0" +HNBGW_IP="${TO_RAN_IP}" + +HNODEB0_IP="192.168.0.124" +HNODEB0_UARFCN=4357 +HNODEB0_SCRAMBLE=157 +HNODEB0_LAC=1${HNODEB0_UARFCN} +HNODEB0_RAC=11 + +HNODEB1_IP="192.168.0.23" +HNODEB1_UARFCN=4358 +HNODEB1_SCRAMBLE=258 +HNODEB1_LAC=1${HNODEB1_UARFCN} +HNODEB1_RAC=22 + +GGSN_IP="${TO_RAN_IU_IP}" GGSN_DNS0="192.168.0.1" GGSN_DNS1="9.9.9.9" GGSN_NET="192.168.42.0/24" +GGSN_GTP_STATE_DIR=/tmp -HNODEB_IP="192.168.0.124" -UARFCN=4357 -SCRAMBLE=157 -LAC=1${UARFCN} -RAC=11 +# Enabled only when MSC_MNCC != "internal" +SIPCON_LOCAL="${TO_SIP_IP}" +SIPCON_LOCAL_PORT="5060" +SIPCON_REMOTE="127.0.0.1" +SIPCON_REMOTE_PORT="5069" -HNODEB_IP2="192.168.0.23" -UARFCN2=4358 -SCRAMBLE2=258 -LAC2=2${UARFCN2} -RAC2=22 - -SIPCON_ENABLE="false" -SIPCON_LOCAL="${PUBLIC_IP}" -SIPCON_LOCAL_PORT="5069" -SIPCON_REMOTE="${PUBLIC_IP}" -SIPCON_REMOTE_PORT="5060" +LOG_OUTPUT0_TYPE=stderr +LOG_OUTPUT1_TYPE=file current_log/${_name}.log +LOG_OUTPUT2_TYPE=gsmtap 127.0.0.1 diff --git a/net/tmpl_std/Makefile b/net/templates/Makefile similarity index 100% rename from net/tmpl_std/Makefile rename to net/templates/Makefile diff --git a/net/templates/common_logging b/net/templates/common_logging new file mode 100644 index 0000000..57cf16e --- /dev/null +++ b/net/templates/common_logging @@ -0,0 +1,8 @@ + logging filter all 1 + logging color 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug diff --git a/net/templates/common_statsd b/net/templates/common_statsd new file mode 100644 index 0000000..1c35610 --- /dev/null +++ b/net/templates/common_statsd @@ -0,0 +1,8 @@ +stats reporter statsd + disable + remote-ip ${STATSD_IP} + remote-port 9125 + level global + no prefix + enable +stats interval 5 diff --git a/net/templates/common_template_warning b/net/templates/common_template_warning new file mode 100644 index 0000000..e808965 --- /dev/null +++ b/net/templates/common_template_warning @@ -0,0 +1,2 @@ +# DO NET EDIT THIS FILE DIRECTLY! +# This is generated from templates, and manual edits will be overwritten. diff --git a/net/tmpl_std/kamailio.cfg b/net/templates/kamailio.cfg similarity index 100% rename from net/tmpl_std/kamailio.cfg rename to net/templates/kamailio.cfg diff --git a/net/templates/nano3G_dmi.txt b/net/templates/nano3G_dmi.txt new file mode 100644 index 0000000..ea47f29 --- /dev/null +++ b/net/templates/nano3G_dmi.txt @@ -0,0 +1,20 @@ +${foreach(HNODEB)} + +### nano3G ${HNODEBn} +ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEBn_IP} +telnet ${HNODEBn_IP} 8090 + +set rfParamsCandidateList=({${HNODEBn_UARFCN}, ${HNODEBn_SCRAMBLE}, 1}) +set lacRacCandidateList=({${HNODEBn_LAC}, (${HNODEBn_RAC})}) +set hnbGwAddress="${HNBGW_IP}" +set mcc="${MCC}" +set mnc="${MNC}" +action 2061 +action 1216 +action establishPermanentHnbGwConnection +set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS +set accessControlList = ({"901700000014701",1,"14701"},{"901700000014701",1,"14701"},{"901700000014705",1,"14705"},{"901700000014706",1,"14706"},{"204046848488900",1,"88900"},{"204046848488903",1,"88903"}) + +${foreach_end} + +set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS diff --git a/net/templates/osmo-bsc.cfg b/net/templates/osmo-bsc.cfg new file mode 100644 index 0000000..7741b26 --- /dev/null +++ b/net/templates/osmo-bsc.cfg @@ -0,0 +1,109 @@ +${include(common_template_warning)} +stats interval 5 +! +stats reporter statsd + disable + remote-ip ${STATSD_IP} + remote-port 9125 + level global + no prefix + enable +! +line vty + no login +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive + ipa bind ${BSC_IP} +cs7 instance 0 + point-code ${BSC_PC} + asp asp-clnt-msc-0 2905 0 m3ua + as as-clnt-msc-0 m3ua + asp asp-clnt-msc-0 + routing-key 4 ${BSC_PC} +network + network country code ${MCC} + mobile network code ${MNC} + encryption a5 ${ENCR_A5} + neci 1 + paging any use tch 0 + handover 0 + periodic location update 12 + meas-feed destination 127.0.0.1 8888 + +${foreach(BTS)} + bts ${BTSn} + description ${BTSn_DESCRIPTION} + type sysmobts + band ${BTS_BAND} + ip.access unit_id ${BTSn_IPA_UNIT} + location_area_code ${BTSn_LAC} + cell_identity ${BTSn_CI} + base_station_id_code ${BTSn_BSIC} + codec-support ${BTSn_CODEC_SUPPORT} + amr tch-f modes 3 + amr tch-f start-mode 3 + amr tch-h modes 3 + amr tch-h start-mode 3 + gprs mode ${BTSn_GPRS_MODE} + gprs nsvc 0 remote ip ${BTSn_GB_REMOTE_IP} + gprs nsvc 0 remote udp port ${BTSn_GB_REMOTE_PORT} + gprs nsvc 0 local udp port ${PCU_GB_LOCAL_PORT} + gprs nsvc 0 nsvci ${BTSn_NSVCI} + gprs nsei ${BTSn_NSEI} + gprs cell bvci ${BTSn_BVCI} + trx 0 + arfcn ${BTSn_ARFCN} + description ${BTSn_DESCRIPTION} + rf_locked 0 + nominal power ${BTSn_NOMINAL_POWER} + max_power_red ${BTSn_MAX_POWER_RED} + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config SDCCH8 + timeslot 2 + phys_chan_config ${TCH_TYPE} + timeslot 3 + phys_chan_config ${TCH_TYPE} + timeslot 4 + phys_chan_config ${TCH_TYPE} + timeslot 5 + phys_chan_config ${TCH_TYPE} + timeslot 6 + phys_chan_config ${TCH_TYPE} + timeslot 7 + phys_chan_config PDCH +${foreach_end} + +msc 0 + mgw remote-ip ${MGW4BSC_IP} + mgw remote-port ${MGW4BSC_PORT} + mgw endpoint-domain bsc + allow-emergency deny + codec-list ${BSC_CODEC_LIST} + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k allowed + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level hodec info + logging level ho info + logging level nm info + logging level meas info + logging level lmi info + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice +${foreach_end} diff --git a/net/tmpl_std/osmo-gbproxy.cfg b/net/templates/osmo-gbproxy.cfg similarity index 80% rename from net/tmpl_std/osmo-gbproxy.cfg rename to net/templates/osmo-gbproxy.cfg index 3bc075d..60e1ece 100644 --- a/net/tmpl_std/osmo-gbproxy.cfg +++ b/net/templates/osmo-gbproxy.cfg @@ -1,3 +1,4 @@ +${include(common_template_warning)} gbproxy sgsn nsei 101 ns @@ -18,4 +19,7 @@ encapsulation udp local-ip ${GBPROXY_IP} encapsulation udp local-port ${GBPROXY_GB_PORT} -${include(../common_logging)} +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} +${foreach_end} diff --git a/net/templates/osmo-ggsn.cfg b/net/templates/osmo-ggsn.cfg new file mode 100644 index 0000000..4de28a7 --- /dev/null +++ b/net/templates/osmo-ggsn.cfg @@ -0,0 +1,21 @@ +${include(common_template_warning)} +ggsn ggsn0 + gtp state-dir ${GGSN_GTP_STATE_DIR} + gtp bind-ip ${GGSN_IP} + apn internet + gtpu-mode tun + tun-device ${APN_DEV} + type-support v4 + ip dns 0 ${GGSN_DNS0} + ip dns 1 ${GGSN_DNS1} + ip prefix dynamic ${GGSN_NET} + no shutdown + default-apn internet + no shutdown ggsn + +${include(common_statsd)} + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} +${foreach_end} diff --git a/net/templates/osmo-hlr.cfg b/net/templates/osmo-hlr.cfg new file mode 100644 index 0000000..969cc0a --- /dev/null +++ b/net/templates/osmo-hlr.cfg @@ -0,0 +1,14 @@ +${include(common_template_warning)} +hlr + gsup + bind ip ${HLR_IP} + ussd route prefix *0# internal own-msisdn + ussd route prefix *1# internal own-imsi + ussd route prefix *#100# internal own-msisdn + ussd route prefix *#101# internal own-imsi + store-imei + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} +${foreach_end} diff --git a/net/templates/osmo-hnbgw.cfg b/net/templates/osmo-hnbgw.cfg new file mode 100644 index 0000000..5559bdc --- /dev/null +++ b/net/templates/osmo-hnbgw.cfg @@ -0,0 +1,15 @@ +${include(common_template_warning)} +hnbgw + iuh + local-ip ${HNBGW_IP} + hnbap-allow-tmsi 1 + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice +${foreach_end} diff --git a/net/templates/osmo-mgw-for-bsc.cfg b/net/templates/osmo-mgw-for-bsc.cfg new file mode 100644 index 0000000..ba7e044 --- /dev/null +++ b/net/templates/osmo-mgw-for-bsc.cfg @@ -0,0 +1,16 @@ +${include(common_template_warning)} +mgcp + domain bsc + bind ip ${MGW4BSC_IP} + bind port ${MGW4BSC_PORT} + rtp net-range 50004 60000 + number endpoints 1024 +line vty + bind ${MGW4BSC_VTY_IP} + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level rtp info + logging level lmgcp info +${foreach_end} diff --git a/net/templates/osmo-mgw-for-msc.cfg b/net/templates/osmo-mgw-for-msc.cfg new file mode 100644 index 0000000..dc3ada1 --- /dev/null +++ b/net/templates/osmo-mgw-for-msc.cfg @@ -0,0 +1,16 @@ +${include(common_template_warning)} +mgcp + domain msc + bind ip ${MGW4MSC_IP} + bind port ${MGW4MSC_PORT} + rtp net-range 50004 60000 + number endpoints 1024 +line vty + bind ${MGW4MSC_VTY_IP} + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level rtp info + logging level lmgcp info +${foreach_end} diff --git a/net/templates/osmo-msc.cfg b/net/templates/osmo-msc.cfg new file mode 100644 index 0000000..00bf182 --- /dev/null +++ b/net/templates/osmo-msc.cfg @@ -0,0 +1,37 @@ +${include(common_template_warning)} +network + network country code ${MCC} + mobile network code ${MNC} + authentication ${AUTH} + encryption a5 ${ENCR_A5} + short name 35c3 + long name 35c3 + mm info 1 +msc + mncc ${MSC_MNCC} + mgw remote-ip ${MGW4MSC_IP} + mgw remote-port ${MGW4MSC_PORT} + mgw endpoint-domain msc + check-imei-rqd 1 + # For nano3G: + iu rab-assign-addr-enc x213 +mncc-int + default-codec tch-f fr + default-codec tch-h amr +smpp + local-tcp-ip 127.0.0.1 2775 + system-id test-msc + policy closed + no smpp-first +hlr + remote-ip ${HLR_IP} + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice +${foreach_end} diff --git a/net/templates/osmo-sgsn.cfg b/net/templates/osmo-sgsn.cfg new file mode 100644 index 0000000..542eb95 --- /dev/null +++ b/net/templates/osmo-sgsn.cfg @@ -0,0 +1,21 @@ +${include(common_template_warning)} +sgsn + gtp local-ip ${SGSN_IP} + ggsn 0 remote-ip ${GGSN_IP} + ggsn 0 gtp-version 1 + auth-policy remote + gsup remote-ip ${HLR_IP} +ns + encapsulation udp local-ip ${SGSN_IP} + encapsulation udp local-port ${SGSN_GB_PORT} + encapsulation framerelay-gre enabled 0 + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice +${foreach_end} diff --git a/net/templates/osmo-sip-connector.cfg b/net/templates/osmo-sip-connector.cfg new file mode 100644 index 0000000..5f067ef --- /dev/null +++ b/net/templates/osmo-sip-connector.cfg @@ -0,0 +1,12 @@ +${include(common_template_warning)} +app +mncc + socket-path ${MSC_MNCC_SOCKET} +sip + local ${SIPCON_LOCAL} ${SIPCON_LOCAL_PORT} + remote ${SIPCON_REMOTE} ${SIPCON_REMOTE_PORT} + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} +${foreach_end} diff --git a/net/templates/osmo-stp.cfg b/net/templates/osmo-stp.cfg new file mode 100644 index 0000000..d7d1515 --- /dev/null +++ b/net/templates/osmo-stp.cfg @@ -0,0 +1,15 @@ +${include(common_template_warning)} +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + listen m3ua 2905 + accept-asp-connections dynamic-permitted + +${foreach(LOG_OUTPUT)} +log ${LOG_OUTPUTn_TYPE} +${include(common_logging)} + logging level linp notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice +${foreach_end} diff --git a/net/tmpl_std/run.sh b/net/templates/run.sh similarity index 89% rename from net/tmpl_std/run.sh rename to net/templates/run.sh index 03f75c1..804262a 100755 --- a/net/tmpl_std/run.sh +++ b/net/templates/run.sh @@ -9,7 +9,6 @@ fi dev="${ETH_DEV}" -ip2="${PUBLIC_IP2}" apn="${APN_DEV}" sudo true || exit 1 @@ -28,14 +27,14 @@ sudo ip link set $apn up fi -if [ -z "$(ip addr show | grep "$PUBLIC_IP")" ]; then - echo "No interface has IP address $PUBLIC_IP! Hit enter to continue anyway." +if [ -z "$(ip addr show | grep "$TO_RAN_IP")" ]; then + echo "No interface has IP address $TO_RAN_IP! Hit enter to continue anyway." read enter_to_continue fi -if [ -z "$(ip addr show | grep "$ip2")" ]; then - echo "No interface has IP address $ip2! Hit enter to 'ip addr add $ip2/32 dev $dev'" +if [ -z "$(ip addr show | grep "$TO_RAN_IU_IP")" ]; then + echo "No interface has IP address $TO_RAN_IU_IP! Hit enter to 'ip addr add $TO_RAN_IU_IP/32 dev $dev'" read enter_to_continue - sudo ip addr add $ip2/32 dev $dev + sudo ip addr add $TO_RAN_IU_IP/32 dev $dev fi logdir="current_log" @@ -78,14 +77,14 @@ stp="osmo-stp" bsc="LD_LIBRARY_PATH=/usr/local/lib gdb -ex run --args osmo-bsc -c osmo-bsc.cfg" -if [ "${SIPCON_ENABLE}" == "true" ]; then +if [ "x${MSC_MNCC}" != "xinternal" ]; then sipcon="osmo-sip-connector -c osmo-sip-connector.cfg" msc="$msc -M ${MSC_MNCC_SOCKET}" # Require kamailio (PATH hack is needed for Debian) kamailio="$(PATH="$PATH:/usr/sbin:/sbin" which kamailio)" if [ -z "$kamailio" ]; then - echo "ERROR: kamailio is not installed, but it's required for SIPCON_ENABLE." + echo "ERROR: kamailio is not installed, but it's required for external MNCC." echo "After installing it, make sure that it does *not* run as daemon." exit 1 fi @@ -115,7 +114,7 @@ sleep .2 term "$bsc" BSC & -if [ "${SIPCON_ENABLE}" == "true" ]; then +if [ "x${MSC_MNCC}" != "xinternal" ]; then sleep .2 term "$sipcon" SIPCON & sleep .2 @@ -129,7 +128,7 @@ read enter_to_close echo Closing... -if [ "${SIPCON_ENABLE}" == "true" ]; then +if [ "x${MSC_MNCC}" != "xinternal" ]; then kill %13 %14 killall osmo-sip-connector killall kamailio diff --git a/net/tmpl_std/nano3G.txt b/net/tmpl_std/nano3G.txt deleted file mode 100644 index df6feb6..0000000 --- a/net/tmpl_std/nano3G.txt +++ /dev/null @@ -1,18 +0,0 @@ -ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEB_IP} - -telnet ${HNODEB_IP} 8090 - -set mcc="${MCC}" -set mnc="${MNC}" -set rfParamsCandidateList=({${UARFCN}, ${SCRAMBLE}, 1}) -set lacRacCandidateList=({${LAC}, (${RAC})}) -set hnbGwAddress="${HNBGW_IP}" -action 2061 -action 1216 -action establishPermanentHnbGwConnection -set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS -set accessControlList = ({"901700000014701",1,"14701"}) - -set accessControlList = ({"901700000014701",1,"14701"},{"901700000014702",1,"14702"}) - -set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS diff --git a/net/tmpl_std/nano3G2.txt b/net/tmpl_std/nano3G2.txt deleted file mode 100644 index a5be62d..0000000 --- a/net/tmpl_std/nano3G2.txt +++ /dev/null @@ -1,18 +0,0 @@ -ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEB_IP2} - -telnet ${HNODEB_IP2} 8090 - -set mcc="${MCC}" -set mnc="${MNC}" -set rfParamsCandidateList=({${UARFCN2}, ${SCRAMBLE2}, 1}) -set lacRacCandidateList=({${LAC2}, (${RAC2})}) -set hnbGwAddress="${HNBGW_IP}" -action 2061 -action 1216 -action establishPermanentHnbGwConnection -set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS -set accessControlList = ({"901700000014702",1,"14702"}) - -set accessControlList = ({"901700000014701",1,"14701"},{"901700000014702",1,"14702"}) - -set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS diff --git a/net/tmpl_std/osmo-bsc.cfg b/net/tmpl_std/osmo-bsc.cfg deleted file mode 100644 index cfaf8b7..0000000 --- a/net/tmpl_std/osmo-bsc.cfg +++ /dev/null @@ -1,86 +0,0 @@ -network - #meas-feed destination 172.18.18.18 8888 - #meas-feed scenario foo23 - network country code ${MCC} - mobile network code ${MNC} - encryption a5 ${ENCR_A5} - bts 0 - type sysmobts - band ${BTS0_BAND} - location_area_code ${BTS0_LAC} - cell_identity ${BTS0_CI} - cell reselection hysteresis 14 - ip.access unit_id ${BTS0_IPA_UNIT} - gprs mode gprs - gprs nsvc 0 remote ip ${GBPROXY_IP} - gprs nsvc 0 remote udp port ${GBPROXY_GB_PORT} - gprs nsvc 0 local udp port ${PCU_GB_PORT} - gprs nsvc 0 nsvci ${BTS0_NSVCI} - gprs nsei ${BTS0_NSEI} - gprs cell bvci ${BTS0_BVCI} - trx 0 - rf_locked 0 - arfcn ${BTS0_ARFCN} - nominal power 23 - max_power_red ${BTS0_MAX_POWER_RED} - timeslot 0 - phys_chan_config CCCH+SDCCH4 - timeslot 1 - phys_chan_config SDCCH8 - timeslot 2 - phys_chan_config TCH/F - timeslot 3 - phys_chan_config TCH/F - timeslot 4 - phys_chan_config TCH/F - timeslot 5 - phys_chan_config PDCH - timeslot 6 - phys_chan_config PDCH - timeslot 7 - phys_chan_config PDCH - bts 1 - type sysmobts - band ${BTS1_BAND} - location_area_code ${BTS1_LAC} - cell_identity ${BTS1_CI} - cell reselection hysteresis 14 - ip.access unit_id ${BTS1_IPA_UNIT} - gprs mode gprs - gprs nsvc 0 remote ip ${GBPROXY_IP} - gprs nsvc 0 remote udp port ${GBPROXY_GB_PORT} - gprs nsvc 0 local udp port ${PCU_GB_PORT} - gprs nsvc 0 nsvci ${BTS1_NSVCI} - gprs nsei ${BTS1_NSEI} - gprs cell bvci ${BTS1_BVCI} - trx 0 - rf_locked 0 - arfcn ${BTS1_ARFCN} - nominal power 23 - max_power_red ${BTS1_MAX_POWER_RED} - timeslot 0 - phys_chan_config CCCH+SDCCH4 - timeslot 1 - phys_chan_config SDCCH8 - timeslot 2 - phys_chan_config TCH/F - timeslot 3 - phys_chan_config TCH/F - timeslot 4 - phys_chan_config TCH/F - timeslot 5 - phys_chan_config PDCH - timeslot 6 - phys_chan_config PDCH - timeslot 7 - phys_chan_config PDCH -e1_input - e1_line 0 driver ipa -msc 0 - mgw remote-ip ${MGW4BSC_IP} - mgw remote-port ${MGW4BSC_PORT} - mgw endpoint-range 33 64 - allow-emergency deny - codec-list ${BSC_CODEC_LIST} - -${include(../common_bsc_logging)} diff --git a/net/tmpl_std/osmo-ggsn.cfg b/net/tmpl_std/osmo-ggsn.cfg deleted file mode 100644 index 1e69f65..0000000 --- a/net/tmpl_std/osmo-ggsn.cfg +++ /dev/null @@ -1,17 +0,0 @@ -log stderr - logging level all debug - logging filter all 1 - logging print category 1 -ggsn ggsn0 - gtp bind-ip ${GGSN_IP} - apn internet - tun-device ${APN_DEV} - type-support v4 - ip dns 0 ${GGSN_DNS0} - ip dns 1 ${GGSN_DNS1} - #ip ifconfig ${GGSN_NET} - ip prefix dynamic ${GGSN_NET} - no shutdown - default-apn internet - no shutdown ggsn -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-hlr.cfg b/net/tmpl_std/osmo-hlr.cfg deleted file mode 100644 index 4f8a14a..0000000 --- a/net/tmpl_std/osmo-hlr.cfg +++ /dev/null @@ -1,7 +0,0 @@ -hlr - ussd route prefix *1# internal own-msisdn - ussd route prefix *2# internal own-imsi - ussd route prefix *#100# internal own-msisdn - ussd route prefix *#101# internal own-imsi - store-imei -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-hnbgw.cfg b/net/tmpl_std/osmo-hnbgw.cfg deleted file mode 100644 index a918b10..0000000 --- a/net/tmpl_std/osmo-hnbgw.cfg +++ /dev/null @@ -1,5 +0,0 @@ -hnbgw - iuh - local-ip ${HNBGW_IP} - -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-mgw-for-bsc.cfg b/net/tmpl_std/osmo-mgw-for-bsc.cfg deleted file mode 100644 index a6eddbf..0000000 --- a/net/tmpl_std/osmo-mgw-for-bsc.cfg +++ /dev/null @@ -1,11 +0,0 @@ -mgcp - bind ip ${MGW4BSC_IP} - # default port is 2427 (is used for MSC's MGW) - bind port ${MGW4BSC_PORT} - number endpoints 64 -line vty - # default VTY interface is on 127.0.0.1 (used for MSC's MGW) - bind ${MGW4BSC_VTY_IP} - -${include(../common_logging)} - logging level all info diff --git a/net/tmpl_std/osmo-mgw-for-msc.cfg b/net/tmpl_std/osmo-mgw-for-msc.cfg deleted file mode 100644 index 5803932..0000000 --- a/net/tmpl_std/osmo-mgw-for-msc.cfg +++ /dev/null @@ -1,8 +0,0 @@ -mgcp - bind ip ${MGW4MSC_IP} - number endpoints 64 -line vty - bind ${MGW4MSC_VTY_IP} - -${include(../common_logging)} - logging level all info diff --git a/net/tmpl_std/osmo-msc.cfg b/net/tmpl_std/osmo-msc.cfg deleted file mode 100644 index 99c1b00..0000000 --- a/net/tmpl_std/osmo-msc.cfg +++ /dev/null @@ -1,18 +0,0 @@ -network - network country code ${MCC} - mobile network code ${MNC} - authentication ${AUTH} - encryption a5 ${ENCR_A5} -msc - mgw remote-ip ${MGW4MSC_IP} - # For nano3G: - iu rab-assign-addr-enc x213 - - check-imei-rqd 1 - -${include(../common_logging)} - logging level ref debug - logging level vlr debug -log stderr - logging level ref debug - logging level vlr debug diff --git a/net/tmpl_std/osmo-sgsn.cfg b/net/tmpl_std/osmo-sgsn.cfg deleted file mode 100644 index 3b61ef3..0000000 --- a/net/tmpl_std/osmo-sgsn.cfg +++ /dev/null @@ -1,12 +0,0 @@ -sgsn - gtp local-ip ${SGSN_IP} - ggsn 0 remote-ip ${GGSN_IP} - ggsn 0 gtp-version 1 - auth-policy remote - gsup remote-ip ${HLR_IP} -ns - encapsulation udp local-ip ${SGSN_IP} - encapsulation udp local-port ${SGSN_GB_PORT} - encapsulation framerelay-gre enabled 0 - -${include(../common_logging)} diff --git a/net/tmpl_std/osmo-sip-connector.cfg b/net/tmpl_std/osmo-sip-connector.cfg deleted file mode 100644 index 953eccd..0000000 --- a/net/tmpl_std/osmo-sip-connector.cfg +++ /dev/null @@ -1,6 +0,0 @@ -app -mncc - socket-path ${MSC_MNCC_SOCKET} -sip - local ${SIPCON_LOCAL} ${SIPCON_LOCAL_PORT} - remote ${SIPCON_REMOTE} ${SIPCON_REMOTE_PORT} diff --git a/net/tmpl_std/osmo-stp.cfg b/net/tmpl_std/osmo-stp.cfg deleted file mode 100644 index 093bf86..0000000 --- a/net/tmpl_std/osmo-stp.cfg +++ /dev/null @@ -1,6 +0,0 @@ -cs7 instance 0 - xua rkm routing-key-allocation dynamic-permitted - listen m3ua 2905 - accept-asp-connections dynamic-permitted - -${include(../common_logging)} -- To view, visit https://gerrit.osmocom.org/13108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90 Gerrit-Change-Number: 13108 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:39:05 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:39:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log time in tcpdump-start and -stop.sh Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13166 Change subject: log time in tcpdump-start and -stop.sh ...................................................................... log time in tcpdump-start and -stop.sh Also log the testcase name in tcpdump-start.sh. The output now looks like ------ MSC_Tests.TC_mo_cc_bssmap_clear ------ Thu Mar 7 13:21:00 UTC 2019 [...] Thu Mar 7 13:21:04 UTC 2019 ====== MSC_Tests.TC_mo_cc_bssmap_clear pass ====== The reason to log start and end dates came up like this: I noticed a segfault in a tested program at a specific time. From the timestamp I tried to find out which of the tests saw the failure. (After a segfault, all subsequent tests run and fail, but it is not obvious which failure occured because of a segfault, and which ones just normally failed before that.) Looking at the timestamps of the log files didn't help, because the ttcn3_logmerge touched those after the tests completed. So the only way is to cat each individual log file and find the timestamp. So this adds an overview of the timestamps without needing to open log files. Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/13166/1 diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index 395941d..747002b 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -4,6 +4,9 @@ TCPDUMP=/usr/sbin/tcpdump TESTCASE=$1 +echo "------ $TESTCASE ------" +date + if [ "z$TTCN3_PCAP_PATH" = "z" ]; then TTCN3_PCAP_PATH=/tmp fi diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index 9404841..baabefe 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -4,6 +4,8 @@ TESTCASE=$1 VERDICT="$2" +date + if [ x"$VERDICT" = x"pass" ]; then echo "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" else -- To view, visit https://gerrit.osmocom.org/13166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 Gerrit-Change-Number: 13166 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:39:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:39:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_optional_cc_rel to ignore CC REL during call abort tests Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13167 Change subject: msc: add as_optional_cc_rel to ignore CC REL during call abort tests ...................................................................... msc: add as_optional_cc_rel to ignore CC REL during call abort tests When aborting a call with a Clear Request, it is actually a good idea to release an ongoing call with a CC Release message from the MSC. Allow this. Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd --- M msc/MSC_Tests.ttcn 1 file changed, 23 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/13167/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7129f81..1edc7ad 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -152,6 +152,10 @@ } } +private altstep as_optional_cc_rel(CallParameters cpars) runs on BSC_ConnHdlr { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))) { repeat; }; +} + function f_init_smpp(charstring id) runs on MTC_CT { id := id & "-SMPP"; var EsmePars pars := { @@ -1267,7 +1271,13 @@ BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party))); + var default ccrel := activate(as_optional_cc_rel(cpars)); + f_expect_clear(185.0); + + deactivate(ccrel); + + f_sleep(1.0); } testcase TC_mo_setup_and_nothing() runs on MTC_CT { var BSC_ConnHdlr vc_conn; @@ -1477,7 +1487,6 @@ setverdict(fail, "Timeout waiting for channel release"); mtc.stop; } - [] BSSAP.receive { repeat; } [] MNCC.receive { repeat; } [] GSUP.receive { repeat; } [] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd { @@ -1487,6 +1496,7 @@ } [] MGCP.receive { repeat; } [] as_clear_cmd_compl_disc(); + [] as_optional_cc_rel(cpars); } } testcase TC_mt_crcx_ran_reject() runs on MTC_CT { @@ -1873,13 +1883,11 @@ /* Drop CRCX */ MGCP.receive(tr_CRCX) -> value mgcp_cmd; - /* Drop DTAP Release */ - BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); - - /* Drop resent DTAP Release */ - BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); + var default ccrel := activate(as_optional_cc_rel(cpars)); f_expect_clear(60.0); + + deactivate(ccrel); } testcase TC_mo_release_timeout() runs on MTC_CT { var BSC_ConnHdlr vc_conn; @@ -3154,10 +3162,16 @@ f_sleep(1.0); BSSAP.send(ts_BSSMAP_ClearRequest(0)); - MNCC.receive(tr_MNCC_REL_ind(?, ?)) -> value mncc; + var default ccrel := activate(as_optional_cc_rel(cpars)); - BSSAP.receive(tr_BSSMAP_ClearCommand); - BSSAP.send(ts_BSSMAP_ClearComplete); + interleave { + [] MNCC.receive(tr_MNCC_REL_ind(?, ?)) { }; + [] BSSAP.receive(tr_BSSMAP_ClearCommand) { + BSSAP.send(ts_BSSMAP_ClearComplete); + }; + } + + deactivate(ccrel); f_sleep(1.0); } -- To view, visit https://gerrit.osmocom.org/13167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd Gerrit-Change-Number: 13167 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:39:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:39:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_call_hangup: ignore MDCX Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13168 Change subject: msc: f_call_hangup: ignore MDCX ...................................................................... msc: f_call_hangup: ignore MDCX Upcoming osmo-msc changes move away from the current MDCX and Assignment message ordering. Depending on how far call assignment has got, there might still be an MDCX in the message queue. TODO should actually be handled before f_call_hangup(), right!? Change-Id: I768f16288617aade6a4d6548129e6f9e0b1d4d33 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/13168/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index b041007..8aace29 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -646,6 +646,10 @@ setverdict(pass); } +private altstep as_optional_mgcp_mdcx() runs on BSC_ConnHdlr { + [] MGCP.receive(tr_MDCX) {}; +} + function f_call_hangup(inout CallParameters cpars, boolean release_by_ms, boolean is_csfb := false) runs on BSC_ConnHdlr { @@ -676,6 +680,8 @@ respond_to_dlcx := not (isbound(cpars.mgw_drop_dlcx) and valueof(cpars.mgw_drop_dlcx)); + var default mdcx := activate(as_optional_mgcp_mdcx()); + /* clearing of radio channel */ interleave { [] BSSAP.receive(t_clear) { @@ -691,6 +697,9 @@ } } + + deactivate(mdcx); + setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/13168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I768f16288617aade6a4d6548129e6f9e0b1d4d33 Gerrit-Change-Number: 13168 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:39:07 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:39:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: as_clear_cmd_compl_disc: log unexpected message Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13169 Change subject: msc: as_clear_cmd_compl_disc: log unexpected message ...................................................................... msc: as_clear_cmd_compl_disc: log unexpected message When receiving an unexpected BSSMAP message that fails the test, log it. Change-Id: I5cafac3318a50567f1916ea670af55558e97bf17 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/13169/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 8aace29..686f474 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -785,6 +785,7 @@ } /* expect a clear command */ altstep as_clear_cmd_compl_disc(float t := 5.0) runs on BSC_ConnHdlr { + var PDU_BSSAP bssap; [] BSSAP.receive(tr_BSSMAP_ClearCommand) { BSSAP.send(ts_BSSMAP_ClearComplete); alt { @@ -797,8 +798,8 @@ } } } - [] BSSAP.receive { - setverdict(fail, "Unexpected BSSMAP while waiting for ClearCommand"); + [] BSSAP.receive(tr_BSSAP_BSSMAP) -> value bssap { + setverdict(fail, "Unexpected BSSMAP while waiting for ClearCommand", bssap); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/13169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5cafac3318a50567f1916ea670af55558e97bf17 Gerrit-Change-Number: 13169 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:39:07 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:39:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: move sms sending to BSC_ConnHdlr and send from within test flow Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13170 Change subject: msc: move sms sending to BSC_ConnHdlr and send from within test flow ...................................................................... msc: move sms sending to BSC_ConnHdlr and send from within test flow For the sole reason that f_vty_sms_send() was put on MTC_CT for no apparent reason, we start the test function and send an SMS with an arbitrary two seconds delay. Instead move it to BSC_ConnHdlr and place SMS sending in the actual test function flow where it belongs. Change-Id: I5f348b3d30342b7c4871a1fc8f94648923e82eea --- M msc/MSC_Tests.ttcn 1 file changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/13170/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 1edc7ad..06dad47 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1973,7 +1973,7 @@ } private function f_vty_sms_send(charstring imsi, charstring msisdn, charstring text) -runs on MTC_CT { +runs on BSC_ConnHdlr { f_vty_transceive(MSCVTY, "subscriber imsi "&imsi&" sms sender msisdn "&msisdn&" send "&text); } @@ -1995,7 +1995,7 @@ } f_bssmap_register_imsi(g_pars.imsi, tmsi); - /* FIXME: actually cause MSC to send a SMS via VTY or SMPP */ + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); /* MSC->BSC: expect PAGING from MSC */ BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)); @@ -2013,8 +2013,6 @@ f_init(); pars := f_init_pars(43); vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms), pars); - f_sleep(2.0); - f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); vc_conn.done; } @@ -2036,6 +2034,8 @@ } f_bssmap_register_imsi(g_pars.imsi, tmsi); + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); + /* Expect the MSC to page exactly 10 times before giving up */ alt { [] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) @@ -2079,8 +2079,6 @@ f_init(); pars := f_init_pars(1843); vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_and_nothing), pars); - f_sleep(2.0); - f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); vc_conn.done; } -- To view, visit https://gerrit.osmocom.org/13170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5f348b3d30342b7c4871a1fc8f94648923e82eea Gerrit-Change-Number: 13170 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:39:07 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:39:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_reset: add final delay to fix spurious failure Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13171 Change subject: msc: f_tc_sgsap_reset: add final delay to fix spurious failure ...................................................................... msc: f_tc_sgsap_reset: add final delay to fix spurious failure Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/13171/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 06dad47..5d40f09 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3576,6 +3576,7 @@ vlr_name := f_sgsap_reset_mme(mp_mme_name); log("VLR name: ", vlr_name); setverdict(pass); + f_sleep(1.0); } testcase TC_sgsap_reset() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/13171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd Gerrit-Change-Number: 13171 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:41:47 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:41:47 +0000 Subject: Change in osmo-msc[master]: use only accepted ran_conns for new transactions In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13152 ) Change subject: use only accepted ran_conns for new transactions ...................................................................... use only accepted ran_conns for new transactions In connection_for_subscriber(), do not return a ran_conn that is not yet authenticated nor one that is already in release. Using a ran_conn that is not yet authenticated may cause an auth/ciph violation. Using a ran_conn that is already in release may cause a use-after-free, see OS#3842 for a description. To be paranoid, upon releasing a conn, go through the transaction freeing motions again by calling trans_conn_closed(), just in case some odd code path added another transaction while the conn was already in release. Related: OS#3842 Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 --- M src/libmsc/gsm_subscriber.c M src/libmsc/ran_conn.c 2 files changed, 11 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/libmsc/gsm_subscriber.c b/src/libmsc/gsm_subscriber.c index e60344f..c4faa94 100644 --- a/src/libmsc/gsm_subscriber.c +++ b/src/libmsc/gsm_subscriber.c @@ -200,8 +200,14 @@ struct ran_conn *conn; llist_for_each_entry(conn, &net->ran_conns, entry) { - if (conn->vsub == vsub) - return conn; + if (conn->vsub != vsub) + continue; + /* Found a conn, but is it in a usable state? Must not add transactions to a conn that is in release, + * and must not start transactions for an unauthenticated subscriber. There will obviously be only one + * conn for this vsub, so return NULL right away. */ + if (!ran_conn_is_accepted(conn)) + return NULL; + return conn; } return NULL; diff --git a/src/libmsc/ran_conn.c b/src/libmsc/ran_conn.c index 79709c6..e54e542 100644 --- a/src/libmsc/ran_conn.c +++ b/src/libmsc/ran_conn.c @@ -538,8 +538,10 @@ { struct ran_conn *conn = fi->priv; - if (ran_conn_fsm_has_active_transactions(fi)) + if (ran_conn_fsm_has_active_transactions(fi)) { LOGPFSML(fi, LOGL_ERROR, "Deallocating despite active transactions\n"); + trans_conn_closed(conn); + } if (!conn) { LOGP(DRLL, LOGL_ERROR, "Freeing NULL RAN connection\n"); -- To view, visit https://gerrit.osmocom.org/13152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id957032e0ae1ff8ba055a75c3523447d3d06cbc3 Gerrit-Change-Number: 13152 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:41:47 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:41:47 +0000 Subject: Change in osmo-msc[master]: gsm_04_11_gsup.c: drop unused conn lookup In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13153 ) Change subject: gsm_04_11_gsup.c: drop unused conn lookup ...................................................................... gsm_04_11_gsup.c: drop unused conn lookup An earlier code state used the conn to lookup the transaction, but this is now done by vsub. Hence the conn lookup is not used and not needed. conn is no longer used since 36c44b210059bd75059008913ad05976dfef7d7e, change-Id I093f36d63e671e50e54fc6236e97a777cc6da77b, "transaction: change arguments of trans_find_by_sm_rp_mr()" Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 0 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 8b1225e..eb092ae 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -121,7 +121,6 @@ struct vlr_instance *vlr; struct gsm_network *net; struct gsm_trans *trans; - struct ran_conn *conn; const char *msg_name; bool msg_is_err; @@ -165,16 +164,6 @@ if (msg_is_err && !gsup_msg->sm_rp_cause) goto msg_error; - /* Attempt to find a DTAP-connection */ - conn = connection_for_subscr(vsub); - if (!conn) { - /* FIXME: should we establish it then? */ - LOGP(DLSMS, LOGL_NOTICE, "No connection found for %s, " - "ignoring %s-%s message...\n", vlr_subscr_name(vsub), - msg_name, msg_is_err ? "Err" : "Res"); - return -EIO; /* TODO: notify sender about that? */ - } - /* Attempt to find DTAP-transaction */ trans = trans_find_by_sm_rp_mr(net, vsub, *(gsup_msg->sm_rp_mr)); if (!trans) { -- To view, visit https://gerrit.osmocom.org/13153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia878d70138c883cb1a1d983516aff83efa6488ce Gerrit-Change-Number: 13153 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:41:48 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:41:48 +0000 Subject: Change in osmo-msc[master]: SMS queue: properly log failed attempts number In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13154 ) Change subject: SMS queue: properly log failed attempts number ...................................................................... SMS queue: properly log failed attempts number Change-Id: I16f2d29855eb715eccbdc5def225f43c110fab8e --- M src/libmsc/sms_queue.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index c5d2fc2..c924dde 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -151,11 +151,12 @@ struct gsm_network *net = pending->vsub->vlr->user_ctx; struct gsm_sms_queue *smsq; + pending->failed_attempts++; LOGP(DLSMS, LOGL_NOTICE, "Sending SMS %llu failed %d times.\n", pending->sms_id, pending->failed_attempts); smsq = net->sms_queue; - if (++pending->failed_attempts < smsq->max_fail) + if (pending->failed_attempts < smsq->max_fail) return sms_pending_resend(pending); sms_pending_free(pending); -- To view, visit https://gerrit.osmocom.org/13154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I16f2d29855eb715eccbdc5def225f43c110fab8e Gerrit-Change-Number: 13154 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:42:11 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 7 Mar 2019 15:42:11 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Properly support assigning signalling mode TCH/x Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/13172 Change subject: assignment_fsm: Properly support assigning signalling mode TCH/x ...................................................................... assignment_fsm: Properly support assigning signalling mode TCH/x To support the 3 possible preferences, the changes needed were: - Replace 'full_rate' bool with a 3 option enum to represent the channels types for signalling - Switch from _pref/_alt to using an array sorted in preference order Change-Id: I4c7499c8c866ea3ff7b1327edb3615d003d927d3 Signed-off-by: Sylvain Munaut --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/codec_pref.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/osmo_bsc_bssap.c M tests/codec_pref/codec_pref_test.c 8 files changed, 167 insertions(+), 133 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/72/13172/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c4315c0..e9262b4 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -98,9 +98,15 @@ SUBSCR_SCCP_ST_CONNECTED }; +enum channel_rate { + CH_RATE_SDCCH, + CH_RATE_HALF, + CH_RATE_FULL, +}; + struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; - bool full_rate; + enum channel_rate chan_rate; uint16_t s15_s0; }; @@ -115,12 +121,9 @@ char msc_rtp_addr[INET_ADDRSTRLEN]; uint16_t msc_rtp_port; - /* Prefered rate/codec setting (mandatory) */ - struct channel_mode_and_rate ch_mode_rate_pref; - - /* Alternate rate/codec setting (optional) */ - bool ch_mode_rate_alt_present; - struct channel_mode_and_rate ch_mode_rate_alt; + /* Rate/codec setting in preference order (need 1 !) */ + int n_ch_mode_rate; + struct channel_mode_and_rate ch_mode_rate[3]; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 4aecdf6..865181b 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -3,4 +3,4 @@ struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, bool full_rate); + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 67937d6..6630a73 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -251,17 +251,15 @@ static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct channel_mode_and_rate *ch_mode_rate) { enum gsm48_chan_mode chan_mode = ch_mode_rate->chan_mode; - bool full_rate = ch_mode_rate->full_rate; + enum channel_rate chan_rate = ch_mode_rate->chan_rate; switch (chan_mode) { case GSM48_CMODE_SIGN: switch (type) { - case GSM_LCHAN_TCH_F: - case GSM_LCHAN_TCH_H: - case GSM_LCHAN_SDCCH: - return true; - default: - return false; + case GSM_LCHAN_TCH_F: return chan_rate == CH_RATE_FULL; + case GSM_LCHAN_TCH_H: return chan_rate == CH_RATE_HALF; + case GSM_LCHAN_SDCCH: return chan_rate == CH_RATE_SDCCH; + default: return false; } case GSM48_CMODE_SPEECH_V1: @@ -269,12 +267,12 @@ case GSM48_CMODE_DATA_3k6: case GSM48_CMODE_DATA_6k0: /* these services can all run on TCH/H, but we may have - * an explicit override by the 'full_rate' argument */ + * an explicit override by the 'chan_rate' argument */ switch (type) { case GSM_LCHAN_TCH_F: - return full_rate; + return chan_rate == CH_RATE_FULL; case GSM_LCHAN_TCH_H: - return !full_rate; + return chan_rate == CH_RATE_HALF; default: return false; } @@ -320,45 +318,34 @@ * sure that both are consistent. */ static int check_requires_voice_stream(struct gsm_subscriber_connection *conn) { - bool result_requires_voice_alt; - bool result_requires_voice_pref; + bool requires_voice_pref = false, requires_voice_alt; struct assignment_request *req = &conn->assignment.req; struct osmo_fsm_inst *fi = conn->fi; - int rc; + int i, rc; /* When the assignment request indicates that there is an alternate * rate available (e.g. "Full or Half rate channel, Half rate * preferred..."), then both must be either voice or either signalling, * a mismatch is not permitted */ - /* Check the prefered setting */ - rc = check_requires_voice(&result_requires_voice_pref, req->ch_mode_rate_pref.chan_mode); - if (rc < 0) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Prefered channel mode not supported: %s", - gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode)); - return -EINVAL; - } - conn->assignment.requires_voice_stream = result_requires_voice_pref; + for (i=0; in_ch_mode_rate; i++) { + rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate[i].chan_mode); + if (rc < 0) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Channel mode not supported (prev level %d): %s", i, + gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + return -EINVAL; + } - /* If there is an alternate setting, check that one as well */ - if (!req->ch_mode_rate_alt_present) - return 0; - rc = check_requires_voice(&result_requires_voice_alt, req->ch_mode_rate_alt.chan_mode); - if (rc < 0) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Alternate channel mode not supported: %s", - gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); - return -EINVAL; - } - - /* Make sure both settings match */ - if (result_requires_voice_pref != result_requires_voice_alt) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Inconsistent channel modes: %s != %s", - gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), - gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); - return -EINVAL; + if (i==0) + requires_voice_pref = requires_voice_alt; + else if (requires_voice_alt != requires_voice_pref) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Inconsistent channel modes: %s != %s", + gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), + gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + return -EINVAL; + } } return 0; @@ -370,18 +357,20 @@ static bool reuse_existing_lchan(struct gsm_subscriber_connection *conn) { struct assignment_request *req = &conn->assignment.req; + int i; if (!conn->lchan) return false; /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ - if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_pref)) - conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; - else if (req->ch_mode_rate_alt_present - && lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_alt)) - conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; - else + for (i=0; in_ch_mode_rate; i++) + if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { + conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + break; + } + + if (i == req->n_ch_mode_rate) return false; if (conn->lchan->tch_mode != conn->lchan->ch_mode_rate.chan_mode) { @@ -399,8 +388,14 @@ void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req) { + static const char *rate_names[] = { + [CH_RATE_SDCCH] = "SDCCH", + [CH_RATE_HALF] = "HR", + [CH_RATE_FULL] = "FR", + }; struct osmo_fsm_inst *fi; struct lchan_activate_info info; + int i; OSMO_ASSERT(conn); OSMO_ASSERT(conn->fi); @@ -443,17 +438,13 @@ return; } - /* Try to allocate a new lchan with the preferred codec/rate choice */ - conn->assignment.new_lchan = - lchan_select_by_chan_mode(bts, req->ch_mode_rate_pref.chan_mode, req->ch_mode_rate_pref.full_rate); - conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; - - /* In case the lchan allocation fails, we try with the alternat codec/ - * rate choice (if possible) */ - if (!conn->assignment.new_lchan && req->ch_mode_rate_alt_present) { - conn->assignment.new_lchan = - lchan_select_by_chan_mode(bts, req->ch_mode_rate_alt.chan_mode, req->ch_mode_rate_alt.full_rate); - conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; + /* Try to allocate a new lchan in order of preference */ + for (i=0; in_ch_mode_rate; i++) { + conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, + req->ch_mode_rate[i].chan_mode, req->ch_mode_rate[i].chan_rate); + conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + if (conn->assignment.new_lchan) + break; } /* Check whether the lchan allocation was successful or not and tear @@ -462,21 +453,22 @@ assignment_count_result(BSC_CTR_ASSIGNMENT_NO_CHANNEL); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" - " No lchan available for: preferred=%s%s / alternate=%s%s\n", - gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), - req->ch_mode_rate_pref.full_rate ? ",FR" : ",HR", - req->ch_mode_rate_alt_present ? - gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode) : "none", - req->ch_mode_rate_alt_present ? - (req->ch_mode_rate_alt.full_rate ? ",FR" : ",HR") : ""); + " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", + gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), + rate_names[req->ch_mode_rate[0].chan_rate], + req->n_ch_mode_rate >= 1 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", + req->n_ch_mode_rate >= 1 ? rate_names[req->ch_mode_rate[0].chan_rate] : "", + req->n_ch_mode_rate >= 2 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", + req->n_ch_mode_rate >= 2 ? rate_names[req->ch_mode_rate[0].chan_rate] : "" + ); return; } assignment_fsm_update_id(conn); - LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, full_rate=%d," + LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s," " aoip=%s MSC-rtp=%s:%u\n", gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), - conn->lchan->ch_mode_rate.full_rate, + rate_names[conn->lchan->ch_mode_rate.chan_rate], req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index a94d6a8..659853c 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -281,6 +281,7 @@ { unsigned int i; uint8_t perm_spch; + bool full_rate; bool match = false; const struct gsm0808_speech_codec *sc_match = NULL; uint16_t amr_s15_s0_supported; @@ -295,15 +296,16 @@ perm_spch = audio_support_to_gsm88(msc->audio_support[i]); /* Determine if the result is a half or full rate codec */ - rc = full_rate_from_perm_spch(&ch_mode_rate->full_rate, perm_spch); + rc = full_rate_from_perm_spch(&full_rate, perm_spch); if (rc < 0) return -EINVAL; + ch_mode_rate->chan_rate = full_rate ? CH_RATE_FULL : CH_RATE_HALF; /* If we have a preference for FR or HR in our request, we * discard the potential match */ - if (rate_pref == RATE_PREF_HR && ch_mode_rate->full_rate) + if (rate_pref == RATE_PREF_HR && ch_mode_rate->chan_rate == CH_RATE_FULL) continue; - if (rate_pref == RATE_PREF_FR && !ch_mode_rate->full_rate) + if (rate_pref == RATE_PREF_FR && ch_mode_rate->chan_rate == CH_RATE_HALF) continue; /* Check this permitted speech value against the BTS specific parameters. @@ -321,8 +323,8 @@ /* Exit without result, in case no match can be deteched */ if (!match) { - ch_mode_rate->full_rate = false; ch_mode_rate->chan_mode = GSM48_CMODE_SIGN; + ch_mode_rate->chan_rate = CH_RATE_SDCCH; ch_mode_rate->s15_s0 = 0; return -1; } diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 30297f6..f53e6bd 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -568,10 +568,10 @@ } LOG_HO(conn, LOGL_DEBUG, "BTS %u: Found matching audio type: %s %s (for %s)\n", - bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), ch_mode_rate.full_rate? "full-rate" : "half-rate", + bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), ch_mode_rate.chan_rate == CH_RATE_FULL ? "full-rate" : "half-rate", gsm0808_channel_type_name(&req->ct)); - lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.full_rate); + lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.chan_rate); if (!lchan) { LOG_HO(conn, LOGL_DEBUG, "BTS %u has no matching free channels\n", bts->nr); continue; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 0f4dd65..0a9752e 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -128,22 +128,31 @@ } struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, bool full_rate) + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) { enum gsm_chan_t type; switch (chan_mode) { case GSM48_CMODE_SIGN: - type = GSM_LCHAN_SDCCH; + switch (chan_rate) { + case CH_RATE_SDCCH: type = GSM_LCHAN_SDCCH; break; + case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; + case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; + default: return NULL; + } break; case GSM48_CMODE_SPEECH_EFR: /* EFR works over FR channels only */ - if (!full_rate) + if (chan_rate != CH_RATE_FULL) return NULL; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: - type = full_rate ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H; + switch (chan_rate) { + case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; + case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; + default: return NULL; + } break; default: return NULL; diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 85aab22..9bb62be 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -626,60 +626,48 @@ static int select_codecs(struct assignment_request *req, struct gsm0808_channel_type *ct, struct gsm_subscriber_connection *conn) { - int rc; + int rc, i, nc = 0; struct bsc_msc_data *msc; msc = conn->sccp.msc; - req->ch_mode_rate_alt_present = false; switch (ct->ch_rate_type) { case GSM0808_SPEECH_FULL_BM: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); + nc += (rc == 0); break; case GSM0808_SPEECH_HALF_LM: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); + nc += (rc == 0); break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - if (rc < 0) { - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), - RATE_PREF_HR); - break; - } - rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), + nc += (rc == 0); + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - if (rc == 0) - req->ch_mode_rate_alt_present = true; - rc = 0; + nc += (rc == 0); break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - - if (rc < 0) { - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), - RATE_PREF_FR); - break; - } - rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), + nc += (rc == 0); + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - if (rc == 0) - req->ch_mode_rate_alt_present = true; - rc = 0; + nc += (rc == 0); break; default: rc = -EINVAL; break; } - if (rc < 0) { + if (!nc) { LOGP(DMSC, LOGL_ERROR, "No supported audio type found for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[%s] }\n", ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); @@ -688,29 +676,69 @@ return -EINVAL; } - if (req->ch_mode_rate_alt_present) { - DEBUGP(DMSC, "Found matching audio type (preferred): %s %s for channel_type =" + for (i=0; ich_mode_rate_pref.full_rate ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), + i, + req->ch_mode_rate[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate[i].chan_mode), ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - DEBUGP(DMSC, "Found matching audio type (alternative): %s %s for channel_type =" - " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - req->ch_mode_rate_alt.full_rate ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_alt.chan_mode), - ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - } else { - DEBUGP(DMSC, "Found matching audio type: %s %s for channel_type =" - " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), - ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - } + req->n_ch_mode_rate = nc; + return 0; } +static int select_sign_chan(struct assignment_request *req, struct gsm0808_channel_type *ct) +{ + int i, nc = 0; + + switch (ct->ch_rate_type) { + case GSM0808_SIGN_ANY: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + case GSM0808_SIGN_SDCCH: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + break; + case GSM0808_SIGN_SDCCH_FULL_BM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + case GSM0808_SIGN_SDCCH_HALF_LM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + break; + case GSM0808_SIGN_FULL_BM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + case GSM0808_SIGN_HALF_LM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + break; + case GSM0808_SIGN_FULL_PREF: + case GSM0808_SIGN_FULL_PREF_NO_CHANGE: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + break; + case GSM0808_SIGN_HALF_PREF: + case GSM0808_SIGN_HALF_PREF_NO_CHANGE: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + default: + break; + } + + for (i=0; ich_mode_rate[i].chan_mode = GSM48_CMODE_SIGN; + + req->n_ch_mode_rate = nc; + + return nc > 0 ? 0 : -EINVAL; +} + /* * Handle the assignment request message. * @@ -728,7 +756,6 @@ uint8_t cause; int rc; struct assignment_request req = {}; - struct channel_mode_and_rate ch_mode_rate_pref = {}; if (!conn) { LOGP(DMSC, LOGL_ERROR, @@ -849,14 +876,15 @@ } break; case GSM0808_CHAN_SIGN: - ch_mode_rate_pref = (struct channel_mode_and_rate) { - .chan_mode = GSM48_CMODE_SIGN, - }; - req = (struct assignment_request){ .aoip = aoip, - .ch_mode_rate_pref = ch_mode_rate_pref, }; + + rc = select_sign_chan(&req, &ct); + if (rc < 0) { + cause = GSM0808_CAUSE_INCORRECT_VALUE; + goto reject; + } break; default: cause = GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS; diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c index bb5468a..ce82f3d 100644 --- a/tests/codec_pref/codec_pref_test.c +++ b/tests/codec_pref/codec_pref_test.c @@ -407,7 +407,7 @@ rc = match_codec_pref(&ch_mode_rate, ct, scl, msc, bts, RATE_PREF_NONE); printf(" * result: rc=%i, full_rate=%i, s15_s0=%04x, chan_mode=%s\n", - rc, ch_mode_rate.full_rate, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); + rc, ch_mode_rate.chan_rate == CH_RATE_FULL, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); printf("\n"); -- To view, visit https://gerrit.osmocom.org/13172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4c7499c8c866ea3ff7b1327edb3615d003d927d3 Gerrit-Change-Number: 13172 Gerrit-PatchSet: 1 Gerrit-Owner: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:42:46 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 7 Mar 2019 15:42:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log time in tcpdump-start and -stop.sh In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13166 ) Change subject: log time in tcpdump-start and -stop.sh ...................................................................... Patch Set 1: Code-Review+1 Fine, but $TESTNAME.pcap.stdout will contain already a timestamp about start of capture. -- To view, visit https://gerrit.osmocom.org/13166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 Gerrit-Change-Number: 13166 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 15:42:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:53:19 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:53:19 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13173 Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... sms queue: avoid repeated Paging for a failed SMS So far, sms_pending_failed() starts a new sms_queue_trigger() run. The intention behind that might have been to fill up the queue when sending SMS has failed, but the practical effect is actually bad: As current ttcn3-msc-test runs show, a failed MT SMS gets triggered multiple times in short succession, i.e. osmo-msc repeatedly sends Paging Requests for the same subscriber. This special case happens actually only when there are few SMS still in the DB to be delivered. In the TTCN3 test, there is exactly one MT SMS for one subscriber, and retriggering the queue brings up the same SMS every time. See f_tc_lu_and_mt_sms_paging_and_nothing() and f_tc_sgsap_mt_sms_and_nothing() which say: "/* Expect the MSC to page exactly 10 times before giving up */" This is bad because an MSC should send a Paging Request exactly once. Retrying failed Paging is clearly the task of the BSC, not the MSC. The remaining code around Paging correctly follows this paradigm, but this retrigger doesn't. Do not immediately trigger the SMS queue on a failed MT SMS. Instead, leave it up to the periodical SMS queue trigger to decide. (For this TTCN3 test, what is actually missing is discarding the failed SMS as soon as a failed attempt is through; patches pending.) Related: I7dce12942a65eaaf97f78ca69401c7f93faacb9e (osmo-ttcn3-hacks) Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 --- M src/libmsc/sms_queue.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/73/13173/1 diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index c924dde..fa57d98 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -161,7 +161,6 @@ sms_pending_free(pending); smsq->pending -= 1; - sms_queue_trigger(smsq); } /* -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 15:53:19 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 15:53:19 +0000 Subject: Change in osmo-msc[master]: vty: add cmd subscriber ID sms delete-all Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13174 Change subject: vty: add cmd subscriber ID sms delete-all ...................................................................... vty: add cmd subscriber ID sms delete-all In ttcn3-msc-tests, so far we leave an intentionally failed MT SMS in the SMS queue, which may cause it to re-appear in subsequent tests. Allow removing all SMS for a given subscriber from the SMS database for good. I also remember a user report where the SMS queue spams failed SMS attempts, and the only way to get rid of SMS for a given subscriber is to tamper with the sms.db file directly. This should no longer be necessary with this command. Related: I7dce12942a65eaaf97f78ca69401c7f93faacb9e (osmo-ttcn3-hacks) Change-Id: I637cbd7adc075a192f49752b38779391472ff06d --- M src/libmsc/msc_vty.c 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/74/13174/1 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 2adb2a4..ac3946a 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -959,6 +959,30 @@ return CMD_SUCCESS; } +DEFUN(subscriber_sms_delete_all, + subscriber_sms_delete_all_cmd, + "subscriber " SUBSCR_TYPES " ID sms delete-all", + SUBSCR_HELP "SMS Operations\n" + "Delete all SMS to be delivered to this subscriber" + " -- WARNING: the SMS data for all unsent SMS for this subscriber" + " WILL BE LOST.\n") +{ + struct vlr_subscr *vsub; + + vsub = get_vsub_by_argv(gsmnet, argv[0], argv[1]); + if (!vsub) { + vty_out(vty, "%% No subscriber found for %s %s%s", + argv[0], argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + + db_sms_delete_by_msisdn(vsub->msisdn); + + vlr_subscr_put(vsub); + + return CMD_SUCCESS; +} + DEFUN(subscriber_send_sms, subscriber_send_sms_cmd, "subscriber " SUBSCR_TYPES " ID sms sender " SUBSCR_TYPES " SENDER_ID send .LINE", @@ -1651,6 +1675,7 @@ install_element(ENABLE_NODE, &smsqueue_clear_cmd); install_element(ENABLE_NODE, &smsqueue_fail_cmd); install_element(ENABLE_NODE, &subscriber_send_pending_sms_cmd); + install_element(ENABLE_NODE, &subscriber_sms_delete_all_cmd); install_element(CONFIG_NODE, &cfg_mncc_int_cmd); install_node(&mncc_int_node, config_write_mncc_int); -- To view, visit https://gerrit.osmocom.org/13174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I637cbd7adc075a192f49752b38779391472ff06d Gerrit-Change-Number: 13174 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 16:34:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 16:34:37 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13173 ) Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13173/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13173/1//COMMIT_MSG at 25 PS1, Line 25: This is bad because an MSC should send a Paging Request exactly once. Retrying : failed Paging is clearly the task of the BSC, not the MSC this is not always true. Do you have a specific reference for this? I know that e.g. some MSCs are increasing the scope, i.e. they first page in the LA of the LAC of the last LU, then move to neighboring LAs or even do a network-wide paging. So I'm wondering if the assumption that a MSC shall never send multiple paging requests for a single transaction is correct, even only within the specs? -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 07 Mar 2019 16:34:37 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 16:34:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 16:34:41 +0000 Subject: Change in osmo-msc[master]: vty: add cmd subscriber ID sms delete-all In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13174 ) Change subject: vty: add cmd subscriber ID sms delete-all ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I637cbd7adc075a192f49752b38779391472ff06d Gerrit-Change-Number: 13174 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 16:34:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:02:39 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 17:02:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log time in tcpdump-start and -stop.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13166 ) Change subject: log time in tcpdump-start and -stop.sh ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 Gerrit-Change-Number: 13166 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 17:02:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:03:50 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 17:03:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_reset: add final delay to fix spurious failure In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13171 ) Change subject: msc: f_tc_sgsap_reset: add final delay to fix spurious failure ...................................................................... Patch Set 1: It might be worth clarifying which failures you're referring to - either as comment of in commit log. -- To view, visit https://gerrit.osmocom.org/13171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd Gerrit-Change-Number: 13171 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Thu, 07 Mar 2019 17:03:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:04:13 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 17:04:13 +0000 Subject: Change in osmo-pcu[master]: Enable LGLOBAL logging for TBF tests In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13165 ) Change subject: Enable LGLOBAL logging for TBF tests ...................................................................... Enable LGLOBAL logging for TBF tests This exposes the bug in BSSGP rate counter group allocation in the current tests version which should be fixed in a separate commit. Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index ff73d90..d78a4ab 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -3262,7 +3262,7 @@ bssgp_set_log_ss(DBSSGP); log_parse_category_mask(osmo_stderr_target, "DRLCMAC,1:DRLCMACDATA,3:DRLCMACDL,3:DRLCMACUL,3:" "DRLCMACSCHED,1:DRLCMACMEAS,3:DNS,3:DBSSGP,3:DPCU,5:" - "DL1IF,6:DTBF,1:DTBFUL,1:DTBFDL,1:"); + "DL1IF,6:DTBF,1:DTBFUL,1:DTBFDL,1:DLGLOBAL,2:"); vty_init(&pcu_vty_info); pcu_vty_init(&gprs_log_info); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e788ccc..4e15256 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1337,6 +1337,7 @@ - Failed to find a usable TRX (TFI exhausted) No PDCH resource Destroying MS object, TLLI = 0x00000000 +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1235. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -3014,8 +3015,10 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1236. This is a software bug that needs fixing. Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1237. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 @@ -5904,6 +5907,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1238. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 -- To view, visit https://gerrit.osmocom.org/13165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc Gerrit-Change-Number: 13165 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:05:14 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 17:05:14 +0000 Subject: Change in osmo-pcu[master]: Log (M)CS UL update errors In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13162 ) Change subject: Log (M)CS UL update errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e Gerrit-Change-Number: 13162 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 07 Mar 2019 17:05:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:05:19 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 7 Mar 2019 17:05:19 +0000 Subject: Change in osmo-pcu[master]: Log (M)CS UL update errors In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13162 ) Change subject: Log (M)CS UL update errors ...................................................................... Log (M)CS UL update errors Previously some of the errors in update_cs_ul() call were silently ignored. Let's log all those as errors with appropriate message. Note: test output needs updating because we do not (yet) set proper meas struct in TBF tests. That's likely wrong but it's better to update tests in a separate commit. Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e --- M src/gprs_ms.cpp M tests/tbf/TbfTest.err 2 files changed, 30 insertions(+), 2 deletions(-) Approvals: Max: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 87a35d1..8855053 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -633,11 +633,19 @@ OSMO_ASSERT(current_cs_num > 0); - if (!m_current_cs_ul) + if (!m_current_cs_ul) { + LOGP(DRLCMACMEAS, LOGL_ERROR, + "Unable to update UL (M)CS because it's not set: %s\n", + m_current_cs_ul.name()); return; + } - if (!meas->have_link_qual) + if (!meas->have_link_qual) { + LOGP(DRLCMACMEAS, LOGL_ERROR, + "Unable to update UL (M)CS %s because we don't have link quality measurements.\n", + m_current_cs_ul.name()); return; + } old_link_qual = meas->link_qual; @@ -652,6 +660,9 @@ low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; high = bts_data->mcs_lqual_ranges[current_cs_num-1].high; } else { + LOGP(DRLCMACMEAS, LOGL_ERROR, + "Unable to update UL (M)CS because it's neither GPRS nor EDGE: %s\n", + m_current_cs_ul.name()); return; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 4e15256..8d5adf9 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1454,6 +1454,7 @@ - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1529,6 +1530,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1543,6 +1545,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1609,6 +1612,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1623,6 +1627,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1739,6 +1744,7 @@ Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ @@ -1754,6 +1760,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-4 because we don't have link quality measurements. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1804,6 +1811,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1818,6 +1826,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1895,6 +1904,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1930,6 +1940,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -1971,6 +1982,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1985,6 +1997,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2055,6 +2068,7 @@ - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2117,6 +2131,7 @@ Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2131,6 +2146,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) @@ -2794,6 +2810,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 +Unable to update UL (M)CS CS-1 because we don't have link quality measurements. Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ -- To view, visit https://gerrit.osmocom.org/13162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e Gerrit-Change-Number: 13162 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:09:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:09:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log time in tcpdump-start and -stop.sh In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13166 ) Change subject: log time in tcpdump-start and -stop.sh ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 Gerrit-Change-Number: 13166 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 17:09:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:09:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:09:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: log time in tcpdump-start and -stop.sh In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13166 ) Change subject: log time in tcpdump-start and -stop.sh ...................................................................... log time in tcpdump-start and -stop.sh Also log the testcase name in tcpdump-start.sh. The output now looks like ------ MSC_Tests.TC_mo_cc_bssmap_clear ------ Thu Mar 7 13:21:00 UTC 2019 [...] Thu Mar 7 13:21:04 UTC 2019 ====== MSC_Tests.TC_mo_cc_bssmap_clear pass ====== The reason to log start and end dates came up like this: I noticed a segfault in a tested program at a specific time. From the timestamp I tried to find out which of the tests saw the failure. (After a segfault, all subsequent tests run and fail, but it is not obvious which failure occured because of a segfault, and which ones just normally failed before that.) Looking at the timestamps of the log files didn't help, because the ttcn3_logmerge touched those after the tests completed. So the only way is to cat each individual log file and find the timestamp. So this adds an overview of the timestamps without needing to open log files. Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Max: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index 395941d..747002b 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -4,6 +4,9 @@ TCPDUMP=/usr/sbin/tcpdump TESTCASE=$1 +echo "------ $TESTCASE ------" +date + if [ "z$TTCN3_PCAP_PATH" = "z" ]; then TTCN3_PCAP_PATH=/tmp fi diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index 9404841..baabefe 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -4,6 +4,8 @@ TESTCASE=$1 VERDICT="$2" +date + if [ x"$VERDICT" = x"pass" ]; then echo "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" else -- To view, visit https://gerrit.osmocom.org/13166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3 Gerrit-Change-Number: 13166 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:09:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:09:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_optional_cc_rel to ignore CC REL during call abort tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13167 ) Change subject: msc: add as_optional_cc_rel to ignore CC REL during call abort tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd Gerrit-Change-Number: 13167 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:09:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:11:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:11:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_call_hangup: ignore MDCX In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13168 ) Change subject: msc: f_call_hangup: ignore MDCX ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13168/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13168/1//COMMIT_MSG at 10 PS1, Line 10: there might : still be an MDCX in the message queue I'm not familiar with the problem at hand. But if this is about something that might still be in a queue, then a simple "clear" of that queue (testport) sounds like a more conservative fix/workaround? This way you flush it once, rather than accepting any number of MDCX anywhere when the default is activated? -- To view, visit https://gerrit.osmocom.org/13168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I768f16288617aade6a4d6548129e6f9e0b1d4d33 Gerrit-Change-Number: 13168 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 07 Mar 2019 17:11:47 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:12:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:12:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: as_clear_cmd_compl_disc: log unexpected message In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13169 ) Change subject: msc: as_clear_cmd_compl_disc: log unexpected message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5cafac3318a50567f1916ea670af55558e97bf17 Gerrit-Change-Number: 13169 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:12:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:13:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:13:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: move sms sending to BSC_ConnHdlr and send from within test flow In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13170 ) Change subject: msc: move sms sending to BSC_ConnHdlr and send from within test flow ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5f348b3d30342b7c4871a1fc8f94648923e82eea Gerrit-Change-Number: 13170 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:13:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:13:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:13:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_reset: add final delay to fix spurious failure In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13171 ) Change subject: msc: f_tc_sgsap_reset: add final delay to fix spurious failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd Gerrit-Change-Number: 13171 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Thu, 07 Mar 2019 17:13:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:28:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:28:51 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: > I've gone through a few iterations, some using limited size arrays, > some using enum values, and this is the final result that I am > actually quite satisfied with. I know it *looks* like it is > spamming on dynamic allocation and list iteration but consider: > > - in osmo-msc I actually avoid all dynamic allocation using static > use count entries (see in-code comment below, use_count.h:174). > > - use count lists so far have at most six entries in practice, > usually more like 3. Traversing six llist->next pointers is less > effort than doing your common strlen(); compare with osmo_strlcpy() > which always does a strlen() no matter what, and we don't think > twice. "Premature Optimization is the root of all evil". But SCNR: The expensive cost about linked list iteration is not CPU cost, it's cache line misses. Your CPU is likely going to spend thousands of cycles doing nothing just waiting for data from RAM to arrive, and in the worst case for each of the list elements you iterate over, as they are not contiguously allocated and spread across RAM. I'm not saying this level of optimization is important here, I'm just sharing some perspective. The kernel has some explicit prefetch macros in the linked list code to improve the situation, not sure how much. > - Compared to get_value_string() which we do *all* *the* *time* (at > least when logging is enabled), this API imposes negligible > traversal overhead. yes. wireshark has an optimzied get_value_string derivative now, which generates a hash table at runtime. We could switch to that if it ever was an issue. Debug logging is not enabled in typical operation, though. > - Let alone comparing to ran connection or VLR subscriber or > gsm_trans lookup: so far we keep all gsm_trans items for all > subscribers in *one single global* llist, and when looking for a > trans for a given subscriber, we more often than not traverse the > entire list. Yes, but that's rather easy to replace with a hash table or the like, (Linux kernel has plenty of hash tables where the individual buckets are llist_entry) where only few places will need to be changed. > I can understand that this *seems* quite wasteful at first, but if > you take a closer look I expect that you guys will agree with me: > it is a fairly small overhead for a very nice API. Contrary to some of the other things we do so far, I think with this new infrastructure it may not be as easy to optimize the implementation without breaking the users. I'll read the patch one more time and provide more review. I'm not fundamentally opposed and if you think it's what you need, so be it. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 07 Mar 2019 17:28:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:29:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:29:53 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: > > use a [0] sized array at the end of the counter > > I actually had exactly this scheme in an earlier version of this > patch, but I moved away from that, because: if we ever surpass the > use count we expected during development, the program would crash. > It would go fine for most of the time, just once in a while when N > events appear at the same time, boom. IMHO, you would simply check the size and refuse that additional transaction, no need to crash. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 07 Mar 2019 17:29:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:31:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:31:03 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13131 ) Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... Patch Set 3: Code-Review+2 if pau is happy here, please go ahead and merge this patch series. I wouldn't expect much feedback from others on osmo-gsm-tester. -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 07 Mar 2019 17:31:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:31:27 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:31:27 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13039 ) Change subject: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a7b3ce8646d641569eac24e202f44cdb5f67b3d Gerrit-Change-Number: 13039 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 07 Mar 2019 17:31:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:32:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:32:52 +0000 Subject: Change in libosmocore[master]: tdef_test: tweak output to prepare for a fix In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13141 ) Change subject: tdef_test: tweak output to prepare for a fix ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 Gerrit-Change-Number: 13141 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:32:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:33:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:33:14 +0000 Subject: Change in libosmocore[master]: fix tdef_test.c: do call the function-to-test in all cases In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13142 ) Change subject: fix tdef_test.c: do call the function-to-test in all cases ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 Gerrit-Change-Number: 13142 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:33:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:33:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:33:56 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13143 ) Change subject: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db Gerrit-Change-Number: 13143 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:33:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:07 +0000 Subject: Change in osmo-remsim[master]: rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAd... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13107 ) Change subject: rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAddr_t ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic6cccb00d1d65bdab84178acb1e0525e11bc1315 Gerrit-Change-Number: 13107 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:34:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:09 +0000 Subject: Change in osmo-remsim[master]: rspro_util: Add rspro_comp_id_retrieve() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13106 ) Change subject: rspro_util: Add rspro_comp_id_retrieve() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b Gerrit-Change-Number: 13106 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:34:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:10 +0000 Subject: Change in osmo-remsim[master]: respro_util: Add rspro_gen_ConfigClientRes() function In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13105 ) Change subject: respro_util: Add rspro_gen_ConfigClientRes() function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib14bc617ed60c64d3b69094f30901f78cafba3b3 Gerrit-Change-Number: 13105 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:34:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:12 +0000 Subject: Change in osmo-remsim[master]: move osmo_fsm_register() into constructor function In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13104 ) Change subject: move osmo_fsm_register() into constructor function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I20753d7f7f485e7e495b64fa74b24858cd22ffa9 Gerrit-Change-Number: 13104 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 17:34:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:44 +0000 Subject: Change in osmo-remsim[master]: client: Connect to server before connecting to bankd Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13175 Change subject: client: Connect to server before connecting to bankd ...................................................................... client: Connect to server before connecting to bankd So far we skipped the client->server connection and related configuration transfer from server to client. Now, the server instructs the client to which bankd ip/port to connect. Change-Id: I76c9498089515d1a6190f3e79e143b7df3a531bd --- M src/client.h M src/remsim_client.c M src/remsim_client_fsm.c M src/simtrace2-remsim_client.c 4 files changed, 160 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/75/13175/1 diff --git a/src/client.h b/src/client.h index 6918560..1917cb5 100644 --- a/src/client.h +++ b/src/client.h @@ -10,9 +10,10 @@ /* fsm.c */ enum bankd_conn_fsm_event { - BDC_E_TCP_UP, - BDC_E_TCP_DOWN, - BDC_E_CLIENT_CONN_RES, + BDC_E_ESTABLISH, /* instruct BDC to (re)etablish TCP connection to bankd */ + BDC_E_TCP_UP, /* notify BDC that TCP connection is up/connected */ + BDC_E_TCP_DOWN, /* notify BDC that TCP connection is down/disconnected */ + BDC_E_CLIENT_CONN_RES, /* notify BDC that ClientConnectRes has been received */ }; extern struct osmo_fsm remsim_client_bankd_fsm; @@ -31,10 +32,12 @@ /* state */ struct ipa_client_conn *conn; struct osmo_fsm_inst *fi; - int (*handle_rx)(struct rspro_server_conn *conn, RsproPDU_t *pdu); + int (*handle_rx)(struct rspro_server_conn *conn, const RsproPDU_t *pdu); /* our own component ID */ struct app_comp_id own_comp_id; + /* remote component ID */ + struct app_comp_id peer_comp_id; /* configuration */ char *server_host; @@ -48,11 +51,10 @@ struct bankd_client { /* connection to the remsim-server (control) */ - struct ipa_client_conn *srv_conn; - struct osmo_fsm_inst *srv_fi; + struct rspro_server_conn srv_conn; - /* our own component ID */ - struct app_comp_id own_comp_id; + /* remote component ID */ + struct app_comp_id peer_comp_id; /* connection to the remsim-bankd */ char *bankd_host; diff --git a/src/remsim_client.c b/src/remsim_client.c index 62f65f9..2f740d4 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -26,6 +26,8 @@ switch (pdu->msg.present) { case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of bankd to in peer_comp_id */ + rspro_comp_id_retrieve(&bc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); osmo_fsm_inst_dispatch(bc->bankd_fi, BDC_E_CLIENT_CONN_RES, pdu); break; default: @@ -84,17 +86,62 @@ void __thread *talloc_asn1_ctx; int asn_debug; +/* handle incoming messages from server */ +static int srvc_handle_rx(struct rspro_server_conn *srvc, const RsproPDU_t *pdu) +{ + RsproPDU_t *resp; + + switch (pdu->msg.present) { + case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of server in srvc->peer_comp_id */ + rspro_comp_id_retrieve(&srvc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); + osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); + break; + case RsproPDUchoice_PR_configClientReq: + /* store/set the clientID as instructed by the server */ + if (!g_client->clslot) + g_client->clslot = talloc_zero(g_client, ClientSlot_t); + *g_client->clslot = pdu->msg.choice.configClientReq.clientSlot; + /* store/set the bankd ip/port as instructed by the server */ + osmo_talloc_replace_string(g_client, &g_client->bankd_host, + rspro_IpAddr2str(&pdu->msg.choice.configClientReq.bankd.ip)); + g_client->bankd_port = ntohs(pdu->msg.choice.configClientReq.bankd.port); + /* instruct bankd FSM to connect */ + osmo_fsm_inst_dispatch(g_client->bankd_fi, BDC_E_ESTABLISH, NULL); + /* send response to server */ + resp = rspro_gen_ConfigClientRes(ResultCode_ok); + ipa_client_conn_send_rspro(srvc->conn, resp); + break; + default: + fprintf(stderr, "Unknown/Unsupported RSPRO PDU type: %u\n", pdu->msg.present); + return -1; + } + + return 0; +} + int main(int argc, char **argv) { + struct rspro_server_conn *srvc; + int rc; + g_tall_ctx = talloc_named_const(NULL, 0, "global"); g_client = talloc_zero(g_tall_ctx, struct bankd_client); - g_client->bankd_host = "localhost"; - g_client->bankd_port = 9999; - g_client->own_comp_id.type = ComponentType_remsimClient; - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.name, "fixme-name"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.software, "remsim-client"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.sw_version, PACKAGE_VERSION); + + srvc = &g_client->srv_conn; + srvc->server_host = "localhost"; + srvc->server_port = 9998; + srvc->handle_rx = srvc_handle_rx; + srvc->own_comp_id.type = ComponentType_remsimClient; + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "fixme-name"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-client"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION); + rc = server_conn_fsm_alloc(g_client, srvc); + if (rc < 0) { + fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); + exit(1); + } asn_debug = 0; osmo_init_logging2(g_tall_ctx, &log_info); diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c index d361659..06df4e0 100644 --- a/src/remsim_client_fsm.c +++ b/src/remsim_client_fsm.c @@ -57,6 +57,7 @@ }; static const struct value_string remsim_client_bankd_fsm_event_names[] = { + OSMO_VALUE_STRING(BDC_E_ESTABLISH), OSMO_VALUE_STRING(BDC_E_TCP_UP), OSMO_VALUE_STRING(BDC_E_TCP_DOWN), OSMO_VALUE_STRING(BDC_E_CLIENT_CONN_RES), @@ -67,33 +68,10 @@ #define T2_RECONNECT 10 -static void bdc_st_init_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) -{ - struct bankd_client *bc = (struct bankd_client *) fi->priv; - int rc; - - printf("onenter\n"); - bc->bankd_conn = ipa_client_conn_create(bc, NULL, 0, bc->bankd_host, bc->bankd_port, - bankd_updown_cb, bankd_read_cb, NULL, bc); - if (!bc->bankd_conn) { - fprintf(stderr, "Unable to create socket: %s\n", strerror(errno)); - exit(1); - } - /* Attempt to connect TCP socket */ - rc = ipa_client_conn_open(bc->bankd_conn); - if (rc < 0) { - fprintf(stderr, "Unable to connect: %s\n", strerror(errno)); - exit(1); - } -} - static void bdc_st_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { - case BDC_E_TCP_UP: - osmo_fsm_inst_state_chg(fi, BDC_ST_ESTABLISHED, T1_WAIT_CLIENT_CONN_RES, 1); - break; - case BDC_E_TCP_DOWN: + case BDC_E_ESTABLISH: osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); break; default: @@ -107,7 +85,7 @@ RsproPDU_t *pdu; /* FIXME: Send ClientConnReq */ - pdu = rspro_gen_ConnectClientReq(&bc->own_comp_id, bc->clslot); + pdu = rspro_gen_ConnectClientReq(&bc->srv_conn.own_comp_id, bc->clslot); ipa_client_conn_send_rspro(bc->bankd_conn, pdu); } @@ -142,6 +120,21 @@ struct bankd_client *bc = (struct bankd_client *) fi->priv; int rc; + /* re-create bankd_conn */ + if (bc->bankd_conn) { + LOGPFSML(fi, LOGL_INFO, "Destroying existing connection to bankd\n"); + ipa_client_conn_destroy(bc->bankd_conn); + bc->bankd_conn = NULL; + } + LOGPFSML(fi, LOGL_INFO, "Creating TCP connection to bankd at %s:%u\n", + bc->bankd_host, bc->bankd_port); + bc->bankd_conn = ipa_client_conn_create(bc, NULL, 0, bc->bankd_host, bc->bankd_port, + bankd_updown_cb, bankd_read_cb, NULL, bc); + if (!bc->bankd_conn) { + fprintf(stderr, "Unable to create socket: %s\n", strerror(errno)); + exit(1); + } + /* Attempt to connect TCP socket */ rc = ipa_client_conn_open(bc->bankd_conn); if (rc < 0) { @@ -166,14 +159,27 @@ } } +static void bdc_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case BDC_ST_REESTABLISH: + osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); + break; + default: + OSMO_ASSERT(0); + } +} + static int remsim_client_bankd_fsm_timer_cb(struct osmo_fsm_inst *fi) { switch (fi->T) { case 2: + /* TCP reconnect failed: retry */ osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); break; case 1: - /* FIXME: close connection and re-start */ + /* no ClientConnectRes received: disconnect + reconnect */ + osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); break; default: OSMO_ASSERT(0); @@ -184,8 +190,8 @@ static const struct osmo_fsm_state bankd_conn_fsm_states[] = { [BDC_ST_INIT] = { .name = "INIT", - .in_event_mask = S(BDC_E_TCP_UP) | S(BDC_E_TCP_DOWN), - .out_state_mask = S(BDC_ST_ESTABLISHED) | S(BDC_ST_REESTABLISH), + .in_event_mask = 0, /* S(BDC_E_ESTABLISH) via allstate */ + .out_state_mask = S(BDC_ST_REESTABLISH), .action = bdc_st_init, }, [BDC_ST_ESTABLISHED] = { @@ -214,6 +220,8 @@ .name = "BANKD_CONN", .states = bankd_conn_fsm_states, .num_states = ARRAY_SIZE(bankd_conn_fsm_states), + .allstate_event_mask = S(BDC_E_ESTABLISH), + .allstate_action = bdc_allstate_action, .timer_cb = remsim_client_bankd_fsm_timer_cb, .log_subsys = DMAIN, .event_names = remsim_client_bankd_fsm_event_names, @@ -228,8 +236,6 @@ return -1; bc->bankd_fi = fi; - /* onenter of the initial state is not automatically executed by osmo_fsm :( */ - bdc_st_init_onenter(fi, 0); return 0; } diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 6d31d32..79da419 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -539,6 +539,8 @@ switch (pdu->msg.present) { case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of bankd to in peer_comp_id */ + rspro_comp_id_retrieve(&bc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); osmo_fsm_inst_dispatch(bc->bankd_fi, BDC_E_CLIENT_CONN_RES, pdu); break; case RsproPDUchoice_PR_tpduCardToModem: // APDU response from card received @@ -582,6 +584,41 @@ return -1; } +/* handle incoming messages from server */ +static int srvc_handle_rx(struct rspro_server_conn *srvc, const RsproPDU_t *pdu) +{ + RsproPDU_t *resp; + + switch (pdu->msg.present) { + case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of server in srvc->peer_comp_id */ + rspro_comp_id_retrieve(&srvc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); + osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); + break; + case RsproPDUchoice_PR_configClientReq: + /* store/set the clientID as instructed by the server */ + if (!g_client->clslot) + g_client->clslot = talloc_zero(g_client, ClientSlot_t); + *g_client->clslot = pdu->msg.choice.configClientReq.clientSlot; + /* store/set the bankd ip/port as instructed by the server */ + osmo_talloc_replace_string(g_client, &g_client->bankd_host, + rspro_IpAddr2str(&pdu->msg.choice.configClientReq.bankd.ip)); + g_client->bankd_port = ntohs(pdu->msg.choice.configClientReq.bankd.port); + /* instruct bankd FSM to connect */ + osmo_fsm_inst_dispatch(g_client->bankd_fi, BDC_E_ESTABLISH, NULL); + /* send response to server */ + resp = rspro_gen_ConfigClientRes(ResultCode_ok); + ipa_client_conn_send_rspro(srvc->conn, resp); + break; + default: + fprintf(stderr, "Unknown/Unsupported RSPRO PDU type: %u\n", pdu->msg.present); + return -1; + } + + return 0; +} + + static const struct log_info_cat default_categories[] = { [DMAIN] = { .name = "DMAIN", @@ -604,10 +641,8 @@ static void print_help(void) { - printf( "\t-d\t--bankd-host HOST\n" + printf( "\t-s\t--server-host HOST\n" "\t-p\t--bankd-port PORT\n" - "\t-c\t--client-id REMSIM_CLIENT_ID\n" - "\t-s\t--slot-nr REMSIM_SLOT_NUMBER\n" "\t-h\t--help\n" "\t-i\t--gsmtap-ip\tA.B.C.D\n" "\t-k\t--keep-running\n" @@ -624,10 +659,8 @@ } static const struct option opts[] = { - { "bankd-host", 1, 0, 'b' }, - { "bankd-port", 1, 0, 'p' }, - { "client-id", 1, 0, 'c' }, - { "slot-nr", 1, 0, 's' }, + { "server-host", 1, 0, 's' }, + { "server-port", 1, 0, 'p' }, { "gsmtap-ip", 1, 0, 'i' }, { "help", 0, 0, 'h' }, { "keep-running", 0, 0, 'k' }, @@ -644,16 +677,16 @@ int main(int argc, char **argv) { + struct rspro_server_conn *srvc; struct st_transport *transp = ci->slot->transp; char *gsmtap_host = "127.0.0.1"; int rc; int c, ret = 1; int keep_running = 0; - int bankd_port = 9999; - int client_id = -1, slot_nr = -1; + int server_port = 9999; int if_num = 0, vendor_id = -1, product_id = -1; int config_id = -1, altsetting = 0, addr = -1; - char *bankd_host = "127.0.0.1"; + char *server_host = "127.0.0.1"; char *path = NULL; uint8_t atr_data[33] = { 0x3B, 0x00 }; // the shortest simplest ATR possible uint8_t atr_len = 2; @@ -663,21 +696,15 @@ while (1) { int option_index = 0; - c = getopt_long(argc, argv, "b:p:c:s:hi:V:P:C:I:S:A:H:a:k", opts, &option_index); + c = getopt_long(argc, argv, "s:p:hi:V:P:C:I:S:A:H:a:k", opts, &option_index); if (c == -1) break; switch (c) { - case 'b': - bankd_host = optarg; + case 's': + server_host = optarg; break; case 'p': - bankd_port = atoi(optarg); - break; - case 'c': - client_id = atoi(optarg); - break; - case 's': - slot_nr = atoi(optarg); + server_port = atoi(optarg); break; case 'h': print_help(); @@ -726,11 +753,6 @@ goto do_exit; } - if (client_id < 0 || slot_nr < 0) { - fprintf(stderr, "You have to specify the remote SIM client ID and slot number\n"); - goto do_exit; - } - rc = libusb_init(NULL); if (rc < 0) { fprintf(stderr, "libusb initialization failed\n"); @@ -750,13 +772,20 @@ g_tall_ctx = talloc_named_const(NULL, 0, "global"); g_client = talloc_zero(g_tall_ctx, struct bankd_client); - g_client->bankd_host = bankd_host; - g_client->bankd_port = bankd_port; - g_client->own_comp_id.type = ComponentType_remsimClient; - g_client->clslot = &(ClientSlot_t){ .clientId = client_id, .slotNr = slot_nr }; - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.name, "simtrace2-remsim-client"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.software, "remsim-client"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.sw_version, PACKAGE_VERSION); + + srvc = &g_client->srv_conn; + srvc->server_host = server_host; + srvc->server_port = server_port; + srvc->handle_rx = srvc_handle_rx; + srvc->own_comp_id.type = ComponentType_remsimClient; + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "simtrace2-remsim-client"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-client"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION); + rc = server_conn_fsm_alloc(g_client, srvc); + if (rc < 0) { + fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); + exit(1); + } asn_debug = 0; osmo_init_logging2(g_tall_ctx, &log_info); -- To view, visit https://gerrit.osmocom.org/13175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I76c9498089515d1a6190f3e79e143b7df3a531bd Gerrit-Change-Number: 13175 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:45 +0000 Subject: Change in osmo-remsim[master]: share debug.[ch] across all executables Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13176 Change subject: share debug.[ch] across all executables ...................................................................... share debug.[ch] across all executables This avoids us having to re-define log_info/log_info_cat for each program. Change-Id: I22f4f8a51b91ee09c5be26b1ed1bfca41730c577 --- M src/Makefile.am M src/bankd_main.c A src/debug.c M src/debug.h M src/remsim_client.c M src/simtrace2-remsim_client.c 6 files changed, 24 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/76/13176/1 diff --git a/src/Makefile.am b/src/Makefile.am index ca799ce..5f0d846 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -25,15 +25,15 @@ pcsc_test_LDADD = $(OSMOCORE_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -remsim_bankd_SOURCES = bankd_slotmap.c bankd_main.c bankd_pcsc.c +remsim_bankd_SOURCES = bankd_slotmap.c bankd_main.c bankd_pcsc.c debug.c remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -lcsv -remsim_client_SOURCES = remsim_client.c remsim_client_fsm.c +remsim_client_SOURCES = remsim_client.c remsim_client_fsm.c debug.c remsim_client_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ libosmo-rspro.la -simtrace2_remsim_client_SOURCES = simtrace2-remsim_client.c remsim_client_fsm.c \ +simtrace2_remsim_client_SOURCES = simtrace2-remsim_client.c remsim_client_fsm.c debug.c \ simtrace2/apdu_dispatch.c \ simtrace2/simtrace2-discovery.c \ simtrace2/libusb_util.c diff --git a/src/bankd_main.c b/src/bankd_main.c index 5e94afb..fde03cd 100644 --- a/src/bankd_main.c +++ b/src/bankd_main.c @@ -26,6 +26,7 @@ #include #include "bankd.h" +#include "debug.h" #include "rspro_util.h" __thread void *talloc_asn1_ctx; @@ -36,19 +37,6 @@ * bankd core / main thread ***********************************************************************/ -static const struct log_info_cat default_categories[] = { - [DMAIN] = { - .name = "DMAIN", - .loglevel = LOGL_DEBUG, - .enabled = 1, - }, -}; - -static const struct log_info log_info = { - .cat = default_categories, - .num_cat = ARRAY_SIZE(default_categories), -}; - int asn_debug; static void bankd_init(struct bankd *bankd) diff --git a/src/debug.c b/src/debug.c new file mode 100644 index 0000000..046dc8c --- /dev/null +++ b/src/debug.c @@ -0,0 +1,16 @@ +#include +#include +#include "debug.h" + +static const struct log_info_cat default_categories[] = { + [DMAIN] = { + .name = "DMAIN", + .loglevel = LOGL_DEBUG, + .enabled = 1, + }, +}; + +const struct log_info log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; diff --git a/src/debug.h b/src/debug.h index 187d895..02551eb 100644 --- a/src/debug.h +++ b/src/debug.h @@ -3,3 +3,5 @@ enum { DMAIN, }; + +extern const struct log_info log_info; diff --git a/src/remsim_client.c b/src/remsim_client.c index 2f740d4..0c2dcbe 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -15,6 +15,7 @@ #include "rspro_util.h" #include "client.h" +#include "debug.h" static int bankd_handle_msg(struct bankd_client *bc, struct msgb *msg) { @@ -68,19 +69,6 @@ return -1; } -static const struct log_info_cat default_categories[] = { - [DMAIN] = { - .name = "DMAIN", - .loglevel = LOGL_DEBUG, - .enabled = 1, - }, -}; - -static const struct log_info log_info = { - .cat = default_categories, - .num_cat = ARRAY_SIZE(default_categories), -}; - static struct bankd_client *g_client; static void *g_tall_ctx; void __thread *talloc_asn1_ctx; diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 79da419..0832300 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -15,6 +15,7 @@ #include "rspro_util.h" #include "client.h" +#include "debug.h" #include #include @@ -619,19 +620,6 @@ } -static const struct log_info_cat default_categories[] = { - [DMAIN] = { - .name = "DMAIN", - .loglevel = LOGL_DEBUG, - .enabled = 1, - }, -}; - -static const struct log_info log_info = { - .cat = default_categories, - .num_cat = ARRAY_SIZE(default_categories), -}; - static void print_welcome(void) { printf("simtrace2-remsim-client - Remote SIM card client for SIMtrace\n" -- To view, visit https://gerrit.osmocom.org/13176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I22f4f8a51b91ee09c5be26b1ed1bfca41730c577 Gerrit-Change-Number: 13176 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:45 +0000 Subject: Change in osmo-remsim[master]: generalize slotmap to make use of it outside of bankd Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13177 Change subject: generalize slotmap to make use of it outside of bankd ...................................................................... generalize slotmap to make use of it outside of bankd Change-Id: I0ca7feaa38dfd0468814ef5a1eff997ce854cedf --- M src/Makefile.am M src/bankd.h M src/bankd_main.c D src/bankd_slotmap.c A src/slotmap.c A src/slotmap.h 6 files changed, 181 insertions(+), 160 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/77/13177/1 diff --git a/src/Makefile.am b/src/Makefile.am index 5f0d846..a44906b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -12,7 +12,7 @@ rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c -noinst_HEADERS = debug.h bankd.h client.h internal.h rspro_util.h \ +noinst_HEADERS = debug.h bankd.h client.h internal.h rspro_util.h slotmap.h \ simtrace2/apdu_dispatch.h \ simtrace2/libusb_util.h \ simtrace2/simtrace2-discovery.h \ @@ -25,7 +25,7 @@ pcsc_test_LDADD = $(OSMOCORE_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -remsim_bankd_SOURCES = bankd_slotmap.c bankd_main.c bankd_pcsc.c debug.c +remsim_bankd_SOURCES = slotmap.c bankd_main.c bankd_pcsc.c debug.c remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -lcsv diff --git a/src/bankd.h b/src/bankd.h index 86b75cc..cd97772 100644 --- a/src/bankd.h +++ b/src/bankd.h @@ -13,60 +13,11 @@ #include #include "rspro_util.h" +#include "slotmap.h" #include "debug.h" struct bankd; -struct bank_slot { - uint16_t bank_id; - uint16_t slot_nr; -}; - -static inline bool bank_slot_equals(const struct bank_slot *a, const struct bank_slot *b) -{ - if (a->bank_id == b->bank_id && a->slot_nr == b->slot_nr) - return true; - else - return false; -} - -struct client_slot { - uint16_t client_id; - uint16_t slot_nr; -}; - -static inline bool client_slot_equals(const struct client_slot *a, const struct client_slot *b) -{ - if (a->client_id == b->client_id && a->slot_nr == b->slot_nr) - return true; - else - return false; -} - -/* slot mappings are created / removed by the server */ -struct bankd_slot_mapping { - /* global lits of bankd slot mappings */ - struct llist_head list; - /* slot on bank side */ - struct bank_slot bank; - /* slot on client side */ - struct client_slot client; -}; - -/* thread-safe lookup of map by client:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_client(struct bankd *bankd, - const struct client_slot *client); - -/* thread-safe lookup of map by bank:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_bank(struct bankd *bankd, const struct bank_slot *bank); - -/* thread-safe creating of a new bank<->client map */ -int bankd_slotmap_add(struct bankd *bankd, const struct bank_slot *bank, - const struct client_slot *client); - -/* thread-safe removal of a bank<->client map */ -void bankd_slotmap_del(struct bankd *bankd, struct bankd_slot_mapping *map); - enum bankd_worker_state { /* just started*/ BW_ST_INIT, @@ -138,9 +89,8 @@ /* TCP socket at which we are listening */ int accept_fd; - /* list of slit mappings. only ever modified in main thread! */ - struct llist_head slot_mappings; - pthread_rwlock_t slot_mappings_rwlock; + /* list of slot mappings. only ever modified in main thread! */ + struct slotmaps *slotmaps; /* list of bankd_workers. accessed/modified by multiple threads; protected by mutex */ struct llist_head workers; diff --git a/src/bankd_main.c b/src/bankd_main.c index fde03cd..ed225a9 100644 --- a/src/bankd_main.c +++ b/src/bankd_main.c @@ -47,8 +47,7 @@ asn_debug = 0; /* intialize members of 'bankd' */ - INIT_LLIST_HEAD(&bankd->slot_mappings); - pthread_rwlock_init(&bankd->slot_mappings_rwlock, NULL); + bankd->slotmaps = slotmap_init(bankd); INIT_LLIST_HEAD(&bankd->workers); pthread_mutex_init(&bankd->workers_mutex, NULL); @@ -71,7 +70,7 @@ int i; for (i = 0; i < 5; i++) { bs.slot_nr = cs.slot_nr = i; - bankd_slotmap_add(bankd, &bs, &cs); + slotmap_add(bankd->slotmaps, &bs, &cs); } } } @@ -304,9 +303,9 @@ /* attempt to obtain slot-map */ static int worker_try_slotmap(struct bankd_worker *worker) { - struct bankd_slot_mapping *slmap; + struct slot_mapping *slmap; - slmap = bankd_slotmap_by_client(worker->bankd, &worker->client.clslot); + slmap = slotmap_by_client(worker->bankd->slotmaps, &worker->client.clslot); if (!slmap) { LOGW(worker, "No slotmap (yet) for client C(%u:%u)\n", worker->client.clslot.client_id, worker->client.clslot.slot_nr); diff --git a/src/bankd_slotmap.c b/src/bankd_slotmap.c deleted file mode 100644 index 116fd69..0000000 --- a/src/bankd_slotmap.c +++ /dev/null @@ -1,100 +0,0 @@ - -#include -#include -#include -#include - -#include - -#include - -#include - -#include "bankd.h" - -/* thread-safe lookup of map by client:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_client(struct bankd *bankd, const struct client_slot *client) -{ - struct bankd_slot_mapping *map; - - pthread_rwlock_rdlock(&bankd->slot_mappings_rwlock); - llist_for_each_entry(map, &bankd->slot_mappings, list) { - if (client_slot_equals(&map->client, client)) { - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return map; - } - } - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return NULL; -} - -/* thread-safe lookup of map by bank:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_bank(struct bankd *bankd, const struct bank_slot *bank) -{ - struct bankd_slot_mapping *map; - - pthread_rwlock_rdlock(&bankd->slot_mappings_rwlock); - llist_for_each_entry(map, &bankd->slot_mappings, list) { - if (bank_slot_equals(&map->bank, bank)) { - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return map; - } - } - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return NULL; - -} - -/* thread-safe creating of a new bank<->client map */ -int bankd_slotmap_add(struct bankd *bankd, const struct bank_slot *bank, const struct client_slot *client) -{ - struct bankd_slot_mapping *map; - - /* We assume a single thread (main thread) will ever update the mappings, - * and hence we don't have any races by first grabbing + releasing the read - * lock twice before grabbing the writelock below */ - - map = bankd_slotmap_by_bank(bankd, bank); - if (map) { - fprintf(stderr, "BANKD %u:%u already in use, cannot add new map\n", - bank->bank_id, bank->slot_nr); - return -EBUSY; - } - - map = bankd_slotmap_by_client(bankd, client); - if (map) { - fprintf(stderr, "CLIENT %u:%u already in use, cannot add new map\n", - client->client_id, client->slot_nr); - return -EBUSY; - } - - /* allocate new mapping and add to list of mappings */ - map = talloc_zero(bankd, struct bankd_slot_mapping); - if (!map) - return -ENOMEM; - - map->bank = *bank; - map->client = *client; - - pthread_rwlock_wrlock(&bankd->slot_mappings_rwlock); - llist_add_tail(&map->list, &bankd->slot_mappings); - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - - printf("Added Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); - - return 0; -} - -/* thread-safe removal of a bank<->client map */ -void bankd_slotmap_del(struct bankd *bankd, struct bankd_slot_mapping *map) -{ - printf("Deleting Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); - - pthread_rwlock_wrlock(&bankd->slot_mappings_rwlock); - llist_del(&map->list); - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - - talloc_free(map); -} diff --git a/src/slotmap.c b/src/slotmap.c new file mode 100644 index 0000000..303f5fd --- /dev/null +++ b/src/slotmap.c @@ -0,0 +1,110 @@ + +#include +#include +#include +#include + +#include + +#include + +#include + +#include "slotmap.h" + +/* thread-safe lookup of map by client:slot */ +struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client) +{ + struct slot_mapping *map; + + pthread_rwlock_rdlock(&maps->rwlock); + llist_for_each_entry(map, &maps->mappings, list) { + if (client_slot_equals(&map->client, client)) { + pthread_rwlock_unlock(&maps->rwlock); + return map; + } + } + pthread_rwlock_unlock(&maps->rwlock); + return NULL; +} + +/* thread-safe lookup of map by bank:slot */ +struct slot_mapping *slotmap_by_bank(struct slotmaps *maps, const struct bank_slot *bank) +{ + struct slot_mapping *map; + + pthread_rwlock_rdlock(&maps->rwlock); + llist_for_each_entry(map, &maps->mappings, list) { + if (bank_slot_equals(&map->bank, bank)) { + pthread_rwlock_unlock(&maps->rwlock); + return map; + } + } + pthread_rwlock_unlock(&maps->rwlock); + return NULL; + +} + +/* thread-safe creating of a new bank<->client map */ +int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client) +{ + struct slot_mapping *map; + + /* We assume a single thread (main thread) will ever update the mappings, + * and hence we don't have any races by first grabbing + releasing the read + * lock twice before grabbing the writelock below */ + + map = slotmap_by_bank(maps, bank); + if (map) { + fprintf(stderr, "BANKD %u:%u already in use, cannot add new map\n", + bank->bank_id, bank->slot_nr); + return -EBUSY; + } + + map = slotmap_by_client(maps, client); + if (map) { + fprintf(stderr, "CLIENT %u:%u already in use, cannot add new map\n", + client->client_id, client->slot_nr); + return -EBUSY; + } + + /* allocate new mapping and add to list of mappings */ + map = talloc_zero(maps, struct slot_mapping); + if (!map) + return -ENOMEM; + + map->bank = *bank; + map->client = *client; + + pthread_rwlock_wrlock(&maps->rwlock); + llist_add_tail(&map->list, &maps->mappings); + pthread_rwlock_unlock(&maps->rwlock); + + printf("Added Slot Map C(%u:%u) <-> B(%u:%u)\n", + map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + + return 0; +} + +/* thread-safe removal of a bank<->client map */ +void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) +{ + printf("Deleting Slot Map C(%u:%u) <-> B(%u:%u)\n", + map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + + pthread_rwlock_wrlock(&maps->rwlock); + llist_del(&map->list); + pthread_rwlock_unlock(&maps->rwlock); + + talloc_free(map); +} + +struct slotmaps *slotmap_init(void *ctx) +{ + struct slotmaps *sm = talloc_zero(ctx, struct slotmaps); + + INIT_LLIST_HEAD(&sm->mappings); + pthread_rwlock_init(&sm->rwlock, NULL); + + return sm; +} diff --git a/src/slotmap.h b/src/slotmap.h new file mode 100644 index 0000000..92eb6f4 --- /dev/null +++ b/src/slotmap.h @@ -0,0 +1,62 @@ +#pragma once +#include +#include +#include +#include + +struct bank_slot { + uint16_t bank_id; + uint16_t slot_nr; +}; + +static inline bool bank_slot_equals(const struct bank_slot *a, const struct bank_slot *b) +{ + if (a->bank_id == b->bank_id && a->slot_nr == b->slot_nr) + return true; + else + return false; +} + +struct client_slot { + uint16_t client_id; + uint16_t slot_nr; +}; + +static inline bool client_slot_equals(const struct client_slot *a, const struct client_slot *b) +{ + if (a->client_id == b->client_id && a->slot_nr == b->slot_nr) + return true; + else + return false; +} + +/* slot mappings are created / removed by the server */ +struct slot_mapping { + /* global lits of bankd slot mappings */ + struct llist_head list; + /* slot on bank side */ + struct bank_slot bank; + /* slot on client side */ + struct client_slot client; +}; + +/* collection of slot mappings */ +struct slotmaps { + struct llist_head mappings; + pthread_rwlock_t rwlock; +}; + +/* thread-safe lookup of map by client:slot */ +struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client); + +/* thread-safe lookup of map by bank:slot */ +struct slot_mapping *slotmap_by_bank(struct slotmaps *maps, const struct bank_slot *bank); + +/* thread-safe creating of a new bank<->client map */ +int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client); + +/* thread-safe removal of a bank<->client map */ +void slotmap_del(struct slotmaps *maps, struct slot_mapping *map); + +/* initialize the entire map collection */ +struct slotmaps *slotmap_init(void *ctx); -- To view, visit https://gerrit.osmocom.org/13177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0ca7feaa38dfd0468814ef5a1eff997ce854cedf Gerrit-Change-Number: 13177 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:45 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce slotmap-printing function and use it Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13178 Change subject: slotmap: Introduce slotmap-printing function and use it ...................................................................... slotmap: Introduce slotmap-printing function and use it ... avoid code duplication Change-Id: I6458b9d222ed9f4113c3bb1c538b4b710559c6b2 --- M src/slotmap.c 1 file changed, 13 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/78/13178/1 diff --git a/src/slotmap.c b/src/slotmap.c index 303f5fd..a3ae792 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -12,6 +12,14 @@ #include "slotmap.h" +const char *slotmap_name(char *buf, size_t buf_len, const struct slot_mapping *map) +{ + snprintf(buf, buf_len, "B(%u:%u) <-> C(%u:%u)", + map->bank.bank_id, map->bank.slot_nr, map->client.client_id, map->client.slot_nr); + return buf; +} + + /* thread-safe lookup of map by client:slot */ struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client) { @@ -49,6 +57,7 @@ int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client) { struct slot_mapping *map; + char mapname[64]; /* We assume a single thread (main thread) will ever update the mappings, * and hence we don't have any races by first grabbing + releasing the read @@ -80,8 +89,7 @@ llist_add_tail(&map->list, &maps->mappings); pthread_rwlock_unlock(&maps->rwlock); - printf("Added Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); return 0; } @@ -89,8 +97,9 @@ /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) { - printf("Deleting Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + char mapname[64]; + + printf("Slot Map %s deleted\n", slotmap_name(mapname, sizeof(mapname), map)); pthread_rwlock_wrlock(&maps->rwlock); llist_del(&map->list); -- To view, visit https://gerrit.osmocom.org/13178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6458b9d222ed9f4113c3bb1c538b4b710559c6b2 Gerrit-Change-Number: 13178 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:46 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce the concept of a slotmap state Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13179 Change subject: slotmap: Introduce the concept of a slotmap state ...................................................................... slotmap: Introduce the concept of a slotmap state ... which is required in remsim-server Change-Id: I56f5ecd6194ef62c87d87d2965ca0315e3d0fc2d --- M src/slotmap.c M src/slotmap.h 2 files changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/79/13179/1 diff --git a/src/slotmap.c b/src/slotmap.c index a3ae792..924452b 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -9,9 +9,18 @@ #include #include +#include #include "slotmap.h" +const struct value_string slot_map_state_name[] = { + { SLMAP_S_NEW, "NEW" }, + { SLMAP_S_UNACKNOWLEDGED, "UNACKNOWLEDGED" }, + { SLMAP_S_ACTIVE, "ACTIVE" }, + { SLMAP_S_DELETING, "DELETING" }, + { 0, NULL } +}; + const char *slotmap_name(char *buf, size_t buf_len, const struct slot_mapping *map) { snprintf(buf, buf_len, "B(%u:%u) <-> C(%u:%u)", @@ -82,11 +91,16 @@ if (!map) return -ENOMEM; + map->maps = maps; map->bank = *bank; map->client = *client; pthread_rwlock_wrlock(&maps->rwlock); llist_add_tail(&map->list, &maps->mappings); +#ifdef REMSIM_SERVER + map->state = SLMAP_S_NEW; + INIT_LLIST_HEAD(&map->bank_list); /* to ensure llist_del() always succeeds */ +#endif pthread_rwlock_unlock(&maps->rwlock); printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); @@ -103,6 +117,9 @@ pthread_rwlock_wrlock(&maps->rwlock); llist_del(&map->list); +#ifdef REMSIM_SERVER + llist_del(&map->bank_list); +#endif pthread_rwlock_unlock(&maps->rwlock); talloc_free(map); @@ -117,3 +134,37 @@ return sm; } + +#ifdef REMSIM_SERVER + +void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list) +{ + char mapname[64]; + + printf("Slot Map %s state change: %s -> %s\n", slotmap_name(mapname, sizeof(mapname), map), + get_value_string(slot_map_state_name, map->state), + get_value_string(slot_map_state_name, new_state)); + + map->state = new_state; +#ifdef REMSIM_SERVER + llist_del(&map->bank_list); +#endif + if (new_bank_list) + llist_add_tail(&map->bank_list, new_bank_list); +#ifdef REMSIM_SERVER + else + INIT_LLIST_HEAD(&map->bank_list); +#endif +} + + +void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list) +{ + pthread_rwlock_wrlock(&map->maps->rwlock); + _slotmap_state_change(map, new_state, new_bank_list); + pthread_rwlock_unlock(&map->maps->rwlock); +} + +#endif diff --git a/src/slotmap.h b/src/slotmap.h index 92eb6f4..27d7e1b 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -4,6 +4,8 @@ #include #include +#define REMSIM_SERVER 1 + struct bank_slot { uint16_t bank_id; uint16_t slot_nr; @@ -30,14 +32,33 @@ return false; } +enum slot_mapping_state { + SLMAP_S_NEW, /* created; not yet sent to bankd */ + SLMAP_S_UNACKNOWLEDGED, /* created + sent to bankd but not yet acknowledge by bankd */ + SLMAP_S_ACTIVE, /* fully active map; acknowledged by bankd */ + SLMAP_S_DELETING, /* we were asked to delete it; bankd hasn't confirmed yet */ +}; +extern const struct value_string slot_map_state_name[]; +static inline const char *slotmap_state_name(enum slot_mapping_state st) +{ + return get_value_string(slot_map_state_name, st); +} + /* slot mappings are created / removed by the server */ struct slot_mapping { /* global lits of bankd slot mappings */ struct llist_head list; + struct slotmaps *maps; + /* slot on bank side */ struct bank_slot bank; /* slot on client side */ struct client_slot client; + +#ifdef REMSIM_SERVER + struct llist_head bank_list; + enum slot_mapping_state state; +#endif }; /* collection of slot mappings */ @@ -60,3 +81,11 @@ /* initialize the entire map collection */ struct slotmaps *slotmap_init(void *ctx); + +#ifdef REMSIM_SERVER +void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list); +/* thread-safe way to change the state of given slot map */ +void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list); +#endif -- To view, visit https://gerrit.osmocom.org/13179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I56f5ecd6194ef62c87d87d2965ca0315e3d0fc2d Gerrit-Change-Number: 13179 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:46 +0000 Subject: Change in osmo-remsim[master]: slotmap: Return newly-created map from slotmap_add() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13180 Change subject: slotmap: Return newly-created map from slotmap_add() ...................................................................... slotmap: Return newly-created map from slotmap_add() Change-Id: I1bc66fee1f457bcf9693491031d7d4c411fc582e --- M src/slotmap.c M src/slotmap.h 2 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/80/13180/1 diff --git a/src/slotmap.c b/src/slotmap.c index 924452b..12d7777 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -63,7 +63,8 @@ } /* thread-safe creating of a new bank<->client map */ -int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client) +struct slot_mapping *slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, + const struct client_slot *client) { struct slot_mapping *map; char mapname[64]; @@ -76,20 +77,20 @@ if (map) { fprintf(stderr, "BANKD %u:%u already in use, cannot add new map\n", bank->bank_id, bank->slot_nr); - return -EBUSY; + return NULL; } map = slotmap_by_client(maps, client); if (map) { fprintf(stderr, "CLIENT %u:%u already in use, cannot add new map\n", client->client_id, client->slot_nr); - return -EBUSY; + return NULL; } /* allocate new mapping and add to list of mappings */ map = talloc_zero(maps, struct slot_mapping); if (!map) - return -ENOMEM; + return NULL; map->maps = maps; map->bank = *bank; @@ -105,7 +106,7 @@ printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); - return 0; + return map; } /* thread-safe removal of a bank<->client map */ diff --git a/src/slotmap.h b/src/slotmap.h index 27d7e1b..af08a81 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -74,7 +74,7 @@ struct slot_mapping *slotmap_by_bank(struct slotmaps *maps, const struct bank_slot *bank); /* thread-safe creating of a new bank<->client map */ -int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client); +struct slot_mapping *slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client); /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map); -- To view, visit https://gerrit.osmocom.org/13180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1bc66fee1f457bcf9693491031d7d4c411fc582e Gerrit-Change-Number: 13180 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:46 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add "DELETE_REQ" state Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13181 Change subject: slotmap: Add "DELETE_REQ" state ...................................................................... slotmap: Add "DELETE_REQ" state Change-Id: I953e72e304d6403b2e47f7546a36abfdf246e44b --- M src/slotmap.c M src/slotmap.h 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/81/13181/1 diff --git a/src/slotmap.c b/src/slotmap.c index 12d7777..a8874fb 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -17,6 +17,7 @@ { SLMAP_S_NEW, "NEW" }, { SLMAP_S_UNACKNOWLEDGED, "UNACKNOWLEDGED" }, { SLMAP_S_ACTIVE, "ACTIVE" }, + { SLMAP_S_DELETE_REQ, "DELETE_REQ" }, { SLMAP_S_DELETING, "DELETING" }, { 0, NULL } }; diff --git a/src/slotmap.h b/src/slotmap.h index af08a81..5d3d891 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -36,7 +36,8 @@ SLMAP_S_NEW, /* created; not yet sent to bankd */ SLMAP_S_UNACKNOWLEDGED, /* created + sent to bankd but not yet acknowledge by bankd */ SLMAP_S_ACTIVE, /* fully active map; acknowledged by bankd */ - SLMAP_S_DELETING, /* we were asked to delete it; bankd hasn't confirmed yet */ + SLMAP_S_DELETE_REQ, /* fully active map; REST has requested deletion */ + SLMAP_S_DELETING, /* RSPRO has issued Remove to bankd, but bankd hasn't confirmed yet */ }; extern const struct value_string slot_map_state_name[]; static inline const char *slotmap_state_name(enum slot_mapping_state st) -- To view, visit https://gerrit.osmocom.org/13181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I953e72e304d6403b2e47f7546a36abfdf246e44b Gerrit-Change-Number: 13181 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:46 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add slotmap_get_id() function to get numeric ID of slot map Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13182 Change subject: slotmap: Add slotmap_get_id() function to get numeric ID of slot map ...................................................................... slotmap: Add slotmap_get_id() function to get numeric ID of slot map Change-Id: Ie476244d9ade30eed9215923275aa82a5d10176f --- M src/slotmap.c M src/slotmap.h 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/82/13182/1 diff --git a/src/slotmap.c b/src/slotmap.c index a8874fb..703dd02 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -29,6 +29,10 @@ return buf; } +uint32_t slotmap_get_id(const struct slot_mapping *map) +{ + return (map->bank.bank_id << 16) | map->bank.slot_nr; +} /* thread-safe lookup of map by client:slot */ struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client) diff --git a/src/slotmap.h b/src/slotmap.h index 5d3d891..a26de6d 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -68,6 +68,8 @@ pthread_rwlock_t rwlock; }; +uint32_t slotmap_get_id(const struct slot_mapping *map); + /* thread-safe lookup of map by client:slot */ struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client); -- To view, visit https://gerrit.osmocom.org/13182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie476244d9ade30eed9215923275aa82a5d10176f Gerrit-Change-Number: 13182 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:47 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add _slotmap_del() for callers that already have a lock Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13183 Change subject: slotmap: Add _slotmap_del() for callers that already have a lock ...................................................................... slotmap: Add _slotmap_del() for callers that already have a lock Change-Id: Id05872c3676d0afe4c7abe74677fee62b4f03e53 --- M src/slotmap.c M src/slotmap.h 2 files changed, 9 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/83/13183/1 diff --git a/src/slotmap.c b/src/slotmap.c index 703dd02..aa03638 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -115,21 +115,26 @@ } /* thread-safe removal of a bank<->client map */ -void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) +void _slotmap_del(struct slotmaps *maps, struct slot_mapping *map) { char mapname[64]; printf("Slot Map %s deleted\n", slotmap_name(mapname, sizeof(mapname), map)); - pthread_rwlock_wrlock(&maps->rwlock); llist_del(&map->list); #ifdef REMSIM_SERVER llist_del(&map->bank_list); #endif - pthread_rwlock_unlock(&maps->rwlock); talloc_free(map); } +/* thread-safe removal of a bank<->client map */ +void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) +{ + pthread_rwlock_wrlock(&maps->rwlock); + _slotmap_del(maps, map); + pthread_rwlock_unlock(&maps->rwlock); +} struct slotmaps *slotmap_init(void *ctx) { diff --git a/src/slotmap.h b/src/slotmap.h index a26de6d..3eb976f 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -81,6 +81,7 @@ /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map); +void _slotmap_del(struct slotmaps *maps, struct slot_mapping *map); /* initialize the entire map collection */ struct slotmaps *slotmap_init(void *ctx); -- To view, visit https://gerrit.osmocom.org/13183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id05872c3676d0afe4c7abe74677fee62b4f03e53 Gerrit-Change-Number: 13183 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:59 +0000 Subject: Change in osmo-remsim[master]: move osmo_fsm_register() into constructor function In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13104 ) Change subject: move osmo_fsm_register() into constructor function ...................................................................... move osmo_fsm_register() into constructor function This way each application doesn't have to explicitly call it. Change-Id: I20753d7f7f485e7e495b64fa74b24858cd22ffa9 --- M src/remsim_client.c M src/remsim_client_fsm.c M src/simtrace2-remsim_client.c 3 files changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/remsim_client.c b/src/remsim_client.c index b60059d..62f65f9 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -88,9 +88,6 @@ { g_tall_ctx = talloc_named_const(NULL, 0, "global"); - osmo_fsm_register(&remsim_client_bankd_fsm); - osmo_fsm_register(&remsim_client_server_fsm); - g_client = talloc_zero(g_tall_ctx, struct bankd_client); g_client->bankd_host = "localhost"; g_client->bankd_port = 9999; diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c index 0776937..d361659 100644 --- a/src/remsim_client_fsm.c +++ b/src/remsim_client_fsm.c @@ -464,3 +464,9 @@ srvc_st_init_onenter(fi, 0); return 0; } + +static __attribute__((constructor)) void on_dso_load(void) +{ + osmo_fsm_register(&remsim_client_bankd_fsm); + osmo_fsm_register(&remsim_client_server_fsm); +} diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 1cf09a6..6d31d32 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -749,9 +749,6 @@ // initialize remote SIM client g_tall_ctx = talloc_named_const(NULL, 0, "global"); - osmo_fsm_register(&remsim_client_bankd_fsm); - osmo_fsm_register(&remsim_client_server_fsm); - g_client = talloc_zero(g_tall_ctx, struct bankd_client); g_client->bankd_host = bankd_host; g_client->bankd_port = bankd_port; -- To view, visit https://gerrit.osmocom.org/13104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I20753d7f7f485e7e495b64fa74b24858cd22ffa9 Gerrit-Change-Number: 13104 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:34:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:34:59 +0000 Subject: Change in osmo-remsim[master]: respro_util: Add rspro_gen_ConfigClientRes() function In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13105 ) Change subject: respro_util: Add rspro_gen_ConfigClientRes() function ...................................................................... respro_util: Add rspro_gen_ConfigClientRes() function Change-Id: Ib14bc617ed60c64d3b69094f30901f78cafba3b3 --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 13 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/rspro_util.c b/src/rspro_util.c index c8f4589..7001db8 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -203,6 +203,18 @@ return pdu; } +RsproPDU_t *rspro_gen_ConfigClientRes(e_ResultCode res) +{ + RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu)); + if (!pdu) + return NULL; + pdu->version = 2; + pdu->msg.present = RsproPDUchoice_PR_configClientRes; + pdu->msg.choice.configClientRes.result = res; + + return pdu; +} + RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr, unsigned int atr_len) { diff --git a/src/rspro_util.h b/src/rspro_util.h index bb2cf00..0e9a026 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -29,6 +29,7 @@ RsproPDU_t *rspro_gen_RemoveMappingReq(const ClientSlot_t *client, const BankSlot_t *bank); RsproPDU_t *rspro_gen_RemoveMappingRes(e_ResultCode res); RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port); +RsproPDU_t *rspro_gen_ConfigClientRes(e_ResultCode res); RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr, unsigned int atr_len); RsproPDU_t *rspro_gen_TpduModem2Card(const ClientSlot_t *client, const BankSlot_t *bank, -- To view, visit https://gerrit.osmocom.org/13105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib14bc617ed60c64d3b69094f30901f78cafba3b3 Gerrit-Change-Number: 13105 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:35:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:35:00 +0000 Subject: Change in osmo-remsim[master]: rspro_util: Add rspro_comp_id_retrieve() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13106 ) Change subject: rspro_util: Add rspro_comp_id_retrieve() ...................................................................... rspro_util: Add rspro_comp_id_retrieve() This function can be used to obtain an 'sturct app_comp_id' from received/decoded asn1c ComponentIdentity_t. Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 28 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/rspro_util.c b/src/rspro_util.c index 7001db8..efcc848 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -88,6 +88,32 @@ out->fwVersion = OCTET_STRING_new_fromBuf(&asn_DEF_ComponentName, in->fw_version, -1); } +void string_fromOCTET_STRING(char *out, size_t out_size, const OCTET_STRING_t *in) +{ + if (!in) + out[0] = '\0'; + memcpy(out, in->buf, out_size < in->size ? out_size : in->size); + if (in->size < out_size) + out[in->size] = '\0'; + else + out[out_size-1] = '\0'; +} +#define string_fromOCTET_STRING_ARRAY(out, in) string_fromOCTET_STRING(out, ARRAY_SIZE(out), in) + + +void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in) +{ + memset(out, 0, sizeof(*out)); + out->type = in->type; + string_fromOCTET_STRING_ARRAY(out->name, &in->name); + string_fromOCTET_STRING_ARRAY(out->software, &in->software); + string_fromOCTET_STRING_ARRAY(out->sw_version, &in->swVersion); + string_fromOCTET_STRING_ARRAY(out->hw_manufacturer, in->hwManufacturer); + string_fromOCTET_STRING_ARRAY(out->hw_serial_nr, in->hwSerialNr); + string_fromOCTET_STRING_ARRAY(out->hw_version, in->hwVersion); + string_fromOCTET_STRING_ARRAY(out->fw_version, in->fwVersion); +} + static void fill_ip4_port(IpPort_t *out, uint32_t ip, uint16_t port) { uint32_t ip_n = htonl(ip); diff --git a/src/rspro_util.h b/src/rspro_util.h index 0e9a026..7a0c8ed 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -36,3 +36,5 @@ const uint8_t *tpdu, unsigned int tpdu_len); RsproPDU_t *rspro_gen_TpduCard2Modem(const BankSlot_t *bank, const ClientSlot_t *client, const uint8_t *tpdu, unsigned int tpdu_len); + +void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in); -- To view, visit https://gerrit.osmocom.org/13106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7c68cee171a65cb83a802285531b677cdf37108b Gerrit-Change-Number: 13106 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 17:35:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 17:35:00 +0000 Subject: Change in osmo-remsim[master]: rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAd... In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13107 ) Change subject: rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAddr_t ...................................................................... rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAddr_t Change-Id: Ic6cccb00d1d65bdab84178acb1e0525e11bc1315 --- M src/rspro_util.c M src/rspro_util.h 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/rspro_util.c b/src/rspro_util.c index efcc848..ed0678e 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -1,5 +1,8 @@ +#include +#include + #include #include @@ -114,6 +117,20 @@ string_fromOCTET_STRING_ARRAY(out->fw_version, in->fwVersion); } +const char *rspro_IpAddr2str(const IpAddress_t *in) +{ + static char buf[128]; + + switch (in->present) { + case IpAddress_PR_ipv4: + return inet_ntop(AF_INET, in->choice.ipv4.buf, buf, sizeof(buf)); + case IpAddress_PR_ipv6: + return inet_ntop(AF_INET6, in->choice.ipv6.buf, buf, sizeof(buf)); + default: + return NULL; + } +} + static void fill_ip4_port(IpPort_t *out, uint32_t ip, uint16_t port) { uint32_t ip_n = htonl(ip); diff --git a/src/rspro_util.h b/src/rspro_util.h index 7a0c8ed..26b3883 100644 --- a/src/rspro_util.h +++ b/src/rspro_util.h @@ -38,3 +38,4 @@ const uint8_t *tpdu, unsigned int tpdu_len); void rspro_comp_id_retrieve(struct app_comp_id *out, const ComponentIdentity_t *in); +const char *rspro_IpAddr2str(const IpAddress_t *in); -- To view, visit https://gerrit.osmocom.org/13107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic6cccb00d1d65bdab84178acb1e0525e11bc1315 Gerrit-Change-Number: 13107 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:06 +0000 Subject: Change in osmo-remsim[master]: share debug.[ch] across all executables In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13176 ) Change subject: share debug.[ch] across all executables ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I22f4f8a51b91ee09c5be26b1ed1bfca41730c577 Gerrit-Change-Number: 13176 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:16 +0000 Subject: Change in osmo-remsim[master]: generalize slotmap to make use of it outside of bankd In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13177 ) Change subject: generalize slotmap to make use of it outside of bankd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0ca7feaa38dfd0468814ef5a1eff997ce854cedf Gerrit-Change-Number: 13177 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:18 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce slotmap-printing function and use it In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13178 ) Change subject: slotmap: Introduce slotmap-printing function and use it ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6458b9d222ed9f4113c3bb1c538b4b710559c6b2 Gerrit-Change-Number: 13178 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:20 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce the concept of a slotmap state In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13179 ) Change subject: slotmap: Introduce the concept of a slotmap state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I56f5ecd6194ef62c87d87d2965ca0315e3d0fc2d Gerrit-Change-Number: 13179 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:21 +0000 Subject: Change in osmo-remsim[master]: slotmap: Return newly-created map from slotmap_add() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13180 ) Change subject: slotmap: Return newly-created map from slotmap_add() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1bc66fee1f457bcf9693491031d7d4c411fc582e Gerrit-Change-Number: 13180 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:24 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add slotmap_get_id() function to get numeric ID of slot map In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13182 ) Change subject: slotmap: Add slotmap_get_id() function to get numeric ID of slot map ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie476244d9ade30eed9215923275aa82a5d10176f Gerrit-Change-Number: 13182 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 18:43:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 18:43:26 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add _slotmap_del() for callers that already have a lock In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13183 ) Change subject: slotmap: Add _slotmap_del() for callers that already have a lock ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id05872c3676d0afe4c7abe74677fee62b4f03e53 Gerrit-Change-Number: 13183 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 18:43:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:04 +0000 Subject: Change in osmo-remsim[master]: slotmap: Log file/line when changing state Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13184 Change subject: slotmap: Log file/line when changing state ...................................................................... slotmap: Log file/line when changing state Change-Id: Idc7b350b464ddc50076f92dae592a0d5ad4d486a --- M src/debug.h M src/slotmap.c M src/slotmap.h 3 files changed, 17 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/84/13184/1 diff --git a/src/debug.h b/src/debug.h index 02551eb..e3994b4 100644 --- a/src/debug.h +++ b/src/debug.h @@ -1,4 +1,5 @@ #pragma once +#include enum { DMAIN, diff --git a/src/slotmap.c b/src/slotmap.c index aa03638..f4a22e1 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -12,6 +12,7 @@ #include #include "slotmap.h" +#include "debug.h" const struct value_string slot_map_state_name[] = { { SLMAP_S_NEW, "NEW" }, @@ -148,33 +149,30 @@ #ifdef REMSIM_SERVER -void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list) +void _Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line) { char mapname[64]; - printf("Slot Map %s state change: %s -> %s\n", slotmap_name(mapname, sizeof(mapname), map), + LOGPSRC(DMAIN, LOGL_INFO, file, line, "Slot Map %s state change: %s -> %s\n", + slotmap_name(mapname, sizeof(mapname), map), get_value_string(slot_map_state_name, map->state), get_value_string(slot_map_state_name, new_state)); map->state = new_state; -#ifdef REMSIM_SERVER llist_del(&map->bank_list); -#endif if (new_bank_list) llist_add_tail(&map->bank_list, new_bank_list); -#ifdef REMSIM_SERVER else INIT_LLIST_HEAD(&map->bank_list); -#endif } -void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list) +void Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line) { pthread_rwlock_wrlock(&map->maps->rwlock); - _slotmap_state_change(map, new_state, new_bank_list); + _Slotmap_state_change(map, new_state, new_bank_list, file, line); pthread_rwlock_unlock(&map->maps->rwlock); } diff --git a/src/slotmap.h b/src/slotmap.h index 3eb976f..bc55f29 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -87,9 +87,13 @@ struct slotmaps *slotmap_init(void *ctx); #ifdef REMSIM_SERVER -void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list); +void _Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line); /* thread-safe way to change the state of given slot map */ -void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list); +void Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line); +#define _slotmap_state_change(map, state, list) \ + _Slotmap_state_change(map, state, list, __FILE__, __LINE__) +#define slotmap_state_change(map, state, list) \ + Slotmap_state_change(map, state, list, __FILE__, __LINE__) #endif -- To view, visit https://gerrit.osmocom.org/13184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idc7b350b464ddc50076f92dae592a0d5ad4d486a Gerrit-Change-Number: 13184 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:04 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce slotmap_{rd, wr, un}lock() wrappers for lock debugging Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13185 Change subject: slotmap: Introduce slotmap_{rd,wr,un}lock() wrappers for lock debugging ...................................................................... slotmap: Introduce slotmap_{rd,wr,un}lock() wrappers for lock debugging Change-Id: I8dde90d62e673e60e026979c74074f7084490467 --- M src/slotmap.c M src/slotmap.h 2 files changed, 28 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/85/13185/1 diff --git a/src/slotmap.c b/src/slotmap.c index f4a22e1..9e16fff 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -40,14 +40,14 @@ { struct slot_mapping *map; - pthread_rwlock_rdlock(&maps->rwlock); + slotmaps_rdlock(maps); llist_for_each_entry(map, &maps->mappings, list) { if (client_slot_equals(&map->client, client)) { - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return map; } } - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return NULL; } @@ -56,14 +56,14 @@ { struct slot_mapping *map; - pthread_rwlock_rdlock(&maps->rwlock); + slotmaps_rdlock(maps); llist_for_each_entry(map, &maps->mappings, list) { if (bank_slot_equals(&map->bank, bank)) { - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return map; } } - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return NULL; } @@ -102,13 +102,13 @@ map->bank = *bank; map->client = *client; - pthread_rwlock_wrlock(&maps->rwlock); + slotmaps_wrlock(maps); llist_add_tail(&map->list, &maps->mappings); #ifdef REMSIM_SERVER map->state = SLMAP_S_NEW; INIT_LLIST_HEAD(&map->bank_list); /* to ensure llist_del() always succeeds */ #endif - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); @@ -132,9 +132,9 @@ /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) { - pthread_rwlock_wrlock(&maps->rwlock); + slotmaps_wrlock(maps); _slotmap_del(maps, map); - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); } struct slotmaps *slotmap_init(void *ctx) @@ -171,9 +171,9 @@ void Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, struct llist_head *new_bank_list, const char *file, int line) { - pthread_rwlock_wrlock(&map->maps->rwlock); + slotmaps_wrlock(map->maps); _Slotmap_state_change(map, new_state, new_bank_list, file, line); - pthread_rwlock_unlock(&map->maps->rwlock); + slotmaps_unlock(map->maps); } #endif diff --git a/src/slotmap.h b/src/slotmap.h index bc55f29..78dfff9 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -86,6 +86,22 @@ /* initialize the entire map collection */ struct slotmaps *slotmap_init(void *ctx); +#define slotmaps_rdlock(maps) do { \ + printf("%s:%u = slotmap_rdlock()\n", __FILE__, __LINE__); \ + pthread_rwlock_rdlock(&(maps)->rwlock); \ +} while (0) + +#define slotmaps_wrlock(maps) do { \ + printf("%s:%u = slotmap_wrlock()\n", __FILE__, __LINE__); \ + pthread_rwlock_wrlock(&(maps)->rwlock); \ +} while (0) + +#define slotmaps_unlock(maps) do { \ + printf("%s:%u = slotmap_unlock()\n", __FILE__, __LINE__); \ + pthread_rwlock_unlock(&(maps)->rwlock); \ +} while (0) + + #ifdef REMSIM_SERVER void _Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, struct llist_head *new_bank_list, const char *file, int line); -- To view, visit https://gerrit.osmocom.org/13185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8dde90d62e673e60e026979c74074f7084490467 Gerrit-Change-Number: 13185 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:14 +0000 Subject: Change in osmo-remsim[master]: slotmap: Log file/line when changing state In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13184 ) Change subject: slotmap: Log file/line when changing state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc7b350b464ddc50076f92dae592a0d5ad4d486a Gerrit-Change-Number: 13184 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 20:37:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:18 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce slotmap_{rd, wr, un}lock() wrappers for lock debugging In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13185 ) Change subject: slotmap: Introduce slotmap_{rd,wr,un}lock() wrappers for lock debugging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8dde90d62e673e60e026979c74074f7084490467 Gerrit-Change-Number: 13185 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Thu, 07 Mar 2019 20:37:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:28 +0000 Subject: Change in osmo-remsim[master]: client: Connect to server before connecting to bankd In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13175 ) Change subject: client: Connect to server before connecting to bankd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I76c9498089515d1a6190f3e79e143b7df3a531bd Gerrit-Change-Number: 13175 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 20:37:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:40 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add "DELETE_REQ" state In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13181 ) Change subject: slotmap: Add "DELETE_REQ" state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I953e72e304d6403b2e47f7546a36abfdf246e44b Gerrit-Change-Number: 13181 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 07 Mar 2019 20:37:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:46 +0000 Subject: Change in osmo-remsim[master]: client: Connect to server before connecting to bankd In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13175 ) Change subject: client: Connect to server before connecting to bankd ...................................................................... client: Connect to server before connecting to bankd So far we skipped the client->server connection and related configuration transfer from server to client. Now, the server instructs the client to which bankd ip/port to connect. Change-Id: I76c9498089515d1a6190f3e79e143b7df3a531bd --- M src/client.h M src/remsim_client.c M src/remsim_client_fsm.c M src/simtrace2-remsim_client.c 4 files changed, 160 insertions(+), 76 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/client.h b/src/client.h index 6918560..1917cb5 100644 --- a/src/client.h +++ b/src/client.h @@ -10,9 +10,10 @@ /* fsm.c */ enum bankd_conn_fsm_event { - BDC_E_TCP_UP, - BDC_E_TCP_DOWN, - BDC_E_CLIENT_CONN_RES, + BDC_E_ESTABLISH, /* instruct BDC to (re)etablish TCP connection to bankd */ + BDC_E_TCP_UP, /* notify BDC that TCP connection is up/connected */ + BDC_E_TCP_DOWN, /* notify BDC that TCP connection is down/disconnected */ + BDC_E_CLIENT_CONN_RES, /* notify BDC that ClientConnectRes has been received */ }; extern struct osmo_fsm remsim_client_bankd_fsm; @@ -31,10 +32,12 @@ /* state */ struct ipa_client_conn *conn; struct osmo_fsm_inst *fi; - int (*handle_rx)(struct rspro_server_conn *conn, RsproPDU_t *pdu); + int (*handle_rx)(struct rspro_server_conn *conn, const RsproPDU_t *pdu); /* our own component ID */ struct app_comp_id own_comp_id; + /* remote component ID */ + struct app_comp_id peer_comp_id; /* configuration */ char *server_host; @@ -48,11 +51,10 @@ struct bankd_client { /* connection to the remsim-server (control) */ - struct ipa_client_conn *srv_conn; - struct osmo_fsm_inst *srv_fi; + struct rspro_server_conn srv_conn; - /* our own component ID */ - struct app_comp_id own_comp_id; + /* remote component ID */ + struct app_comp_id peer_comp_id; /* connection to the remsim-bankd */ char *bankd_host; diff --git a/src/remsim_client.c b/src/remsim_client.c index 62f65f9..2f740d4 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -26,6 +26,8 @@ switch (pdu->msg.present) { case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of bankd to in peer_comp_id */ + rspro_comp_id_retrieve(&bc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); osmo_fsm_inst_dispatch(bc->bankd_fi, BDC_E_CLIENT_CONN_RES, pdu); break; default: @@ -84,17 +86,62 @@ void __thread *talloc_asn1_ctx; int asn_debug; +/* handle incoming messages from server */ +static int srvc_handle_rx(struct rspro_server_conn *srvc, const RsproPDU_t *pdu) +{ + RsproPDU_t *resp; + + switch (pdu->msg.present) { + case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of server in srvc->peer_comp_id */ + rspro_comp_id_retrieve(&srvc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); + osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); + break; + case RsproPDUchoice_PR_configClientReq: + /* store/set the clientID as instructed by the server */ + if (!g_client->clslot) + g_client->clslot = talloc_zero(g_client, ClientSlot_t); + *g_client->clslot = pdu->msg.choice.configClientReq.clientSlot; + /* store/set the bankd ip/port as instructed by the server */ + osmo_talloc_replace_string(g_client, &g_client->bankd_host, + rspro_IpAddr2str(&pdu->msg.choice.configClientReq.bankd.ip)); + g_client->bankd_port = ntohs(pdu->msg.choice.configClientReq.bankd.port); + /* instruct bankd FSM to connect */ + osmo_fsm_inst_dispatch(g_client->bankd_fi, BDC_E_ESTABLISH, NULL); + /* send response to server */ + resp = rspro_gen_ConfigClientRes(ResultCode_ok); + ipa_client_conn_send_rspro(srvc->conn, resp); + break; + default: + fprintf(stderr, "Unknown/Unsupported RSPRO PDU type: %u\n", pdu->msg.present); + return -1; + } + + return 0; +} + int main(int argc, char **argv) { + struct rspro_server_conn *srvc; + int rc; + g_tall_ctx = talloc_named_const(NULL, 0, "global"); g_client = talloc_zero(g_tall_ctx, struct bankd_client); - g_client->bankd_host = "localhost"; - g_client->bankd_port = 9999; - g_client->own_comp_id.type = ComponentType_remsimClient; - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.name, "fixme-name"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.software, "remsim-client"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.sw_version, PACKAGE_VERSION); + + srvc = &g_client->srv_conn; + srvc->server_host = "localhost"; + srvc->server_port = 9998; + srvc->handle_rx = srvc_handle_rx; + srvc->own_comp_id.type = ComponentType_remsimClient; + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "fixme-name"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-client"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION); + rc = server_conn_fsm_alloc(g_client, srvc); + if (rc < 0) { + fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); + exit(1); + } asn_debug = 0; osmo_init_logging2(g_tall_ctx, &log_info); diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c index d361659..06df4e0 100644 --- a/src/remsim_client_fsm.c +++ b/src/remsim_client_fsm.c @@ -57,6 +57,7 @@ }; static const struct value_string remsim_client_bankd_fsm_event_names[] = { + OSMO_VALUE_STRING(BDC_E_ESTABLISH), OSMO_VALUE_STRING(BDC_E_TCP_UP), OSMO_VALUE_STRING(BDC_E_TCP_DOWN), OSMO_VALUE_STRING(BDC_E_CLIENT_CONN_RES), @@ -67,33 +68,10 @@ #define T2_RECONNECT 10 -static void bdc_st_init_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) -{ - struct bankd_client *bc = (struct bankd_client *) fi->priv; - int rc; - - printf("onenter\n"); - bc->bankd_conn = ipa_client_conn_create(bc, NULL, 0, bc->bankd_host, bc->bankd_port, - bankd_updown_cb, bankd_read_cb, NULL, bc); - if (!bc->bankd_conn) { - fprintf(stderr, "Unable to create socket: %s\n", strerror(errno)); - exit(1); - } - /* Attempt to connect TCP socket */ - rc = ipa_client_conn_open(bc->bankd_conn); - if (rc < 0) { - fprintf(stderr, "Unable to connect: %s\n", strerror(errno)); - exit(1); - } -} - static void bdc_st_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { - case BDC_E_TCP_UP: - osmo_fsm_inst_state_chg(fi, BDC_ST_ESTABLISHED, T1_WAIT_CLIENT_CONN_RES, 1); - break; - case BDC_E_TCP_DOWN: + case BDC_E_ESTABLISH: osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); break; default: @@ -107,7 +85,7 @@ RsproPDU_t *pdu; /* FIXME: Send ClientConnReq */ - pdu = rspro_gen_ConnectClientReq(&bc->own_comp_id, bc->clslot); + pdu = rspro_gen_ConnectClientReq(&bc->srv_conn.own_comp_id, bc->clslot); ipa_client_conn_send_rspro(bc->bankd_conn, pdu); } @@ -142,6 +120,21 @@ struct bankd_client *bc = (struct bankd_client *) fi->priv; int rc; + /* re-create bankd_conn */ + if (bc->bankd_conn) { + LOGPFSML(fi, LOGL_INFO, "Destroying existing connection to bankd\n"); + ipa_client_conn_destroy(bc->bankd_conn); + bc->bankd_conn = NULL; + } + LOGPFSML(fi, LOGL_INFO, "Creating TCP connection to bankd at %s:%u\n", + bc->bankd_host, bc->bankd_port); + bc->bankd_conn = ipa_client_conn_create(bc, NULL, 0, bc->bankd_host, bc->bankd_port, + bankd_updown_cb, bankd_read_cb, NULL, bc); + if (!bc->bankd_conn) { + fprintf(stderr, "Unable to create socket: %s\n", strerror(errno)); + exit(1); + } + /* Attempt to connect TCP socket */ rc = ipa_client_conn_open(bc->bankd_conn); if (rc < 0) { @@ -166,14 +159,27 @@ } } +static void bdc_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case BDC_ST_REESTABLISH: + osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); + break; + default: + OSMO_ASSERT(0); + } +} + static int remsim_client_bankd_fsm_timer_cb(struct osmo_fsm_inst *fi) { switch (fi->T) { case 2: + /* TCP reconnect failed: retry */ osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); break; case 1: - /* FIXME: close connection and re-start */ + /* no ClientConnectRes received: disconnect + reconnect */ + osmo_fsm_inst_state_chg(fi, BDC_ST_REESTABLISH, T2_RECONNECT, 2); break; default: OSMO_ASSERT(0); @@ -184,8 +190,8 @@ static const struct osmo_fsm_state bankd_conn_fsm_states[] = { [BDC_ST_INIT] = { .name = "INIT", - .in_event_mask = S(BDC_E_TCP_UP) | S(BDC_E_TCP_DOWN), - .out_state_mask = S(BDC_ST_ESTABLISHED) | S(BDC_ST_REESTABLISH), + .in_event_mask = 0, /* S(BDC_E_ESTABLISH) via allstate */ + .out_state_mask = S(BDC_ST_REESTABLISH), .action = bdc_st_init, }, [BDC_ST_ESTABLISHED] = { @@ -214,6 +220,8 @@ .name = "BANKD_CONN", .states = bankd_conn_fsm_states, .num_states = ARRAY_SIZE(bankd_conn_fsm_states), + .allstate_event_mask = S(BDC_E_ESTABLISH), + .allstate_action = bdc_allstate_action, .timer_cb = remsim_client_bankd_fsm_timer_cb, .log_subsys = DMAIN, .event_names = remsim_client_bankd_fsm_event_names, @@ -228,8 +236,6 @@ return -1; bc->bankd_fi = fi; - /* onenter of the initial state is not automatically executed by osmo_fsm :( */ - bdc_st_init_onenter(fi, 0); return 0; } diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 6d31d32..79da419 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -539,6 +539,8 @@ switch (pdu->msg.present) { case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of bankd to in peer_comp_id */ + rspro_comp_id_retrieve(&bc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); osmo_fsm_inst_dispatch(bc->bankd_fi, BDC_E_CLIENT_CONN_RES, pdu); break; case RsproPDUchoice_PR_tpduCardToModem: // APDU response from card received @@ -582,6 +584,41 @@ return -1; } +/* handle incoming messages from server */ +static int srvc_handle_rx(struct rspro_server_conn *srvc, const RsproPDU_t *pdu) +{ + RsproPDU_t *resp; + + switch (pdu->msg.present) { + case RsproPDUchoice_PR_connectClientRes: + /* Store 'identity' of server in srvc->peer_comp_id */ + rspro_comp_id_retrieve(&srvc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); + osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); + break; + case RsproPDUchoice_PR_configClientReq: + /* store/set the clientID as instructed by the server */ + if (!g_client->clslot) + g_client->clslot = talloc_zero(g_client, ClientSlot_t); + *g_client->clslot = pdu->msg.choice.configClientReq.clientSlot; + /* store/set the bankd ip/port as instructed by the server */ + osmo_talloc_replace_string(g_client, &g_client->bankd_host, + rspro_IpAddr2str(&pdu->msg.choice.configClientReq.bankd.ip)); + g_client->bankd_port = ntohs(pdu->msg.choice.configClientReq.bankd.port); + /* instruct bankd FSM to connect */ + osmo_fsm_inst_dispatch(g_client->bankd_fi, BDC_E_ESTABLISH, NULL); + /* send response to server */ + resp = rspro_gen_ConfigClientRes(ResultCode_ok); + ipa_client_conn_send_rspro(srvc->conn, resp); + break; + default: + fprintf(stderr, "Unknown/Unsupported RSPRO PDU type: %u\n", pdu->msg.present); + return -1; + } + + return 0; +} + + static const struct log_info_cat default_categories[] = { [DMAIN] = { .name = "DMAIN", @@ -604,10 +641,8 @@ static void print_help(void) { - printf( "\t-d\t--bankd-host HOST\n" + printf( "\t-s\t--server-host HOST\n" "\t-p\t--bankd-port PORT\n" - "\t-c\t--client-id REMSIM_CLIENT_ID\n" - "\t-s\t--slot-nr REMSIM_SLOT_NUMBER\n" "\t-h\t--help\n" "\t-i\t--gsmtap-ip\tA.B.C.D\n" "\t-k\t--keep-running\n" @@ -624,10 +659,8 @@ } static const struct option opts[] = { - { "bankd-host", 1, 0, 'b' }, - { "bankd-port", 1, 0, 'p' }, - { "client-id", 1, 0, 'c' }, - { "slot-nr", 1, 0, 's' }, + { "server-host", 1, 0, 's' }, + { "server-port", 1, 0, 'p' }, { "gsmtap-ip", 1, 0, 'i' }, { "help", 0, 0, 'h' }, { "keep-running", 0, 0, 'k' }, @@ -644,16 +677,16 @@ int main(int argc, char **argv) { + struct rspro_server_conn *srvc; struct st_transport *transp = ci->slot->transp; char *gsmtap_host = "127.0.0.1"; int rc; int c, ret = 1; int keep_running = 0; - int bankd_port = 9999; - int client_id = -1, slot_nr = -1; + int server_port = 9999; int if_num = 0, vendor_id = -1, product_id = -1; int config_id = -1, altsetting = 0, addr = -1; - char *bankd_host = "127.0.0.1"; + char *server_host = "127.0.0.1"; char *path = NULL; uint8_t atr_data[33] = { 0x3B, 0x00 }; // the shortest simplest ATR possible uint8_t atr_len = 2; @@ -663,21 +696,15 @@ while (1) { int option_index = 0; - c = getopt_long(argc, argv, "b:p:c:s:hi:V:P:C:I:S:A:H:a:k", opts, &option_index); + c = getopt_long(argc, argv, "s:p:hi:V:P:C:I:S:A:H:a:k", opts, &option_index); if (c == -1) break; switch (c) { - case 'b': - bankd_host = optarg; + case 's': + server_host = optarg; break; case 'p': - bankd_port = atoi(optarg); - break; - case 'c': - client_id = atoi(optarg); - break; - case 's': - slot_nr = atoi(optarg); + server_port = atoi(optarg); break; case 'h': print_help(); @@ -726,11 +753,6 @@ goto do_exit; } - if (client_id < 0 || slot_nr < 0) { - fprintf(stderr, "You have to specify the remote SIM client ID and slot number\n"); - goto do_exit; - } - rc = libusb_init(NULL); if (rc < 0) { fprintf(stderr, "libusb initialization failed\n"); @@ -750,13 +772,20 @@ g_tall_ctx = talloc_named_const(NULL, 0, "global"); g_client = talloc_zero(g_tall_ctx, struct bankd_client); - g_client->bankd_host = bankd_host; - g_client->bankd_port = bankd_port; - g_client->own_comp_id.type = ComponentType_remsimClient; - g_client->clslot = &(ClientSlot_t){ .clientId = client_id, .slotNr = slot_nr }; - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.name, "simtrace2-remsim-client"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.software, "remsim-client"); - OSMO_STRLCPY_ARRAY(g_client->own_comp_id.sw_version, PACKAGE_VERSION); + + srvc = &g_client->srv_conn; + srvc->server_host = server_host; + srvc->server_port = server_port; + srvc->handle_rx = srvc_handle_rx; + srvc->own_comp_id.type = ComponentType_remsimClient; + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "simtrace2-remsim-client"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-client"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION); + rc = server_conn_fsm_alloc(g_client, srvc); + if (rc < 0) { + fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); + exit(1); + } asn_debug = 0; osmo_init_logging2(g_tall_ctx, &log_info); -- To view, visit https://gerrit.osmocom.org/13175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I76c9498089515d1a6190f3e79e143b7df3a531bd Gerrit-Change-Number: 13175 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:46 +0000 Subject: Change in osmo-remsim[master]: share debug.[ch] across all executables In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13176 ) Change subject: share debug.[ch] across all executables ...................................................................... share debug.[ch] across all executables This avoids us having to re-define log_info/log_info_cat for each program. Change-Id: I22f4f8a51b91ee09c5be26b1ed1bfca41730c577 --- M src/Makefile.am M src/bankd_main.c A src/debug.c M src/debug.h M src/remsim_client.c M src/simtrace2-remsim_client.c 6 files changed, 24 insertions(+), 42 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index ca799ce..5f0d846 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -25,15 +25,15 @@ pcsc_test_LDADD = $(OSMOCORE_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -remsim_bankd_SOURCES = bankd_slotmap.c bankd_main.c bankd_pcsc.c +remsim_bankd_SOURCES = bankd_slotmap.c bankd_main.c bankd_pcsc.c debug.c remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -lcsv -remsim_client_SOURCES = remsim_client.c remsim_client_fsm.c +remsim_client_SOURCES = remsim_client.c remsim_client_fsm.c debug.c remsim_client_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ libosmo-rspro.la -simtrace2_remsim_client_SOURCES = simtrace2-remsim_client.c remsim_client_fsm.c \ +simtrace2_remsim_client_SOURCES = simtrace2-remsim_client.c remsim_client_fsm.c debug.c \ simtrace2/apdu_dispatch.c \ simtrace2/simtrace2-discovery.c \ simtrace2/libusb_util.c diff --git a/src/bankd_main.c b/src/bankd_main.c index 5e94afb..fde03cd 100644 --- a/src/bankd_main.c +++ b/src/bankd_main.c @@ -26,6 +26,7 @@ #include #include "bankd.h" +#include "debug.h" #include "rspro_util.h" __thread void *talloc_asn1_ctx; @@ -36,19 +37,6 @@ * bankd core / main thread ***********************************************************************/ -static const struct log_info_cat default_categories[] = { - [DMAIN] = { - .name = "DMAIN", - .loglevel = LOGL_DEBUG, - .enabled = 1, - }, -}; - -static const struct log_info log_info = { - .cat = default_categories, - .num_cat = ARRAY_SIZE(default_categories), -}; - int asn_debug; static void bankd_init(struct bankd *bankd) diff --git a/src/debug.c b/src/debug.c new file mode 100644 index 0000000..046dc8c --- /dev/null +++ b/src/debug.c @@ -0,0 +1,16 @@ +#include +#include +#include "debug.h" + +static const struct log_info_cat default_categories[] = { + [DMAIN] = { + .name = "DMAIN", + .loglevel = LOGL_DEBUG, + .enabled = 1, + }, +}; + +const struct log_info log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; diff --git a/src/debug.h b/src/debug.h index 187d895..02551eb 100644 --- a/src/debug.h +++ b/src/debug.h @@ -3,3 +3,5 @@ enum { DMAIN, }; + +extern const struct log_info log_info; diff --git a/src/remsim_client.c b/src/remsim_client.c index 2f740d4..0c2dcbe 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -15,6 +15,7 @@ #include "rspro_util.h" #include "client.h" +#include "debug.h" static int bankd_handle_msg(struct bankd_client *bc, struct msgb *msg) { @@ -68,19 +69,6 @@ return -1; } -static const struct log_info_cat default_categories[] = { - [DMAIN] = { - .name = "DMAIN", - .loglevel = LOGL_DEBUG, - .enabled = 1, - }, -}; - -static const struct log_info log_info = { - .cat = default_categories, - .num_cat = ARRAY_SIZE(default_categories), -}; - static struct bankd_client *g_client; static void *g_tall_ctx; void __thread *talloc_asn1_ctx; diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 79da419..0832300 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -15,6 +15,7 @@ #include "rspro_util.h" #include "client.h" +#include "debug.h" #include #include @@ -619,19 +620,6 @@ } -static const struct log_info_cat default_categories[] = { - [DMAIN] = { - .name = "DMAIN", - .loglevel = LOGL_DEBUG, - .enabled = 1, - }, -}; - -static const struct log_info log_info = { - .cat = default_categories, - .num_cat = ARRAY_SIZE(default_categories), -}; - static void print_welcome(void) { printf("simtrace2-remsim-client - Remote SIM card client for SIMtrace\n" -- To view, visit https://gerrit.osmocom.org/13176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I22f4f8a51b91ee09c5be26b1ed1bfca41730c577 Gerrit-Change-Number: 13176 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:47 +0000 Subject: Change in osmo-remsim[master]: generalize slotmap to make use of it outside of bankd In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13177 ) Change subject: generalize slotmap to make use of it outside of bankd ...................................................................... generalize slotmap to make use of it outside of bankd Change-Id: I0ca7feaa38dfd0468814ef5a1eff997ce854cedf --- M src/Makefile.am M src/bankd.h M src/bankd_main.c D src/bankd_slotmap.c A src/slotmap.c A src/slotmap.h 6 files changed, 181 insertions(+), 160 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index 5f0d846..a44906b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -12,7 +12,7 @@ rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c -noinst_HEADERS = debug.h bankd.h client.h internal.h rspro_util.h \ +noinst_HEADERS = debug.h bankd.h client.h internal.h rspro_util.h slotmap.h \ simtrace2/apdu_dispatch.h \ simtrace2/libusb_util.h \ simtrace2/simtrace2-discovery.h \ @@ -25,7 +25,7 @@ pcsc_test_LDADD = $(OSMOCORE_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -remsim_bankd_SOURCES = bankd_slotmap.c bankd_main.c bankd_pcsc.c debug.c +remsim_bankd_SOURCES = slotmap.c bankd_main.c bankd_pcsc.c debug.c remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) \ $(PCSC_LIBS) libosmo-rspro.la -lcsv diff --git a/src/bankd.h b/src/bankd.h index 86b75cc..cd97772 100644 --- a/src/bankd.h +++ b/src/bankd.h @@ -13,60 +13,11 @@ #include #include "rspro_util.h" +#include "slotmap.h" #include "debug.h" struct bankd; -struct bank_slot { - uint16_t bank_id; - uint16_t slot_nr; -}; - -static inline bool bank_slot_equals(const struct bank_slot *a, const struct bank_slot *b) -{ - if (a->bank_id == b->bank_id && a->slot_nr == b->slot_nr) - return true; - else - return false; -} - -struct client_slot { - uint16_t client_id; - uint16_t slot_nr; -}; - -static inline bool client_slot_equals(const struct client_slot *a, const struct client_slot *b) -{ - if (a->client_id == b->client_id && a->slot_nr == b->slot_nr) - return true; - else - return false; -} - -/* slot mappings are created / removed by the server */ -struct bankd_slot_mapping { - /* global lits of bankd slot mappings */ - struct llist_head list; - /* slot on bank side */ - struct bank_slot bank; - /* slot on client side */ - struct client_slot client; -}; - -/* thread-safe lookup of map by client:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_client(struct bankd *bankd, - const struct client_slot *client); - -/* thread-safe lookup of map by bank:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_bank(struct bankd *bankd, const struct bank_slot *bank); - -/* thread-safe creating of a new bank<->client map */ -int bankd_slotmap_add(struct bankd *bankd, const struct bank_slot *bank, - const struct client_slot *client); - -/* thread-safe removal of a bank<->client map */ -void bankd_slotmap_del(struct bankd *bankd, struct bankd_slot_mapping *map); - enum bankd_worker_state { /* just started*/ BW_ST_INIT, @@ -138,9 +89,8 @@ /* TCP socket at which we are listening */ int accept_fd; - /* list of slit mappings. only ever modified in main thread! */ - struct llist_head slot_mappings; - pthread_rwlock_t slot_mappings_rwlock; + /* list of slot mappings. only ever modified in main thread! */ + struct slotmaps *slotmaps; /* list of bankd_workers. accessed/modified by multiple threads; protected by mutex */ struct llist_head workers; diff --git a/src/bankd_main.c b/src/bankd_main.c index fde03cd..ed225a9 100644 --- a/src/bankd_main.c +++ b/src/bankd_main.c @@ -47,8 +47,7 @@ asn_debug = 0; /* intialize members of 'bankd' */ - INIT_LLIST_HEAD(&bankd->slot_mappings); - pthread_rwlock_init(&bankd->slot_mappings_rwlock, NULL); + bankd->slotmaps = slotmap_init(bankd); INIT_LLIST_HEAD(&bankd->workers); pthread_mutex_init(&bankd->workers_mutex, NULL); @@ -71,7 +70,7 @@ int i; for (i = 0; i < 5; i++) { bs.slot_nr = cs.slot_nr = i; - bankd_slotmap_add(bankd, &bs, &cs); + slotmap_add(bankd->slotmaps, &bs, &cs); } } } @@ -304,9 +303,9 @@ /* attempt to obtain slot-map */ static int worker_try_slotmap(struct bankd_worker *worker) { - struct bankd_slot_mapping *slmap; + struct slot_mapping *slmap; - slmap = bankd_slotmap_by_client(worker->bankd, &worker->client.clslot); + slmap = slotmap_by_client(worker->bankd->slotmaps, &worker->client.clslot); if (!slmap) { LOGW(worker, "No slotmap (yet) for client C(%u:%u)\n", worker->client.clslot.client_id, worker->client.clslot.slot_nr); diff --git a/src/bankd_slotmap.c b/src/bankd_slotmap.c deleted file mode 100644 index 116fd69..0000000 --- a/src/bankd_slotmap.c +++ /dev/null @@ -1,100 +0,0 @@ - -#include -#include -#include -#include - -#include - -#include - -#include - -#include "bankd.h" - -/* thread-safe lookup of map by client:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_client(struct bankd *bankd, const struct client_slot *client) -{ - struct bankd_slot_mapping *map; - - pthread_rwlock_rdlock(&bankd->slot_mappings_rwlock); - llist_for_each_entry(map, &bankd->slot_mappings, list) { - if (client_slot_equals(&map->client, client)) { - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return map; - } - } - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return NULL; -} - -/* thread-safe lookup of map by bank:slot */ -struct bankd_slot_mapping *bankd_slotmap_by_bank(struct bankd *bankd, const struct bank_slot *bank) -{ - struct bankd_slot_mapping *map; - - pthread_rwlock_rdlock(&bankd->slot_mappings_rwlock); - llist_for_each_entry(map, &bankd->slot_mappings, list) { - if (bank_slot_equals(&map->bank, bank)) { - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return map; - } - } - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - return NULL; - -} - -/* thread-safe creating of a new bank<->client map */ -int bankd_slotmap_add(struct bankd *bankd, const struct bank_slot *bank, const struct client_slot *client) -{ - struct bankd_slot_mapping *map; - - /* We assume a single thread (main thread) will ever update the mappings, - * and hence we don't have any races by first grabbing + releasing the read - * lock twice before grabbing the writelock below */ - - map = bankd_slotmap_by_bank(bankd, bank); - if (map) { - fprintf(stderr, "BANKD %u:%u already in use, cannot add new map\n", - bank->bank_id, bank->slot_nr); - return -EBUSY; - } - - map = bankd_slotmap_by_client(bankd, client); - if (map) { - fprintf(stderr, "CLIENT %u:%u already in use, cannot add new map\n", - client->client_id, client->slot_nr); - return -EBUSY; - } - - /* allocate new mapping and add to list of mappings */ - map = talloc_zero(bankd, struct bankd_slot_mapping); - if (!map) - return -ENOMEM; - - map->bank = *bank; - map->client = *client; - - pthread_rwlock_wrlock(&bankd->slot_mappings_rwlock); - llist_add_tail(&map->list, &bankd->slot_mappings); - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - - printf("Added Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); - - return 0; -} - -/* thread-safe removal of a bank<->client map */ -void bankd_slotmap_del(struct bankd *bankd, struct bankd_slot_mapping *map) -{ - printf("Deleting Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); - - pthread_rwlock_wrlock(&bankd->slot_mappings_rwlock); - llist_del(&map->list); - pthread_rwlock_unlock(&bankd->slot_mappings_rwlock); - - talloc_free(map); -} diff --git a/src/slotmap.c b/src/slotmap.c new file mode 100644 index 0000000..303f5fd --- /dev/null +++ b/src/slotmap.c @@ -0,0 +1,110 @@ + +#include +#include +#include +#include + +#include + +#include + +#include + +#include "slotmap.h" + +/* thread-safe lookup of map by client:slot */ +struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client) +{ + struct slot_mapping *map; + + pthread_rwlock_rdlock(&maps->rwlock); + llist_for_each_entry(map, &maps->mappings, list) { + if (client_slot_equals(&map->client, client)) { + pthread_rwlock_unlock(&maps->rwlock); + return map; + } + } + pthread_rwlock_unlock(&maps->rwlock); + return NULL; +} + +/* thread-safe lookup of map by bank:slot */ +struct slot_mapping *slotmap_by_bank(struct slotmaps *maps, const struct bank_slot *bank) +{ + struct slot_mapping *map; + + pthread_rwlock_rdlock(&maps->rwlock); + llist_for_each_entry(map, &maps->mappings, list) { + if (bank_slot_equals(&map->bank, bank)) { + pthread_rwlock_unlock(&maps->rwlock); + return map; + } + } + pthread_rwlock_unlock(&maps->rwlock); + return NULL; + +} + +/* thread-safe creating of a new bank<->client map */ +int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client) +{ + struct slot_mapping *map; + + /* We assume a single thread (main thread) will ever update the mappings, + * and hence we don't have any races by first grabbing + releasing the read + * lock twice before grabbing the writelock below */ + + map = slotmap_by_bank(maps, bank); + if (map) { + fprintf(stderr, "BANKD %u:%u already in use, cannot add new map\n", + bank->bank_id, bank->slot_nr); + return -EBUSY; + } + + map = slotmap_by_client(maps, client); + if (map) { + fprintf(stderr, "CLIENT %u:%u already in use, cannot add new map\n", + client->client_id, client->slot_nr); + return -EBUSY; + } + + /* allocate new mapping and add to list of mappings */ + map = talloc_zero(maps, struct slot_mapping); + if (!map) + return -ENOMEM; + + map->bank = *bank; + map->client = *client; + + pthread_rwlock_wrlock(&maps->rwlock); + llist_add_tail(&map->list, &maps->mappings); + pthread_rwlock_unlock(&maps->rwlock); + + printf("Added Slot Map C(%u:%u) <-> B(%u:%u)\n", + map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + + return 0; +} + +/* thread-safe removal of a bank<->client map */ +void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) +{ + printf("Deleting Slot Map C(%u:%u) <-> B(%u:%u)\n", + map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + + pthread_rwlock_wrlock(&maps->rwlock); + llist_del(&map->list); + pthread_rwlock_unlock(&maps->rwlock); + + talloc_free(map); +} + +struct slotmaps *slotmap_init(void *ctx) +{ + struct slotmaps *sm = talloc_zero(ctx, struct slotmaps); + + INIT_LLIST_HEAD(&sm->mappings); + pthread_rwlock_init(&sm->rwlock, NULL); + + return sm; +} diff --git a/src/slotmap.h b/src/slotmap.h new file mode 100644 index 0000000..92eb6f4 --- /dev/null +++ b/src/slotmap.h @@ -0,0 +1,62 @@ +#pragma once +#include +#include +#include +#include + +struct bank_slot { + uint16_t bank_id; + uint16_t slot_nr; +}; + +static inline bool bank_slot_equals(const struct bank_slot *a, const struct bank_slot *b) +{ + if (a->bank_id == b->bank_id && a->slot_nr == b->slot_nr) + return true; + else + return false; +} + +struct client_slot { + uint16_t client_id; + uint16_t slot_nr; +}; + +static inline bool client_slot_equals(const struct client_slot *a, const struct client_slot *b) +{ + if (a->client_id == b->client_id && a->slot_nr == b->slot_nr) + return true; + else + return false; +} + +/* slot mappings are created / removed by the server */ +struct slot_mapping { + /* global lits of bankd slot mappings */ + struct llist_head list; + /* slot on bank side */ + struct bank_slot bank; + /* slot on client side */ + struct client_slot client; +}; + +/* collection of slot mappings */ +struct slotmaps { + struct llist_head mappings; + pthread_rwlock_t rwlock; +}; + +/* thread-safe lookup of map by client:slot */ +struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client); + +/* thread-safe lookup of map by bank:slot */ +struct slot_mapping *slotmap_by_bank(struct slotmaps *maps, const struct bank_slot *bank); + +/* thread-safe creating of a new bank<->client map */ +int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client); + +/* thread-safe removal of a bank<->client map */ +void slotmap_del(struct slotmaps *maps, struct slot_mapping *map); + +/* initialize the entire map collection */ +struct slotmaps *slotmap_init(void *ctx); -- To view, visit https://gerrit.osmocom.org/13177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0ca7feaa38dfd0468814ef5a1eff997ce854cedf Gerrit-Change-Number: 13177 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:47 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce slotmap-printing function and use it In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13178 ) Change subject: slotmap: Introduce slotmap-printing function and use it ...................................................................... slotmap: Introduce slotmap-printing function and use it ... avoid code duplication Change-Id: I6458b9d222ed9f4113c3bb1c538b4b710559c6b2 --- M src/slotmap.c 1 file changed, 13 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/slotmap.c b/src/slotmap.c index 303f5fd..a3ae792 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -12,6 +12,14 @@ #include "slotmap.h" +const char *slotmap_name(char *buf, size_t buf_len, const struct slot_mapping *map) +{ + snprintf(buf, buf_len, "B(%u:%u) <-> C(%u:%u)", + map->bank.bank_id, map->bank.slot_nr, map->client.client_id, map->client.slot_nr); + return buf; +} + + /* thread-safe lookup of map by client:slot */ struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client) { @@ -49,6 +57,7 @@ int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client) { struct slot_mapping *map; + char mapname[64]; /* We assume a single thread (main thread) will ever update the mappings, * and hence we don't have any races by first grabbing + releasing the read @@ -80,8 +89,7 @@ llist_add_tail(&map->list, &maps->mappings); pthread_rwlock_unlock(&maps->rwlock); - printf("Added Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); return 0; } @@ -89,8 +97,9 @@ /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) { - printf("Deleting Slot Map C(%u:%u) <-> B(%u:%u)\n", - map->client.client_id, map->client.slot_nr, map->bank.bank_id, map->bank.slot_nr); + char mapname[64]; + + printf("Slot Map %s deleted\n", slotmap_name(mapname, sizeof(mapname), map)); pthread_rwlock_wrlock(&maps->rwlock); llist_del(&map->list); -- To view, visit https://gerrit.osmocom.org/13178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6458b9d222ed9f4113c3bb1c538b4b710559c6b2 Gerrit-Change-Number: 13178 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:47 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce the concept of a slotmap state In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13179 ) Change subject: slotmap: Introduce the concept of a slotmap state ...................................................................... slotmap: Introduce the concept of a slotmap state ... which is required in remsim-server Change-Id: I56f5ecd6194ef62c87d87d2965ca0315e3d0fc2d --- M src/slotmap.c M src/slotmap.h 2 files changed, 80 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/slotmap.c b/src/slotmap.c index a3ae792..924452b 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -9,9 +9,18 @@ #include #include +#include #include "slotmap.h" +const struct value_string slot_map_state_name[] = { + { SLMAP_S_NEW, "NEW" }, + { SLMAP_S_UNACKNOWLEDGED, "UNACKNOWLEDGED" }, + { SLMAP_S_ACTIVE, "ACTIVE" }, + { SLMAP_S_DELETING, "DELETING" }, + { 0, NULL } +}; + const char *slotmap_name(char *buf, size_t buf_len, const struct slot_mapping *map) { snprintf(buf, buf_len, "B(%u:%u) <-> C(%u:%u)", @@ -82,11 +91,16 @@ if (!map) return -ENOMEM; + map->maps = maps; map->bank = *bank; map->client = *client; pthread_rwlock_wrlock(&maps->rwlock); llist_add_tail(&map->list, &maps->mappings); +#ifdef REMSIM_SERVER + map->state = SLMAP_S_NEW; + INIT_LLIST_HEAD(&map->bank_list); /* to ensure llist_del() always succeeds */ +#endif pthread_rwlock_unlock(&maps->rwlock); printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); @@ -103,6 +117,9 @@ pthread_rwlock_wrlock(&maps->rwlock); llist_del(&map->list); +#ifdef REMSIM_SERVER + llist_del(&map->bank_list); +#endif pthread_rwlock_unlock(&maps->rwlock); talloc_free(map); @@ -117,3 +134,37 @@ return sm; } + +#ifdef REMSIM_SERVER + +void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list) +{ + char mapname[64]; + + printf("Slot Map %s state change: %s -> %s\n", slotmap_name(mapname, sizeof(mapname), map), + get_value_string(slot_map_state_name, map->state), + get_value_string(slot_map_state_name, new_state)); + + map->state = new_state; +#ifdef REMSIM_SERVER + llist_del(&map->bank_list); +#endif + if (new_bank_list) + llist_add_tail(&map->bank_list, new_bank_list); +#ifdef REMSIM_SERVER + else + INIT_LLIST_HEAD(&map->bank_list); +#endif +} + + +void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list) +{ + pthread_rwlock_wrlock(&map->maps->rwlock); + _slotmap_state_change(map, new_state, new_bank_list); + pthread_rwlock_unlock(&map->maps->rwlock); +} + +#endif diff --git a/src/slotmap.h b/src/slotmap.h index 92eb6f4..27d7e1b 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -4,6 +4,8 @@ #include #include +#define REMSIM_SERVER 1 + struct bank_slot { uint16_t bank_id; uint16_t slot_nr; @@ -30,14 +32,33 @@ return false; } +enum slot_mapping_state { + SLMAP_S_NEW, /* created; not yet sent to bankd */ + SLMAP_S_UNACKNOWLEDGED, /* created + sent to bankd but not yet acknowledge by bankd */ + SLMAP_S_ACTIVE, /* fully active map; acknowledged by bankd */ + SLMAP_S_DELETING, /* we were asked to delete it; bankd hasn't confirmed yet */ +}; +extern const struct value_string slot_map_state_name[]; +static inline const char *slotmap_state_name(enum slot_mapping_state st) +{ + return get_value_string(slot_map_state_name, st); +} + /* slot mappings are created / removed by the server */ struct slot_mapping { /* global lits of bankd slot mappings */ struct llist_head list; + struct slotmaps *maps; + /* slot on bank side */ struct bank_slot bank; /* slot on client side */ struct client_slot client; + +#ifdef REMSIM_SERVER + struct llist_head bank_list; + enum slot_mapping_state state; +#endif }; /* collection of slot mappings */ @@ -60,3 +81,11 @@ /* initialize the entire map collection */ struct slotmaps *slotmap_init(void *ctx); + +#ifdef REMSIM_SERVER +void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list); +/* thread-safe way to change the state of given slot map */ +void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list); +#endif -- To view, visit https://gerrit.osmocom.org/13179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I56f5ecd6194ef62c87d87d2965ca0315e3d0fc2d Gerrit-Change-Number: 13179 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:47 +0000 Subject: Change in osmo-remsim[master]: slotmap: Return newly-created map from slotmap_add() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13180 ) Change subject: slotmap: Return newly-created map from slotmap_add() ...................................................................... slotmap: Return newly-created map from slotmap_add() Change-Id: I1bc66fee1f457bcf9693491031d7d4c411fc582e --- M src/slotmap.c M src/slotmap.h 2 files changed, 7 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/slotmap.c b/src/slotmap.c index 924452b..12d7777 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -63,7 +63,8 @@ } /* thread-safe creating of a new bank<->client map */ -int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client) +struct slot_mapping *slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, + const struct client_slot *client) { struct slot_mapping *map; char mapname[64]; @@ -76,20 +77,20 @@ if (map) { fprintf(stderr, "BANKD %u:%u already in use, cannot add new map\n", bank->bank_id, bank->slot_nr); - return -EBUSY; + return NULL; } map = slotmap_by_client(maps, client); if (map) { fprintf(stderr, "CLIENT %u:%u already in use, cannot add new map\n", client->client_id, client->slot_nr); - return -EBUSY; + return NULL; } /* allocate new mapping and add to list of mappings */ map = talloc_zero(maps, struct slot_mapping); if (!map) - return -ENOMEM; + return NULL; map->maps = maps; map->bank = *bank; @@ -105,7 +106,7 @@ printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); - return 0; + return map; } /* thread-safe removal of a bank<->client map */ diff --git a/src/slotmap.h b/src/slotmap.h index 27d7e1b..af08a81 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -74,7 +74,7 @@ struct slot_mapping *slotmap_by_bank(struct slotmaps *maps, const struct bank_slot *bank); /* thread-safe creating of a new bank<->client map */ -int slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client); +struct slot_mapping *slotmap_add(struct slotmaps *maps, const struct bank_slot *bank, const struct client_slot *client); /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map); -- To view, visit https://gerrit.osmocom.org/13180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1bc66fee1f457bcf9693491031d7d4c411fc582e Gerrit-Change-Number: 13180 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:48 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add "DELETE_REQ" state In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13181 ) Change subject: slotmap: Add "DELETE_REQ" state ...................................................................... slotmap: Add "DELETE_REQ" state Change-Id: I953e72e304d6403b2e47f7546a36abfdf246e44b --- M src/slotmap.c M src/slotmap.h 2 files changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/slotmap.c b/src/slotmap.c index 12d7777..a8874fb 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -17,6 +17,7 @@ { SLMAP_S_NEW, "NEW" }, { SLMAP_S_UNACKNOWLEDGED, "UNACKNOWLEDGED" }, { SLMAP_S_ACTIVE, "ACTIVE" }, + { SLMAP_S_DELETE_REQ, "DELETE_REQ" }, { SLMAP_S_DELETING, "DELETING" }, { 0, NULL } }; diff --git a/src/slotmap.h b/src/slotmap.h index af08a81..5d3d891 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -36,7 +36,8 @@ SLMAP_S_NEW, /* created; not yet sent to bankd */ SLMAP_S_UNACKNOWLEDGED, /* created + sent to bankd but not yet acknowledge by bankd */ SLMAP_S_ACTIVE, /* fully active map; acknowledged by bankd */ - SLMAP_S_DELETING, /* we were asked to delete it; bankd hasn't confirmed yet */ + SLMAP_S_DELETE_REQ, /* fully active map; REST has requested deletion */ + SLMAP_S_DELETING, /* RSPRO has issued Remove to bankd, but bankd hasn't confirmed yet */ }; extern const struct value_string slot_map_state_name[]; static inline const char *slotmap_state_name(enum slot_mapping_state st) -- To view, visit https://gerrit.osmocom.org/13181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I953e72e304d6403b2e47f7546a36abfdf246e44b Gerrit-Change-Number: 13181 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:48 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add slotmap_get_id() function to get numeric ID of slot map In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13182 ) Change subject: slotmap: Add slotmap_get_id() function to get numeric ID of slot map ...................................................................... slotmap: Add slotmap_get_id() function to get numeric ID of slot map Change-Id: Ie476244d9ade30eed9215923275aa82a5d10176f --- M src/slotmap.c M src/slotmap.h 2 files changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/slotmap.c b/src/slotmap.c index a8874fb..703dd02 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -29,6 +29,10 @@ return buf; } +uint32_t slotmap_get_id(const struct slot_mapping *map) +{ + return (map->bank.bank_id << 16) | map->bank.slot_nr; +} /* thread-safe lookup of map by client:slot */ struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client) diff --git a/src/slotmap.h b/src/slotmap.h index 5d3d891..a26de6d 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -68,6 +68,8 @@ pthread_rwlock_t rwlock; }; +uint32_t slotmap_get_id(const struct slot_mapping *map); + /* thread-safe lookup of map by client:slot */ struct slot_mapping *slotmap_by_client(struct slotmaps *maps, const struct client_slot *client); -- To view, visit https://gerrit.osmocom.org/13182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie476244d9ade30eed9215923275aa82a5d10176f Gerrit-Change-Number: 13182 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 20:37:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 7 Mar 2019 20:37:48 +0000 Subject: Change in osmo-remsim[master]: slotmap: Add _slotmap_del() for callers that already have a lock In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13183 ) Change subject: slotmap: Add _slotmap_del() for callers that already have a lock ...................................................................... slotmap: Add _slotmap_del() for callers that already have a lock Change-Id: Id05872c3676d0afe4c7abe74677fee62b4f03e53 --- M src/slotmap.c M src/slotmap.h 2 files changed, 9 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/slotmap.c b/src/slotmap.c index 703dd02..aa03638 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -115,21 +115,26 @@ } /* thread-safe removal of a bank<->client map */ -void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) +void _slotmap_del(struct slotmaps *maps, struct slot_mapping *map) { char mapname[64]; printf("Slot Map %s deleted\n", slotmap_name(mapname, sizeof(mapname), map)); - pthread_rwlock_wrlock(&maps->rwlock); llist_del(&map->list); #ifdef REMSIM_SERVER llist_del(&map->bank_list); #endif - pthread_rwlock_unlock(&maps->rwlock); talloc_free(map); } +/* thread-safe removal of a bank<->client map */ +void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) +{ + pthread_rwlock_wrlock(&maps->rwlock); + _slotmap_del(maps, map); + pthread_rwlock_unlock(&maps->rwlock); +} struct slotmaps *slotmap_init(void *ctx) { diff --git a/src/slotmap.h b/src/slotmap.h index a26de6d..3eb976f 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -81,6 +81,7 @@ /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map); +void _slotmap_del(struct slotmaps *maps, struct slot_mapping *map); /* initialize the entire map collection */ struct slotmaps *slotmap_init(void *ctx); -- To view, visit https://gerrit.osmocom.org/13183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id05872c3676d0afe4c7abe74677fee62b4f03e53 Gerrit-Change-Number: 13183 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 22:10:13 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 22:10:13 +0000 Subject: Change in libosmocore[master]: tdef_test: tweak output to prepare for a fix In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13141 ) Change subject: tdef_test: tweak output to prepare for a fix ...................................................................... tdef_test: tweak output to prepare for a fix - Always print the state after a state transition. This shows that actually state transitions are missing for states that have no timer defined. This is a bug in tdef_test.c, to be fixed subsequently. - Instead of total time passed since start, print the individual fake time intervals. Omit initial useless zero fake time advance. - Add two more state transitions, back out from and into a state that has no timeout set. Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 3 files changed, 24 insertions(+), 21 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c index f5b6413..fe2accf 100644 --- a/tests/tdef/tdef_test.c +++ b/tests/tdef/tdef_test.c @@ -287,7 +287,7 @@ osmo_gettimeofday_override_add(secs, usecs); \ osmo_clock_override_add(CLOCK_MONOTONIC, secs, usecs * 1000); \ timersub(&osmo_gettimeofday_override_time, &fake_time_start_time, &diff); \ - printf("Total time passed: %ld.%06ld s\n", diff.tv_sec, diff.tv_usec); \ + printf("Time passes: %ld.%06ld s\n", (long)secs, (long)usecs); \ osmo_timers_prepare(); \ osmo_timers_update(); \ } while (0) @@ -303,7 +303,6 @@ clock_override->tv_sec = fake_time_start_time.tv_sec; clock_override->tv_nsec = fake_time_start_time.tv_usec * 1000; osmo_clock_override_enable(CLOCK_MONOTONIC, true); - fake_time_passes(0, 0); } static void print_fsm_state(struct osmo_fsm_inst *fi) @@ -325,18 +324,18 @@ const struct osmo_tdef_state_timeout *st = osmo_tdef_get_state_timeout(NEXT_STATE, \ test_tdef_state_timeouts); \ if (!st) { \ - printf(" --> %s (no timer configured for this state)\n", \ + printf(" --> %s (no timer configured for this state)\t", \ osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE)); \ } else { \ struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, st->T); \ int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \ - printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", osmo_fsm_state_name(&test_tdef_fsm, \ - NEXT_STATE), \ + printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", \ + osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), \ st->T, st->keep_timer ? "(keep_timer)" : "", \ t? t->val : 0, t? osmo_tdef_unit_name(t->unit) : "-", \ rc); \ - print_fsm_state(fi); \ } \ + print_fsm_state(fi); \ } while(0) @@ -378,6 +377,8 @@ fake_time_passes(23, 45678); print_fsm_state(fi); test_tdef_fsm_state_chg(tdefs, S_L); + test_tdef_fsm_state_chg(tdefs, S_O); + test_tdef_fsm_state_chg(tdefs, S_L); printf("- test T=0:\n"); test_tdef_fsm_state_chg(tdefs, S_O); diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 6e6ba00..1acf0e6 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -110,7 +110,6 @@ osmo_tdef_get(7, s) = 50 test_tdef_state_timeout() -Total time passed: 0.000000 s state=A T=0, no timeout --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining @@ -121,25 +120,27 @@ --> I (configured as T9 5 m) rc=0; state=I T=9, 300.000000 s remaining --> J (configured as T10 20 m) rc=0; state=J T=10, 1200.000000 s remaining - test keep_timer: -Total time passed: 123.045678 s +Time passes: 123.045678 s state=J T=10, 1076.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=10, 1076.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 146.091356 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=1, 76.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 169.137034 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - test T=0: - --> O (no timer configured for this state) + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - test no timer: - --> X (no timer configured for this state) + --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test disallowed transition: - --> Z (no timer configured for this state) + --> Z (no timer configured for this state) state=Y T=666, 999.000000 s remaining --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining diff --git a/tests/tdef/tdef_test_range_64bit.ok b/tests/tdef/tdef_test_range_64bit.ok index bd104b6..72ac466 100644 --- a/tests/tdef/tdef_test_range_64bit.ok +++ b/tests/tdef/tdef_test_range_64bit.ok @@ -138,7 +138,6 @@ osmo_tdef_get(7, s) = 50 test_tdef_state_timeout() -Total time passed: 0.000000 s state=A T=0, no timeout --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining @@ -149,23 +148,25 @@ --> I (configured as T9 5 m) rc=0; state=I T=9, 300.000000 s remaining --> J (configured as T10 20 m) rc=0; state=J T=10, 1200.000000 s remaining - test keep_timer: -Total time passed: 123.045678 s +Time passes: 123.045678 s state=J T=10, 1076.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=10, 1076.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 146.091356 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=1, 76.954322 s remaining --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining -Total time passed: 169.137034 s +Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - test T=0: - --> O (no timer configured for this state) + --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - test no timer: - --> X (no timer configured for this state) + --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: - --> Y (configured as T666 18446744073709551615 -) rc=0; state=Y T=666, 999.000000 s remaining + --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test large T: --> M (configured as T2147483647 0 s) rc=0; state=M T=2147483647, no timeout - test T<0: @@ -369,7 +370,7 @@ --> M (configured as T2147483647 18446744073709551615 s) rc=0; state=M T=2147483647, 2147483647.000000 s remaining --> M (configured as T2147483647 0 s) rc=0; state=M T=2147483647, no timeout - test disallowed transition: - --> Z (no timer configured for this state) + --> Z (no timer configured for this state) state=M T=2147483647, no timeout --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining -- To view, visit https://gerrit.osmocom.org/13141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icb31af96d37741e256ff07868f3d4f5c48cdda74 Gerrit-Change-Number: 13141 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 22:10:14 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 22:10:14 +0000 Subject: Change in libosmocore[master]: fix tdef_test.c: do call the function-to-test in all cases In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13142 ) Change subject: fix tdef_test.c: do call the function-to-test in all cases ...................................................................... fix tdef_test.c: do call the function-to-test in all cases Always call osmo_tdef_fsm_inst_state_chg(), also when no timeout is defined. When there is no timeout defined for a state, tdef_test.c tries to be smart and print different output. In that mess, I missed the fact that osmo_tdef_fsm_inst_state_chg() isn't always called as it should. In the same mess, the resulting state was never printed until the preceding patch, which helped to hide this bug. Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 3 files changed, 19 insertions(+), 19 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c index fe2accf..12ca802 100644 --- a/tests/tdef/tdef_test.c +++ b/tests/tdef/tdef_test.c @@ -323,12 +323,12 @@ #define test_tdef_fsm_state_chg(tdefs, NEXT_STATE) do { \ const struct osmo_tdef_state_timeout *st = osmo_tdef_get_state_timeout(NEXT_STATE, \ test_tdef_state_timeouts); \ + int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \ if (!st) { \ - printf(" --> %s (no timer configured for this state)\t", \ - osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE)); \ + printf(" --> %s (no timer configured for this state) rc=%d;\t", \ + osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), rc); \ } else { \ struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, st->T); \ - int rc = osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, test_tdef_state_timeouts, tdefs, 999); \ printf(" --> %s (configured as T%d%s %lu %s) rc=%d;\t", \ osmo_fsm_state_name(&test_tdef_fsm, NEXT_STATE), \ st->T, st->keep_timer ? "(keep_timer)" : "", \ diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 1acf0e6..135951e 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -131,16 +131,16 @@ Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout - test T=0: - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: - --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> X (no timer configured for this state) rc=0; state=X T=0, no timeout - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test disallowed transition: - --> Z (no timer configured for this state) state=Y T=666, 999.000000 s remaining - --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining - --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining - --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining + --> Z (no timer configured for this state) rc=0; state=Z T=0, no timeout + --> B (configured as T2 100 ms) rc=-1; state=Z T=0, no timeout + --> C (configured as T3 100 m) rc=-1; state=Z T=0, no timeout + --> D (configured as T4 100 custom-unit) rc=-1; state=Z T=0, no timeout diff --git a/tests/tdef/tdef_test_range_64bit.ok b/tests/tdef/tdef_test_range_64bit.ok index 72ac466..eed58e6 100644 --- a/tests/tdef/tdef_test_range_64bit.ok +++ b/tests/tdef/tdef_test_range_64bit.ok @@ -159,12 +159,12 @@ Time passes: 23.045678 s state=A T=1, 76.954322 s remaining --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout - test T=0: - --> O (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: - --> X (no timer configured for this state) state=L T=123, 76.954322 s remaining + --> X (no timer configured for this state) rc=0; state=X T=0, no timeout - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining - test large T: @@ -370,7 +370,7 @@ --> M (configured as T2147483647 18446744073709551615 s) rc=0; state=M T=2147483647, 2147483647.000000 s remaining --> M (configured as T2147483647 0 s) rc=0; state=M T=2147483647, no timeout - test disallowed transition: - --> Z (no timer configured for this state) state=M T=2147483647, no timeout - --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining - --> C (configured as T3 100 m) rc=0; state=C T=3, 6000.000000 s remaining - --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining + --> Z (no timer configured for this state) rc=0; state=Z T=0, no timeout + --> B (configured as T2 100 ms) rc=-1; state=Z T=0, no timeout + --> C (configured as T3 100 m) rc=-1; state=Z T=0, no timeout + --> D (configured as T4 100 custom-unit) rc=-1; state=Z T=0, no timeout -- To view, visit https://gerrit.osmocom.org/13142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1d953d99854422bff8eb32f051e9c6147bc836b6 Gerrit-Change-Number: 13142 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 23:24:56 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 23:24:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_optional_cc_rel to ignore CC REL during call abort tests In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13167 ) Change subject: msc: add as_optional_cc_rel to ignore CC REL during call abort tests ...................................................................... msc: add as_optional_cc_rel to ignore CC REL during call abort tests When aborting a call with a Clear Request, it is actually a good idea to release an ongoing call with a CC Release message from the MSC. Allow this. Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd --- M msc/MSC_Tests.ttcn 1 file changed, 23 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7129f81..1edc7ad 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -152,6 +152,10 @@ } } +private altstep as_optional_cc_rel(CallParameters cpars) runs on BSC_ConnHdlr { + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))) { repeat; }; +} + function f_init_smpp(charstring id) runs on MTC_CT { id := id & "-SMPP"; var EsmePars pars := { @@ -1267,7 +1271,13 @@ BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party))); + var default ccrel := activate(as_optional_cc_rel(cpars)); + f_expect_clear(185.0); + + deactivate(ccrel); + + f_sleep(1.0); } testcase TC_mo_setup_and_nothing() runs on MTC_CT { var BSC_ConnHdlr vc_conn; @@ -1477,7 +1487,6 @@ setverdict(fail, "Timeout waiting for channel release"); mtc.stop; } - [] BSSAP.receive { repeat; } [] MNCC.receive { repeat; } [] GSUP.receive { repeat; } [] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd { @@ -1487,6 +1496,7 @@ } [] MGCP.receive { repeat; } [] as_clear_cmd_compl_disc(); + [] as_optional_cc_rel(cpars); } } testcase TC_mt_crcx_ran_reject() runs on MTC_CT { @@ -1873,13 +1883,11 @@ /* Drop CRCX */ MGCP.receive(tr_CRCX) -> value mgcp_cmd; - /* Drop DTAP Release */ - BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); - - /* Drop resent DTAP Release */ - BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); + var default ccrel := activate(as_optional_cc_rel(cpars)); f_expect_clear(60.0); + + deactivate(ccrel); } testcase TC_mo_release_timeout() runs on MTC_CT { var BSC_ConnHdlr vc_conn; @@ -3154,10 +3162,16 @@ f_sleep(1.0); BSSAP.send(ts_BSSMAP_ClearRequest(0)); - MNCC.receive(tr_MNCC_REL_ind(?, ?)) -> value mncc; + var default ccrel := activate(as_optional_cc_rel(cpars)); - BSSAP.receive(tr_BSSMAP_ClearCommand); - BSSAP.send(ts_BSSMAP_ClearComplete); + interleave { + [] MNCC.receive(tr_MNCC_REL_ind(?, ?)) { }; + [] BSSAP.receive(tr_BSSMAP_ClearCommand) { + BSSAP.send(ts_BSSMAP_ClearComplete); + }; + } + + deactivate(ccrel); f_sleep(1.0); } -- To view, visit https://gerrit.osmocom.org/13167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd Gerrit-Change-Number: 13167 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 23:26:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 23:26:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add codec to all Assignment Complete messages Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13186 Change subject: msc: add codec to all Assignment Complete messages ...................................................................... msc: add codec to all Assignment Complete messages So far we omit a Speech Codec (Chosen) from Assignment Complete messages, which is actually a mandatory parameter. osmo-msc seems to carry on nevertheless, but it actually shouldn't be able to. Always send a Speech Codec (Chosen). Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn 2 files changed, 14 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/13186/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index b538095..4df39d4 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -462,6 +462,11 @@ lengthIndicator := 0, /* overwritten */ codecElements := valueof(elem) } +template BSSMAP_IE_SpeechCodec ts_BSSMAP_IE_SpeechCodec(template BSSMAP_FIELD_CodecElements elem) := { + elementIdentifier := '7E'O, + lengthIndicator := 0, /* overwritten */ + codecElements := valueof(elem) +} template PDU_BSSAP ts_BSSMAP_AssignmentReq(template BSSMAP_IE_CircuitIdentityCode cic := omit, @@ -534,7 +539,8 @@ template PDU_BSSAP ts_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := omit, - template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit) + template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit, + template BSSMAP_IE_SpeechCodec speechCodec := omit) modifies ts_BSSAP_BSSMAP := { pdu := { bssmap := { @@ -550,7 +556,7 @@ lSAIdentifier := omit, talkerPriority := omit, aoIPTransportLayer := aoip, - speechCodec := omit, + speechCodec := speechCodec, codecList := omit, lCLS_BSS_Status := omit } diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 2cd666f..e6cf2b0 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -532,8 +532,10 @@ valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; + var BSSMAP_IE_SpeechCodec codec; tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); - BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla)); + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); } /* MS -> MSC: ALERTING */ @@ -633,8 +635,10 @@ /* expect AoIP IP/Port to match what we returned in CRCX_ACK above */ [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; + var BSSMAP_IE_SpeechCodec codec; tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); - BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla)); + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); } } -- To view, visit https://gerrit.osmocom.org/13186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa Gerrit-Change-Number: 13186 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 7 23:26:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 7 Mar 2019 23:26:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13187 Change subject: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe ...................................................................... TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 --- M msc/MSC_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/13187/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 5d40f09..31a7401 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1596,6 +1596,8 @@ mtc.stop; } } + + f_expect_clear(); setverdict(pass); } testcase TC_gsup_cancel() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/13187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 Gerrit-Change-Number: 13187 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:00:39 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:00:39 +0000 Subject: Change in osmo-msc[master]: vty: add cmd subscriber ID sms delete-all In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13174 to look at the new patch set (#2). Change subject: vty: add cmd subscriber ID sms delete-all ...................................................................... vty: add cmd subscriber ID sms delete-all In ttcn3-msc-tests, so far we leave an intentionally failed MT SMS in the SMS queue, which may cause it to re-appear in subsequent tests. Allow removing all SMS for a given subscriber from the SMS database for good. (I dimly remember a user report where the SMS queue spams failed SMS attempts, and the only way to get rid of SMS for a given subscriber is to tamper with the sms.db file directly. This should no longer be necessary with this command.) Related: I7dce12942a65eaaf97f78ca69401c7f93faacb9e (osmo-ttcn3-hacks) Change-Id: I637cbd7adc075a192f49752b38779391472ff06d --- M src/libmsc/msc_vty.c 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/74/13174/2 -- To view, visit https://gerrit.osmocom.org/13174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I637cbd7adc075a192f49752b38779391472ff06d Gerrit-Change-Number: 13174 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:00:39 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:00:39 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13173 to look at the new patch set (#2). Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... sms queue: avoid repeated Paging for a failed SMS So far, sms_pending_failed() starts a new sms_queue_trigger() run. The intention behind that might have been to fill up the queue when sending SMS has failed, but the practical effect is actually bad: As current ttcn3-msc-test runs show, a failed MT SMS gets triggered multiple times in short succession, i.e. osmo-msc repeatedly sends Paging Requests for the same subscriber. This special case happens actually only when there are few SMS still in the DB to be delivered. In the TTCN3 test, there is exactly one MT SMS for one subscriber, and retriggering the queue brings up the same SMS every time. See f_tc_lu_and_mt_sms_paging_and_nothing() and f_tc_sgsap_mt_sms_and_nothing() which say: "/* Expect the MSC to page exactly 10 times before giving up */" This is bad because an MSC should send a Paging Request exactly once. Retrying failed Paging is clearly the task of the BSC, not the MSC. The remaining code around Paging correctly follows this paradigm, but this retrigger doesn't. Do not immediately trigger the SMS queue on a failed MT SMS. Instead, leave it up to the periodical SMS queue trigger to decide. This patch will cause the MT SMS tests in ttcn3-msc-tests to fail, because the test expectations are bogus. The patch fixing the test run is listed 'Related' below. Related: I7dce12942a65eaaf97f78ca69401c7f93faacb9e (osmo-ttcn3-hacks) Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 --- M src/libmsc/sms_queue.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/73/13173/2 -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:05:37 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:05:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13187 to look at the new patch set (#2). Change subject: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe ...................................................................... msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 --- M msc/MSC_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/13187/2 -- To view, visit https://gerrit.osmocom.org/13187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 Gerrit-Change-Number: 13187 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:05:38 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:05:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13191 Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... msc: for mo and mt call, interleave MGCP and Assignment Upcoming osmo-msc changes move away from the current ordering of MGCP and Assignment messages. Allow these async dialogs to appear in any order. Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 43 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/13191/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index e6cf2b0..90cdf25 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -513,31 +513,37 @@ f_mgcp_par_append(mgcp_resp.params, ts_MgcpParSpecEP(cpars.mgcp_ep)); MGCP.send(mgcp_resp); } - /* Second MGCP CRCX (this time for MSS/CN side) */ - MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { - var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_rtp_ip_mss, cpars.mgw_rtp_ip_mss, - hex2str(cpars.mgcp_call_id), "42", - cpars.mgw_rtp_port_mss, - { int2str(cpars.rtp_payload_type) }, - { valueof(ts_SDP_rtpmap(cpars.rtp_payload_type, - cpars.rtp_sdp_format)), - valueof(ts_SDP_ptime(20)) })); - MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, cpars.mgcp_connection_id_mss, sdp)); - /* MSC acknowledges the MNCC_CREATE to the MNCC handler */ - MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)); - } - /* expect the MSC to trigger a BSSMAP ASSIGNMENT */ var BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); - BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { - var BSSMAP_IE_AoIP_TransportLayerAddress tla; - var BSSMAP_IE_SpeechCodec codec; - tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); - codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); - BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); + + interleave { + /* Second MGCP CRCX (this time for MSS/CN side) */ + [] MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { + var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_rtp_ip_mss, cpars.mgw_rtp_ip_mss, + hex2str(cpars.mgcp_call_id), "42", + cpars.mgw_rtp_port_mss, + { int2str(cpars.rtp_payload_type) }, + { valueof(ts_SDP_rtpmap(cpars.rtp_payload_type, + cpars.rtp_sdp_format)), + valueof(ts_SDP_ptime(20)) })); + MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, cpars.mgcp_connection_id_mss, sdp)); + /* MSC acknowledges the MNCC_CREATE to the MNCC handler */ + MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)); } + /* expect the MSC to trigger a BSSMAP ASSIGNMENT */ + [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { + var BSSMAP_IE_AoIP_TransportLayerAddress tla; + var BSSMAP_IE_SpeechCodec codec; + + tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); + } + } + /* MS -> MSC: ALERTING */ BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_CONNECT(cpars.transaction_id))); MNCC.receive(tr_MNCC_SETUP_cnf(cpars.mncc_callref)); @@ -613,25 +619,27 @@ MGCP.send(mgcp_resp); } } - /* Second MGCP CRCX (this time for MSS/CN side) */ - MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { - var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_rtp_ip_mss, cpars.mgw_rtp_ip_mss, - hex2str(cpars.mgcp_call_id), "42", - cpars.mgw_rtp_port_mss, - { int2str(cpars.rtp_payload_type) }, - { valueof(ts_SDP_rtpmap(cpars.rtp_payload_type, - cpars.rtp_sdp_format)), - valueof(ts_SDP_ptime(20)) })); - MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, cpars.mgcp_connection_id_mss, sdp)); - } - - /* Alerting */ - MNCC.send(ts_MNCC_ALERT_req(cpars.mncc_callref)); var BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); interleave { - [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_ALERTING(cpars.transaction_id))) {} + /* Second MGCP CRCX (this time for MSS/CN side) */ + [] MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { + var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_rtp_ip_mss, cpars.mgw_rtp_ip_mss, + hex2str(cpars.mgcp_call_id), "42", + cpars.mgw_rtp_port_mss, + { int2str(cpars.rtp_payload_type) }, + { valueof(ts_SDP_rtpmap(cpars.rtp_payload_type, + cpars.rtp_sdp_format)), + valueof(ts_SDP_ptime(20)) })); + MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, cpars.mgcp_connection_id_mss, sdp)); + + /* Alerting */ + MNCC.send(ts_MNCC_ALERT_req(cpars.mncc_callref)); + } + + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_ALERTING(cpars.transaction_id))) { + } /* expect AoIP IP/Port to match what we returned in CRCX_ACK above */ [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:05:38 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:05:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: expect only one Paging on failed MT SMS, and clear the failed SMS Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13192 Change subject: msc: expect only one Paging on failed MT SMS, and clear the failed SMS ...................................................................... msc: expect only one Paging on failed MT SMS, and clear the failed SMS An MSC should not repeat Paging Requests to the BSC. Retries of Paging are clearly the task of the BSC. The reason current osmo-msc sends so many Pagings for a single failed SMS is a quirk in the sms_queue.c code. An sms_queue.c fix that will make this change pass is in osmo-msc I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 After this quirk is fixed, the failed SMS attempts are not exhausted, and the pending SMS will re-appear in subsequent tests, breaking their flow (e.g. during subsequent Location Updating, an unexpected DTAP comes up). For this reason, we need to actually remove the SMS from the SMS database and the queue with a new VTY command: The vty command to clear failed SMS from the db follows in osmo-msc I637cbd7adc075a192f49752b38779391472ff06d Depends: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 (osmo-msc) I637cbd7adc075a192f49752b38779391472ff06d (osmo-msc) Change-Id: I7dce12942a65eaaf97f78ca69401c7f93faacb9e --- M msc/MSC_Tests.ttcn 1 file changed, 17 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/13192/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 31a7401..2957e3c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1979,6 +1979,13 @@ f_vty_transceive(MSCVTY, "subscriber imsi "&imsi&" sms sender msisdn "&msisdn&" send "&text); } +/* Remove still pending SMS */ +private function f_vty_sms_clear(charstring imsi) +runs on BSC_ConnHdlr { + f_vty_transceive(MSCVTY, "subscriber imsi " & imsi & " sms delete-all"); + f_vty_transceive(MSCVTY, "sms-queue clear"); +} + /* LU followed by MT SMS */ private function f_tc_lu_and_mt_sms(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { var SmsParameters spars := valueof(t_SmsPars); @@ -2022,7 +2029,6 @@ private function f_tc_lu_and_mt_sms_paging_and_nothing(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { var SmsParameters spars := valueof(t_SmsPars); var OCT4 tmsi; - var integer page_count := 0; f_init_handler(pars, 150.0); /* Perform location update */ @@ -2038,21 +2044,8 @@ f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); - /* Expect the MSC to page exactly 10 times before giving up */ - alt { - [] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) - { - page_count := page_count + 1; - - if (page_count < 10) { - repeat; - } - } - [] BSSAP.receive { - setverdict(fail, "unexpected BSSAP message received"); - self.stop; - } - } + /* Expect the MSC to page exactly once */ + BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { }; /* Wait some time to make sure the MSC is not delivering any further * paging messages or anything else that could be unexpected. */ @@ -2073,6 +2066,8 @@ } } + f_vty_sms_clear(hex2str(g_pars.imsi)); + setverdict(pass); } testcase TC_lu_and_mt_sms_paging_and_nothing() runs on MTC_CT { @@ -4331,21 +4326,8 @@ /* Trigger SMS via VTY */ f_vty_sms_send_conn_hdlr(hex2str(pars.imsi), "2342", "Hello SMS"); - /* Expect the MSC/VLR to page exactly 10 times before giving up */ - alt { - [] SGsAP.receive(exp_pag_req) - { - page_count := page_count + 1; - - if (page_count < 10) { - repeat; - } - } - [] SGsAP.receive { - setverdict(fail, "unexpected SGsAP message received"); - self.stop; - } - } + /* Expect the MSC/VLR to page exactly once */ + SGsAP.receive(exp_pag_req); /* Wait some time to make sure the MSC is not delivering any further * paging messages or anything else that could be unexpected. */ @@ -4373,8 +4355,8 @@ * MSC/VLR would re-try to deliver the test SMS trigered above and * so the screening would fail. */ - /* Expire the subscriber now to avoid that the MSC will try the SMS - * delivery at some later point. */ + f_vty_sms_clear(hex2str(g_pars.imsi)); + f_vty_transceive(MSCVTY, "subscriber imsi " & hex2str(g_pars.imsi) & " expire"); setverdict(pass); @@ -4429,16 +4411,14 @@ } } + f_vty_sms_clear(hex2str(g_pars.imsi)); + /* A rejected paging with IMSI_unknown (see above) should always send * the SGs association to NULL. */ f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-NULL"); f_sgsap_bssmap_screening(); - /* Expire the subscriber now to avoid that the MSC will try the SMS - * delivery at some later point. */ - f_vty_transceive(MSCVTY, "subscriber imsi " & hex2str(g_pars.imsi) & " expire"); - setverdict(pass); } testcase TC_sgsap_mt_sms_and_reject() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/13192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7dce12942a65eaaf97f78ca69401c7f93faacb9e Gerrit-Change-Number: 13192 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:05:38 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:05:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13193 Change subject: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening ...................................................................... msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening The only reason to omit f_sgsap_bssmap_screening() in this was the still pending SMS in the database. Since SMS are now removed, f_sgsap_bssmap_screening() will succeed. Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763 --- M msc/MSC_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/93/13193/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 2957e3c..95679f4 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4360,6 +4360,8 @@ f_vty_transceive(MSCVTY, "subscriber imsi " & hex2str(g_pars.imsi) & " expire"); setverdict(pass); + + f_sgsap_bssmap_screening(); } testcase TC_sgsap_mt_sms_and_nothing() runs on MTC_CT { var BSC_ConnHdlrPars pars; -- To view, visit https://gerrit.osmocom.org/13193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763 Gerrit-Change-Number: 13193 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:05:39 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:05:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_lu_disconnect: add final delay to fix spurious failure Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13194 Change subject: msc: TC_lu_disconnect: add final delay to fix spurious failure ...................................................................... msc: TC_lu_disconnect: add final delay to fix spurious failure I hit a "Broken pipe" error, hoping that the bit of delay makes the teardown more stable. Change-Id: I765a75f91a748239f6cc82f4a61f02d59166f00b --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/13194/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 95679f4..e80ff15 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -822,6 +822,7 @@ /* send clear request in the middle of the LU */ BSSAP.send(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); setverdict(pass); + f_sleep(1.0); } testcase TC_lu_disconnect() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/13194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I765a75f91a748239f6cc82f4a61f02d59166f00b Gerrit-Change-Number: 13194 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:08:19 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:08:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: as_clear_cmd_compl_disc: log unexpected message In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13169 ) Change subject: msc: as_clear_cmd_compl_disc: log unexpected message ...................................................................... msc: as_clear_cmd_compl_disc: log unexpected message When receiving an unexpected BSSMAP message that fails the test, log it. Change-Id: I5cafac3318a50567f1916ea670af55558e97bf17 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index b041007..2cd666f 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -776,6 +776,7 @@ } /* expect a clear command */ altstep as_clear_cmd_compl_disc(float t := 5.0) runs on BSC_ConnHdlr { + var PDU_BSSAP bssap; [] BSSAP.receive(tr_BSSMAP_ClearCommand) { BSSAP.send(ts_BSSMAP_ClearComplete); alt { @@ -788,8 +789,8 @@ } } } - [] BSSAP.receive { - setverdict(fail, "Unexpected BSSMAP while waiting for ClearCommand"); + [] BSSAP.receive(tr_BSSAP_BSSMAP) -> value bssap { + setverdict(fail, "Unexpected BSSMAP while waiting for ClearCommand", bssap); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/13169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5cafac3318a50567f1916ea670af55558e97bf17 Gerrit-Change-Number: 13169 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:08:20 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:08:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: move sms sending to BSC_ConnHdlr and send from within test flow In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13170 ) Change subject: msc: move sms sending to BSC_ConnHdlr and send from within test flow ...................................................................... msc: move sms sending to BSC_ConnHdlr and send from within test flow For the sole reason that f_vty_sms_send() was put on MTC_CT for no apparent reason, we start the test function and send an SMS with an arbitrary two seconds delay. Instead move it to BSC_ConnHdlr and place SMS sending in the actual test function flow where it belongs. Change-Id: I5f348b3d30342b7c4871a1fc8f94648923e82eea --- M msc/MSC_Tests.ttcn 1 file changed, 4 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 1edc7ad..06dad47 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1973,7 +1973,7 @@ } private function f_vty_sms_send(charstring imsi, charstring msisdn, charstring text) -runs on MTC_CT { +runs on BSC_ConnHdlr { f_vty_transceive(MSCVTY, "subscriber imsi "&imsi&" sms sender msisdn "&msisdn&" send "&text); } @@ -1995,7 +1995,7 @@ } f_bssmap_register_imsi(g_pars.imsi, tmsi); - /* FIXME: actually cause MSC to send a SMS via VTY or SMPP */ + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); /* MSC->BSC: expect PAGING from MSC */ BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)); @@ -2013,8 +2013,6 @@ f_init(); pars := f_init_pars(43); vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms), pars); - f_sleep(2.0); - f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); vc_conn.done; } @@ -2036,6 +2034,8 @@ } f_bssmap_register_imsi(g_pars.imsi, tmsi); + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); + /* Expect the MSC to page exactly 10 times before giving up */ alt { [] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) @@ -2079,8 +2079,6 @@ f_init(); pars := f_init_pars(1843); vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_and_nothing), pars); - f_sleep(2.0); - f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); vc_conn.done; } -- To view, visit https://gerrit.osmocom.org/13170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5f348b3d30342b7c4871a1fc8f94648923e82eea Gerrit-Change-Number: 13170 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:08:26 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:08:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_reset: add final delay to fix spurious failure In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13171 ) Change subject: msc: f_tc_sgsap_reset: add final delay to fix spurious failure ...................................................................... msc: f_tc_sgsap_reset: add final delay to fix spurious failure Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 06dad47..5d40f09 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3576,6 +3576,7 @@ vlr_name := f_sgsap_reset_mme(mp_mme_name); log("VLR name: ", vlr_name); setverdict(pass); + f_sleep(1.0); } testcase TC_sgsap_reset() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/13171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd Gerrit-Change-Number: 13171 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:09:47 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:09:47 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: logging tweaks In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13146 ) Change subject: osmo-hnbgw: logging tweaks ...................................................................... Patch Set 1: shucks, the fix for that ended up in the next patch (the RESET ACK one) -- To view, visit https://gerrit.osmocom.org/13146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 Gerrit-Change-Number: 13146 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 08 Mar 2019 04:09:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:11:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:11:06 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: logging tweaks In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13146 to look at the new patch set (#2). Change subject: osmo-hnbgw: logging tweaks ...................................................................... osmo-hnbgw: logging tweaks Log about: - sending RESET messages to CN; - accepting a new hNodeB peer on HNBAP. Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 --- M src/hnbgw_cn.c M src/hnbgw_hnbap.c 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/46/13146/2 -- To view, visit https://gerrit.osmocom.org/13146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 Gerrit-Change-Number: 13146 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:13:39 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:13:39 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13143 to look at the new patch set (#2). Change subject: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() ...................................................................... fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() During FSM design for osmo-msc, I noticed that the current behavior that keep_timer=true doesn't guarantee a running timer can make FSM design a bit complex, especially when using osmo_tdef for timeout definitions. A desirable keep_timer=true behavior is one that keeps the previous timer running, but starts a timer if no timer is running yet. The simplest example is: a given state repeatedly transitions back to itself, but wants to set a timeout only on first entering, avoiding to restart the timeout on re-entering. Another example is a repeated transition between two or more states, where the first time we enter this group a timeout should start, but it should not restart from scratch on every transition. When using osmo_tdef timeout definitions for this, so far separate meaningless states have to be introduced that merely set a fixed timeout. To simplify, add osmo_fsm_inst_state_chg_keep_or_start_timer(), and use this in osmo_tdef_fsm_inst_state_chg() when both keep_timer == true *and* T != 0. In tdef_test.ok, the changes show that on first entering state L, the previous T=1 is now kept with a large remaining timeout. When entering state L from O, where no timer was running, this time L's T123 is started. Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db --- M include/osmocom/core/fsm.h M src/fsm.c M src/tdef.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 5 files changed, 76 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/13143/2 -- To view, visit https://gerrit.osmocom.org/13143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db Gerrit-Change-Number: 13143 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:21:40 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:21:40 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13122 to look at the new patch set (#5). Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() CGI to Cell ID: for example, for Paging, osmo-msc has a CGI for a subscriber and needs to send out a Cell Identifier IE. Makes sense to add this conversion here. Cell ID to CGI: for a Layer 3 Complete, a subscriber sends the current cell in the form of a Cell Identifier, which we store as a CGI, if necessary enriched with the local PLMN. Add enum with bitmask values to identify parts of a CGI, for the return value of gsm0808_cell_id_to_cgi(). Can't use enum CELL_IDENT for that, because it doesn't have a value for just a PLMN (and is not a bitmask). Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 --- M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/gsm23003.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 270 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/13122/5 -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:25:28 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:25:28 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13122 to look at the new patch set (#6). Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() CGI to Cell ID: for example, for Paging, osmo-msc has a CGI for a subscriber and needs to send out a Cell Identifier IE. Makes sense to add this conversion here. Cell ID to CGI: for a Layer 3 Complete, a subscriber sends the current cell in the form of a Cell Identifier, which we store as a CGI, if necessary enriched with the local PLMN. Add enum with bitmask values to identify parts of a CGI, for the return value of gsm0808_cell_id_to_cgi(). Can't use enum CELL_IDENT for that, because it doesn't have a value for just a PLMN (and is not a bitmask). Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 --- M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/gsm23003.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 270 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/13122/6 -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:26:33 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:26:33 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13143 ) Change subject: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() ...................................................................... Patch Set 2: Code-Review+2 (apply previous +2) -- To view, visit https://gerrit.osmocom.org/13143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db Gerrit-Change-Number: 13143 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Fri, 08 Mar 2019 04:26:33 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:28:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:28:10 +0000 Subject: Change in libosmocore[master]: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13143 ) Change subject: fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() ...................................................................... fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer() During FSM design for osmo-msc, I noticed that the current behavior that keep_timer=true doesn't guarantee a running timer can make FSM design a bit complex, especially when using osmo_tdef for timeout definitions. A desirable keep_timer=true behavior is one that keeps the previous timer running, but starts a timer if no timer is running yet. The simplest example is: a given state repeatedly transitions back to itself, but wants to set a timeout only on first entering, avoiding to restart the timeout on re-entering. Another example is a repeated transition between two or more states, where the first time we enter this group a timeout should start, but it should not restart from scratch on every transition. When using osmo_tdef timeout definitions for this, so far separate meaningless states have to be introduced that merely set a fixed timeout. To simplify, add osmo_fsm_inst_state_chg_keep_or_start_timer(), and use this in osmo_tdef_fsm_inst_state_chg() when both keep_timer == true *and* T != 0. In tdef_test.ok, the changes show that on first entering state L, the previous T=1 is now kept with a large remaining timeout. When entering state L from O, where no timer was running, this time L's T123 is started. Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db --- M include/osmocom/core/fsm.h M src/fsm.c M src/tdef.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_test_range_64bit.ok 5 files changed, 76 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified Neels Hofmeyr: Looks good to me, approved diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 13bfb33..c40d7f3 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -254,6 +254,21 @@ int _osmo_fsm_inst_state_chg_keep_timer(struct osmo_fsm_inst *fi, uint32_t new_state, const char *file, int line); +/*! perform a state change while keeping the current timer if running, or starting a timer otherwise. + * + * This is useful to keep a timeout across several states, but to make sure that some timeout is actually running. + * + * This is a macro that calls _osmo_fsm_inst_state_chg_keep_or_start_timer() with the given + * parameters as well as the caller's source file and line number for logging + * purposes. See there for documentation. + */ +#define osmo_fsm_inst_state_chg_keep_or_start_timer(fi, new_state, timeout_secs, T) \ + _osmo_fsm_inst_state_chg_keep_or_start_timer(fi, new_state, timeout_secs, T, \ + __FILE__, __LINE__) +int _osmo_fsm_inst_state_chg_keep_or_start_timer(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_secs, int T, + const char *file, int line); + /*! dispatch an event to an osmocom finite state machine instance * * This is a macro that calls _osmo_fsm_inst_dispatch() with the given diff --git a/src/fsm.c b/src/fsm.c index 4876c04..5723bab 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -481,11 +481,20 @@ st->onleave(fi, new_state); if (fsm_log_timeouts) { - if (keep_timer && fi->timer.active && (osmo_timer_remaining(&fi->timer, NULL, &remaining) == 0)) - LOGPFSMSRC(fi, file, line, "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); - else if (timeout_secs && !keep_timer) + if (keep_timer && fi->timer.active) { + /* This should always give us a timeout, but just in case the return value indicates error, omit + * logging the remaining time. */ + if (osmo_timer_remaining(&fi->timer, NULL, &remaining)) + LOGPFSMSRC(fi, file, line, + "State change to %s (keeping " OSMO_T_FMT ")\n", + osmo_fsm_state_name(fsm, new_state), + OSMO_T_FMT_ARGS(fi->T)); + else + LOGPFSMSRC(fi, file, line, + "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", + osmo_fsm_state_name(fsm, new_state), + OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); + } else if (timeout_secs) LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", osmo_fsm_state_name(fsm, new_state), OSMO_T_FMT_ARGS(T), timeout_secs); @@ -500,7 +509,8 @@ fi->state = new_state; st = &fsm->states[new_state]; - if (!keep_timer) { + if (!keep_timer + || (keep_timer && !osmo_timer_pending(&fi->timer))) { fi->T = T; if (timeout_secs) osmo_timer_schedule(&fi->timer, timeout_secs, 0); @@ -592,6 +602,35 @@ return state_chg(fi, new_state, true, 0, 0, file, line); } +/*! perform a state change while keeping the current timer if running, or starting a timer otherwise. + * + * This is useful to keep a timeout across several states, but to make sure that some timeout is actually running. + * + * Best invoke via the osmo_fsm_inst_state_chg_keep_or_start_timer() macro which logs the source file where the state + * change was effected. Alternatively, you may pass file as NULL to use the normal file/line indication instead. + * + * All changes to the FSM instance state must be made via an osmo_fsm_inst_state_chg_* + * function. It verifies that the existing state actually permits a + * transition to new_state. + * + * \param[in] fi FSM instance whose state is to change + * \param[in] new_state The new state into which we should change + * \param[in] timeout_secs If no timer is running yet, set this timeout in seconds (if !=0), maximum-clamped to + * 2147483647 seconds. + * \param[in] T Timer number, where positive numbers are considered to be 3GPP spec compliant timer numbers and are + * logged as "T1234", while negative numbers are considered Osmocom specific timer numbers logged as + * "X1234". + * \param[in] file Calling source file (from osmo_fsm_inst_state_chg macro) + * \param[in] line Calling source line (from osmo_fsm_inst_state_chg macro) + * \returns 0 on success; negative on error + */ +int _osmo_fsm_inst_state_chg_keep_or_start_timer(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_secs, int T, + const char *file, int line) +{ + return state_chg(fi, new_state, true, timeout_secs, T, file, line); +} + /*! dispatch an event to an osmocom finite state machine instance * * Best invoke via the osmo_fsm_inst_dispatch() macro which logs the source diff --git a/src/tdef.c b/src/tdef.c index 7e79d68..692e2cf 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -220,7 +220,7 @@ * * struct osmo_tdef_state_timeout my_fsm_timeouts[32] = { * [MY_FSM_STATE_3] = { .T = 423 }, // look up timeout configured for T423 - * [MY_FSM_STATE_7] = { .T = 235 }, + * [MY_FSM_STATE_7] = { .keep_timer = true, .T = 235 }, // keep previous timer if running, or start T235 * [MY_FSM_STATE_8] = { .keep_timer = true }, // keep previous state's T number, continue timeout. * // any state that is omitted will remain zero == no timeout * }; @@ -254,20 +254,25 @@ const char *file, int line) { const struct osmo_tdef_state_timeout *t = osmo_tdef_get_state_timeout(state, timeouts_array); - unsigned long val; + unsigned long val = 0; /* No timeout defined for this state? */ if (!t) return _osmo_fsm_inst_state_chg(fi, state, 0, 0, file, line); + if (t->T) + val = osmo_tdef_get(tdefs, t->T, OSMO_TDEF_S, default_timeout); + if (t->keep_timer) { - int rc = _osmo_fsm_inst_state_chg_keep_timer(fi, state, file, line); - if (t->T && !rc) - fi->T = t->T; - return rc; + if (t->T) + return _osmo_fsm_inst_state_chg_keep_or_start_timer(fi, state, val, t->T, file, line); + else + return _osmo_fsm_inst_state_chg_keep_timer(fi, state, file, line); } - val = osmo_tdef_get(tdefs, t->T, OSMO_TDEF_S, default_timeout); + /* val is always initialized here, because if t->keep_timer is false, t->T must be != 0. + * Otherwise osmo_tdef_get_state_timeout() would have returned NULL. */ + OSMO_ASSERT(t->T); return _osmo_fsm_inst_state_chg(fi, state, val, t->T, file, line); } diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 135951e..d9ef99b 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -130,9 +130,9 @@ --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining Time passes: 23.045678 s state=A T=1, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=1, 76.954322 s remaining --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 1.000000 s remaining - test T=0: --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: diff --git a/tests/tdef/tdef_test_range_64bit.ok b/tests/tdef/tdef_test_range_64bit.ok index eed58e6..7ec295d 100644 --- a/tests/tdef/tdef_test_range_64bit.ok +++ b/tests/tdef/tdef_test_range_64bit.ok @@ -158,9 +158,9 @@ --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining Time passes: 23.045678 s state=A T=1, 76.954322 s remaining - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 76.954322 s remaining + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=1, 76.954322 s remaining --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, no timeout + --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 1.000000 s remaining - test T=0: --> O (no timer configured for this state) rc=0; state=O T=0, no timeout - test no timer: -- To view, visit https://gerrit.osmocom.org/13143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id647511a4b18e0c4de0e66fb1f35dc9adb9177db Gerrit-Change-Number: 13143 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:29:05 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: logging tweaks In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13146 ) Change subject: osmo-hnbgw: logging tweaks ...................................................................... Patch Set 2: Code-Review+2 triviality +2 -- To view, visit https://gerrit.osmocom.org/13146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 Gerrit-Change-Number: 13146 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 08 Mar 2019 04:29:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:29:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:29:10 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: logging tweaks In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13146 ) Change subject: osmo-hnbgw: logging tweaks ...................................................................... osmo-hnbgw: logging tweaks Log about: - sending RESET messages to CN; - accepting a new hNodeB peer on HNBAP. Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 --- M src/hnbgw_cn.c M src/hnbgw_hnbap.c 2 files changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Neels Hofmeyr: Looks good to me, approved diff --git a/src/hnbgw_cn.c b/src/hnbgw_cn.c index ede00c8..875a0d0 100644 --- a/src/hnbgw_cn.c +++ b/src/hnbgw_cn.c @@ -34,6 +34,7 @@ #include #include #include +#include /*********************************************************************** * Outbound RANAP RESET to CN @@ -50,6 +51,10 @@ .choice. transmissionNetwork = RANAP_CauseTransmissionNetwork_signalling_transport_resource_failure, }; + LOGP(DRANAP, LOGL_NOTICE, "Tx RESET to %s %s\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(gw->sccp.cnlink->sccp, remote_addr)); + msg = ranap_new_msg_reset(domain, &cause); return osmo_sccp_tx_unitdata_msg(gw->sccp.cnlink->sccp_user, diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c index 1d50d4d..2d67219 100644 --- a/src/hnbgw_hnbap.c +++ b/src/hnbgw_hnbap.c @@ -119,6 +119,8 @@ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBRegisterAccept, &accept_out); + LOGP(DHNBAP, LOGL_NOTICE, "Accepting HNB-REGISTER-REQ from %s\n", ctx->identity_info); + return hnbgw_hnbap_tx(ctx, msg); } -- To view, visit https://gerrit.osmocom.org/13146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398 Gerrit-Change-Number: 13146 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 04:29:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 8 Mar 2019 04:29:10 +0000 Subject: Change in osmo-iuh[master]: osmo-hnbgw: reply with RESET ACK when receiving a RESET In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13147 ) Change subject: osmo-hnbgw: reply with RESET ACK when receiving a RESET ...................................................................... osmo-hnbgw: reply with RESET ACK when receiving a RESET Rationale: current osmo-msc refactoring introduces RESET handling on IuCS. In particular, it makes osmo-hnbgw be able to operate with an (upcoming) osmo-msc that has strict RESET handling: it will send a RESET and require a RESET ACK if it sees a new IuCS peer sending messages without prior RESET. Even though a workaround to ignore missing RESET messages on IuCS will also be in place in the new osmo-msc, this is a first small step towards more sane RESET handling in osmo-hnbgw. Related: OS#3820 Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909 --- M src/hnbgw_cn.c 1 file changed, 42 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/hnbgw_cn.c b/src/hnbgw_cn.c index 875a0d0..0623561 100644 --- a/src/hnbgw_cn.c +++ b/src/hnbgw_cn.c @@ -63,6 +63,23 @@ msg); } +static int transmit_reset_ack(struct hnb_gw *gw, RANAP_CN_DomainIndicator_t domain, + const struct osmo_sccp_addr *remote_addr) +{ + struct msgb *msg; + + LOGP(DRANAP, LOGL_NOTICE, "Tx RESET ACK to %s %s\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(gw->sccp.cnlink->sccp, remote_addr)); + + msg = ranap_new_msg_reset_ack(domain, NULL); + + return osmo_sccp_tx_unitdata_msg(gw->sccp.cnlink->sccp_user, + &gw->sccp.local_addr, + remote_addr, + msg); +} + /* Timer callback once T_RafC expires */ static void cnlink_trafc_cb(void *data) { @@ -99,15 +116,28 @@ ***********************************************************************/ static int cn_ranap_rx_reset_cmd(struct hnbgw_cnlink *cnlink, + const struct osmo_scu_unitdata_param *unitdata, RANAP_InitiatingMessage_t *imsg) { + CN_DomainIndicator_t domain; RANAP_ResetIEs_t ies; int rc; rc = ranap_decode_reseties(&ies, &imsg->value); - /* FIXME: reset resources and return reset ack */ - + domain = ies.cN_DomainIndicator; ranap_free_reseties(&ies); + + LOGP(DRANAP, LOGL_NOTICE, "Rx RESET from %s %s, returning ACK\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(cnlink->sccp, &unitdata->calling_addr)); + + /* FIXME: actually reset connections, if any */ + + if (transmit_reset_ack(cnlink->gw, domain, &unitdata->calling_addr)) + LOGP(DRANAP, LOGL_ERROR, "Error: cannot send RESET ACK to %s %s\n", + domain == CN_DomainIndicator_cs_domain ? "IuCS" : "IuPS", + osmo_sccp_inst_addr_name(cnlink->sccp, &unitdata->calling_addr)); + return rc; } @@ -149,12 +179,13 @@ } static int cn_ranap_rx_initiating_msg(struct hnbgw_cnlink *cnlink, + const struct osmo_scu_unitdata_param *unitdata, RANAP_InitiatingMessage_t *imsg, const uint8_t *data, unsigned int len) { switch (imsg->procedureCode) { case RANAP_ProcedureCode_id_Reset: - return cn_ranap_rx_reset_cmd(cnlink, imsg); + return cn_ranap_rx_reset_cmd(cnlink, unitdata, imsg); case RANAP_ProcedureCode_id_Paging: return cn_ranap_rx_paging_cmd(cnlink, imsg, data, len); case RANAP_ProcedureCode_id_OverloadControl: /* Overload ind */ @@ -198,14 +229,15 @@ } -static int _cn_ranap_rx(struct hnbgw_cnlink *cnlink, RANAP_RANAP_PDU_t *pdu, - const uint8_t *data, unsigned int len) +static int _cn_ranap_rx(struct hnbgw_cnlink *cnlink, + const struct osmo_scu_unitdata_param *unitdata, + RANAP_RANAP_PDU_t *pdu, const uint8_t *data, unsigned int len) { int rc; switch (pdu->present) { case RANAP_RANAP_PDU_PR_initiatingMessage: - rc = cn_ranap_rx_initiating_msg(cnlink, &pdu->choice.initiatingMessage, + rc = cn_ranap_rx_initiating_msg(cnlink, unitdata, &pdu->choice.initiatingMessage, data, len); break; case RANAP_RANAP_PDU_PR_successfulOutcome: @@ -227,8 +259,8 @@ return rc; } -static int handle_cn_ranap(struct hnbgw_cnlink *cnlink, const uint8_t *data, - unsigned int len) +static int handle_cn_ranap(struct hnbgw_cnlink *cnlink, const struct osmo_scu_unitdata_param *unitdata, + const uint8_t *data, unsigned int len) { RANAP_RANAP_PDU_t _pdu, *pdu = &_pdu; asn_dec_rval_t dec_ret; @@ -242,7 +274,7 @@ return -1; } - rc = _cn_ranap_rx(cnlink, pdu, data, len); + rc = _cn_ranap_rx(cnlink, unitdata, pdu, data, len); return rc; } @@ -286,7 +318,7 @@ if (classify_cn_remote_addr(cnlink->gw, ¶m->calling_addr, NULL) < 0) return -1; - return handle_cn_ranap(cnlink, msgb_l2(oph->msg), msgb_l2len(oph->msg)); + return handle_cn_ranap(cnlink, param, msgb_l2(oph->msg), msgb_l2len(oph->msg)); } static int handle_cn_conn_conf(struct hnbgw_cnlink *cnlink, -- To view, visit https://gerrit.osmocom.org/13147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909 Gerrit-Change-Number: 13147 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 07:54:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 07:54:51 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13173 ) Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... Patch Set 2: Code-Review-1 Missing comment feedback -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 08 Mar 2019 07:54:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 07:55:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 07:55:18 +0000 Subject: Change in osmo-msc[master]: vty: add cmd subscriber ID sms delete-all In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13174 ) Change subject: vty: add cmd subscriber ID sms delete-all ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I637cbd7adc075a192f49752b38779391472ff06d Gerrit-Change-Number: 13174 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 08 Mar 2019 07:55:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 07:58:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 07:58:26 +0000 Subject: Change in osmo-remsim[master]: slotmap: Log file/line when changing state In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13184 ) Change subject: slotmap: Log file/line when changing state ...................................................................... slotmap: Log file/line when changing state Change-Id: Idc7b350b464ddc50076f92dae592a0d5ad4d486a --- M src/debug.h M src/slotmap.c M src/slotmap.h 3 files changed, 17 insertions(+), 14 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/debug.h b/src/debug.h index 02551eb..e3994b4 100644 --- a/src/debug.h +++ b/src/debug.h @@ -1,4 +1,5 @@ #pragma once +#include enum { DMAIN, diff --git a/src/slotmap.c b/src/slotmap.c index aa03638..f4a22e1 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -12,6 +12,7 @@ #include #include "slotmap.h" +#include "debug.h" const struct value_string slot_map_state_name[] = { { SLMAP_S_NEW, "NEW" }, @@ -148,33 +149,30 @@ #ifdef REMSIM_SERVER -void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list) +void _Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line) { char mapname[64]; - printf("Slot Map %s state change: %s -> %s\n", slotmap_name(mapname, sizeof(mapname), map), + LOGPSRC(DMAIN, LOGL_INFO, file, line, "Slot Map %s state change: %s -> %s\n", + slotmap_name(mapname, sizeof(mapname), map), get_value_string(slot_map_state_name, map->state), get_value_string(slot_map_state_name, new_state)); map->state = new_state; -#ifdef REMSIM_SERVER llist_del(&map->bank_list); -#endif if (new_bank_list) llist_add_tail(&map->bank_list, new_bank_list); -#ifdef REMSIM_SERVER else INIT_LLIST_HEAD(&map->bank_list); -#endif } -void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list) +void Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line) { pthread_rwlock_wrlock(&map->maps->rwlock); - _slotmap_state_change(map, new_state, new_bank_list); + _Slotmap_state_change(map, new_state, new_bank_list, file, line); pthread_rwlock_unlock(&map->maps->rwlock); } diff --git a/src/slotmap.h b/src/slotmap.h index 3eb976f..bc55f29 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -87,9 +87,13 @@ struct slotmaps *slotmap_init(void *ctx); #ifdef REMSIM_SERVER -void _slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list); +void _Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line); /* thread-safe way to change the state of given slot map */ -void slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, - struct llist_head *new_bank_list); +void Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, + struct llist_head *new_bank_list, const char *file, int line); +#define _slotmap_state_change(map, state, list) \ + _Slotmap_state_change(map, state, list, __FILE__, __LINE__) +#define slotmap_state_change(map, state, list) \ + Slotmap_state_change(map, state, list, __FILE__, __LINE__) #endif -- To view, visit https://gerrit.osmocom.org/13184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idc7b350b464ddc50076f92dae592a0d5ad4d486a Gerrit-Change-Number: 13184 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 07:58:27 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 07:58:27 +0000 Subject: Change in osmo-remsim[master]: slotmap: Introduce slotmap_{rd, wr, un}lock() wrappers for lock debugging In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13185 ) Change subject: slotmap: Introduce slotmap_{rd,wr,un}lock() wrappers for lock debugging ...................................................................... slotmap: Introduce slotmap_{rd,wr,un}lock() wrappers for lock debugging Change-Id: I8dde90d62e673e60e026979c74074f7084490467 --- M src/slotmap.c M src/slotmap.h 2 files changed, 28 insertions(+), 12 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/slotmap.c b/src/slotmap.c index f4a22e1..9e16fff 100644 --- a/src/slotmap.c +++ b/src/slotmap.c @@ -40,14 +40,14 @@ { struct slot_mapping *map; - pthread_rwlock_rdlock(&maps->rwlock); + slotmaps_rdlock(maps); llist_for_each_entry(map, &maps->mappings, list) { if (client_slot_equals(&map->client, client)) { - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return map; } } - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return NULL; } @@ -56,14 +56,14 @@ { struct slot_mapping *map; - pthread_rwlock_rdlock(&maps->rwlock); + slotmaps_rdlock(maps); llist_for_each_entry(map, &maps->mappings, list) { if (bank_slot_equals(&map->bank, bank)) { - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return map; } } - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); return NULL; } @@ -102,13 +102,13 @@ map->bank = *bank; map->client = *client; - pthread_rwlock_wrlock(&maps->rwlock); + slotmaps_wrlock(maps); llist_add_tail(&map->list, &maps->mappings); #ifdef REMSIM_SERVER map->state = SLMAP_S_NEW; INIT_LLIST_HEAD(&map->bank_list); /* to ensure llist_del() always succeeds */ #endif - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); printf("Slot Map %s added\n", slotmap_name(mapname, sizeof(mapname), map)); @@ -132,9 +132,9 @@ /* thread-safe removal of a bank<->client map */ void slotmap_del(struct slotmaps *maps, struct slot_mapping *map) { - pthread_rwlock_wrlock(&maps->rwlock); + slotmaps_wrlock(maps); _slotmap_del(maps, map); - pthread_rwlock_unlock(&maps->rwlock); + slotmaps_unlock(maps); } struct slotmaps *slotmap_init(void *ctx) @@ -171,9 +171,9 @@ void Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, struct llist_head *new_bank_list, const char *file, int line) { - pthread_rwlock_wrlock(&map->maps->rwlock); + slotmaps_wrlock(map->maps); _Slotmap_state_change(map, new_state, new_bank_list, file, line); - pthread_rwlock_unlock(&map->maps->rwlock); + slotmaps_unlock(map->maps); } #endif diff --git a/src/slotmap.h b/src/slotmap.h index bc55f29..78dfff9 100644 --- a/src/slotmap.h +++ b/src/slotmap.h @@ -86,6 +86,22 @@ /* initialize the entire map collection */ struct slotmaps *slotmap_init(void *ctx); +#define slotmaps_rdlock(maps) do { \ + printf("%s:%u = slotmap_rdlock()\n", __FILE__, __LINE__); \ + pthread_rwlock_rdlock(&(maps)->rwlock); \ +} while (0) + +#define slotmaps_wrlock(maps) do { \ + printf("%s:%u = slotmap_wrlock()\n", __FILE__, __LINE__); \ + pthread_rwlock_wrlock(&(maps)->rwlock); \ +} while (0) + +#define slotmaps_unlock(maps) do { \ + printf("%s:%u = slotmap_unlock()\n", __FILE__, __LINE__); \ + pthread_rwlock_unlock(&(maps)->rwlock); \ +} while (0) + + #ifdef REMSIM_SERVER void _Slotmap_state_change(struct slot_mapping *map, enum slot_mapping_state new_state, struct llist_head *new_bank_list, const char *file, int line); -- To view, visit https://gerrit.osmocom.org/13185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8dde90d62e673e60e026979c74074f7084490467 Gerrit-Change-Number: 13185 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 07:59:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 07:59:08 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13039 ) Change subject: assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. ...................................................................... assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. When the ASSIGNMENT COMPLETE message is composed, lchan->ch_mode_rate.s15_s0 is used to fill in the S15-S0 which are returned to the MSC. This is not correct since the assignment process may involve multiple lchans, so that at the point where the ASSIGNMENT COMPLETE is generate, the stored S15-S0 may be lost already because the lchan has changed. To prevent this, we must use lchan->activate.info.s15_s0, which is retained throught lchan changes. Change-Id: I9a7b3ce8646d641569eac24e202f44cdb5f67b3d Related: OS#3503 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Neels Hofmeyr: Looks good to me, but someone else must approve Max: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 67937d6..aa696ac 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -170,7 +170,7 @@ if (gscon_is_aoip(conn)) { /* Extrapolate speech codec from speech mode */ gsm0808_speech_codec_from_chan_type(&sc, perm_spch); - sc.cfg = conn->lchan->ch_mode_rate.s15_s0; + sc.cfg = conn->lchan->activate.info.s15_s0; sc_ptr = ≻ } } -- To view, visit https://gerrit.osmocom.org/13039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9a7b3ce8646d641569eac24e202f44cdb5f67b3d Gerrit-Change-Number: 13039 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 08:00:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 08:00:49 +0000 Subject: Change in libosmo-netif[master]: AMR: add functions to convert between bw-efficient and octet-aligned In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13049 ) Change subject: AMR: add functions to convert between bw-efficient and octet-aligned ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Gerrit-Change-Number: 13049 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 08 Mar 2019 08:00:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 11:12:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 11:12:47 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13122 ) Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Fri, 08 Mar 2019 11:12:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 11:12:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 11:12:49 +0000 Subject: Change in libosmocore[master]: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13122 ) Change subject: add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() ...................................................................... add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi() CGI to Cell ID: for example, for Paging, osmo-msc has a CGI for a subscriber and needs to send out a Cell Identifier IE. Makes sense to add this conversion here. Cell ID to CGI: for a Layer 3 Complete, a subscriber sends the current cell in the form of a Cell Identifier, which we store as a CGI, if necessary enriched with the local PLMN. Add enum with bitmask values to identify parts of a CGI, for the return value of gsm0808_cell_id_to_cgi(). Can't use enum CELL_IDENT for that, because it doesn't have a value for just a PLMN (and is not a bitmask). Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 --- M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/gsm23003.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 270 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 2b48be7..53f145c 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -84,6 +84,9 @@ bool gsm0808_cell_ids_match(const struct gsm0808_cell_id *id1, const struct gsm0808_cell_id *id2, bool exact_match); int gsm0808_cell_id_matches_list(const struct gsm0808_cell_id *id, const struct gsm0808_cell_id_list2 *list, unsigned int match_nr, bool exact_match); +void gsm0808_cell_id_from_cgi(struct gsm0808_cell_id *cid, enum CELL_IDENT id_discr, + const struct osmo_cell_global_id *cgi); +int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid); uint8_t gsm0808_enc_cause(struct msgb *msg, uint16_t cause); uint8_t gsm0808_enc_aoip_trasp_addr(struct msgb *msg, diff --git a/include/osmocom/gsm/gsm23003.h b/include/osmocom/gsm/gsm23003.h index b34a677..cf622ce 100644 --- a/include/osmocom/gsm/gsm23003.h +++ b/include/osmocom/gsm/gsm23003.h @@ -30,6 +30,15 @@ uint16_t cell_identity; }; +/*! Bitmask of items contained in a struct osmo_cell_global_id. + * See also gsm0808_cell_id_to_cgi(). + */ +enum osmo_cgi_part { + OSMO_CGI_PART_PLMN = 1, + OSMO_CGI_PART_LAC = 2, + OSMO_CGI_PART_CI = 4, +}; + /* Actually defined in 3GPP TS 48.008 3.2.2.27 Cell Identifier List, * but conceptually belongs with the above structures. */ struct osmo_lac_and_ci_id { diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 5477598..dd14d3c 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1577,6 +1577,93 @@ return -1; } +/*! Copy information from a CGI to form a Cell Identifier of the specified kind. + * \param [out] cid Compose new Cell Identifier here. + * \param [in] id_discr Which kind of Cell Identifier to compose. + * \param [in] cgi Cell Global Identifier to form the Cell Identifier from. + */ +void gsm0808_cell_id_from_cgi(struct gsm0808_cell_id *cid, enum CELL_IDENT id_discr, + const struct osmo_cell_global_id *cgi) +{ + *cid = (struct gsm0808_cell_id){ + .id_discr = id_discr, + }; + + switch (id_discr) { + case CELL_IDENT_WHOLE_GLOBAL: + cid->id.global = *cgi; + return; + + case CELL_IDENT_LAC_AND_CI: + cid->id.lac_and_ci = (struct osmo_lac_and_ci_id){ + .lac = cgi->lai.lac, + .ci = cgi->cell_identity, + }; + return; + + case CELL_IDENT_CI: + cid->id.ci = cgi->cell_identity; + return; + + case CELL_IDENT_LAI: + cid->id.lai_and_lac = cgi->lai; + return; + + case CELL_IDENT_LAC: + cid->id.lac = cgi->lai.lac; + return; + + case CELL_IDENT_NO_CELL: + case CELL_IDENT_BSS: + case CELL_IDENT_UTRAN_PLMN_LAC_RNC: + case CELL_IDENT_UTRAN_RNC: + case CELL_IDENT_UTRAN_LAC_RNC: + default: + return; + }; +} + +/*! Overwrite parts of cgi with values from a Cell Identifier. + * Place only those items given in cid into cgi, leaving other values unchanged. + * \param[out] cgi Cell Global Identity to write to. + * \param[in] cid Cell Identity to read from. + * \return a bitmask of items that were set: OSMO_CGI_PART_PLMN | OSMO_CGI_PART_LAC | OSMO_CGI_PART_CI; 0 if nothing was + * written to cgi. + */ +int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid) +{ + switch (cid->id_discr) { + case CELL_IDENT_WHOLE_GLOBAL: + *cgi = cid->id.global; + return OSMO_CGI_PART_PLMN | OSMO_CGI_PART_LAC | OSMO_CGI_PART_CI; + + case CELL_IDENT_LAC_AND_CI: + cgi->lai.lac = cid->id.lac_and_ci.lac; + cgi->cell_identity = cid->id.lac_and_ci.ci; + return OSMO_CGI_PART_LAC | OSMO_CGI_PART_CI; + + case CELL_IDENT_CI: + cgi->cell_identity = cid->id.ci; + return OSMO_CGI_PART_CI; + + case CELL_IDENT_LAI: + cgi->lai = cid->id.lai_and_lac; + return OSMO_CGI_PART_PLMN | OSMO_CGI_PART_LAC; + + case CELL_IDENT_LAC: + cgi->lai.lac = cid->id.lac; + return OSMO_CGI_PART_LAC; + + case CELL_IDENT_NO_CELL: + case CELL_IDENT_BSS: + case CELL_IDENT_UTRAN_PLMN_LAC_RNC: + case CELL_IDENT_UTRAN_RNC: + case CELL_IDENT_UTRAN_LAC_RNC: + default: + return 0; + }; +} + /*! value_string[] for enum CELL_IDENT. */ const struct value_string gsm0808_cell_id_discr_names[] = { { CELL_IDENT_WHOLE_GLOBAL, "CGI" }, diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 2d47d7a..3fadc5a 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -205,6 +205,8 @@ gsm0808_dec_cell_id_list2; gsm0808_cell_id_list_add; gsm0808_cell_id_to_list; +gsm0808_cell_id_to_cgi; +gsm0808_cell_id_from_cgi; gsm0808_enc_cell_id; gsm0808_dec_cell_id; gsm0808_cell_id_name; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index af90d00..c448f43 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -2206,29 +2206,96 @@ return true; } +const enum CELL_IDENT cell_ident_discrs[] = { + CELL_IDENT_LAC, CELL_IDENT_CI, CELL_IDENT_LAC_AND_CI, CELL_IDENT_LAI_AND_LAC, + CELL_IDENT_WHOLE_GLOBAL, +}; + + static void test_cell_id_list_matching(bool test_match) { int i, j; bool ok = true; - const enum CELL_IDENT discrs[] = { - CELL_IDENT_LAC, CELL_IDENT_CI, CELL_IDENT_LAC_AND_CI, CELL_IDENT_LAI_AND_LAC, - CELL_IDENT_WHOLE_GLOBAL, - }; - printf("\n%s(%s)\n", __func__, test_match ? "test match" : "test mismatch"); /* Autogenerate Cell ID lists from above dataset, which should match / not match. */ - for (i = 0; i < ARRAY_SIZE(discrs); i++) { - for (j = 0; j < ARRAY_SIZE(discrs); j++) + for (i = 0; i < ARRAY_SIZE(cell_ident_discrs); i++) { + for (j = 0; j < ARRAY_SIZE(cell_ident_discrs); j++) if (!test_cell_id_list_matching_discrs(test_match, - discrs[i], discrs[j])) + cell_ident_discrs[i], cell_ident_discrs[j])) ok = false; } OSMO_ASSERT(ok); } + +static const struct gsm0808_cell_id test_gsm0808_cell_id_to_from_cgi_data[] = { + lac_23, + lac_42, + ci_5, + ci_6, + lac_ci_23_5, + lac_ci_42_6, + lai_23_042_23, + lai_23_042_42, + lai_23_99_23, + lai_23_42_23, + cgi_23_042_23_5, + cgi_23_042_42_6, + cgi_23_99_23_5, + { .id_discr = CELL_IDENT_NO_CELL }, + { .id_discr = 423 }, +}; + +static void test_gsm0808_cell_id_to_from_cgi() +{ + int i; + int j; + + printf("\n%s()\n", __func__); + + for (i = 0; i < ARRAY_SIZE(test_gsm0808_cell_id_to_from_cgi_data); i++) { + const struct gsm0808_cell_id *from_cid = &test_gsm0808_cell_id_to_from_cgi_data[i]; + struct osmo_cell_global_id cgi = { + .lai = { + .plmn = { + .mcc = 777, + .mnc = 7, + .mnc_3_digits = true, + }, + .lac = 7777, + }, + .cell_identity = 7777, + }; + struct gsm0808_cell_id cid = {}; + int rc; + + rc = gsm0808_cell_id_to_cgi(&cgi, from_cid); + printf("cid %s -> cgi %s", gsm0808_cell_id_name(from_cid), osmo_cgi_name(&cgi)); + + if (rc & OSMO_CGI_PART_PLMN) + printf(" PLMN"); + if (rc & OSMO_CGI_PART_LAC) + printf(" LAC"); + if (rc & OSMO_CGI_PART_CI) + printf(" CI"); + + gsm0808_cell_id_from_cgi(&cid, from_cid->id_discr, &cgi); + printf(" -> cid %s\n", gsm0808_cell_id_name(&cid)); + if (!gsm0808_cell_ids_match(from_cid, &cid, true)) + printf(" MISMATCH!\n"); + + for (j = 0; j < ARRAY_SIZE(cell_ident_discrs); j++) { + enum CELL_IDENT discr = cell_ident_discrs[j]; + + gsm0808_cell_id_from_cgi(&cid, discr, &cgi); + printf(" --> gsm0808_cell_id{%s} = %s\n", gsm0808_cell_id_discr_name(discr), gsm0808_cell_id_name(&cid)); + } + } +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "gsm0808 test"); @@ -2300,6 +2367,8 @@ test_cell_id_list_matching(true); test_cell_id_list_matching(false); + test_gsm0808_cell_id_to_from_cgi(); + printf("Done\n"); return EXIT_SUCCESS; } diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok index e7df007..6035326 100644 --- a/tests/gsm0808/gsm0808_test.ok +++ b/tests/gsm0808/gsm0808_test.ok @@ -629,4 +629,96 @@ CGI:023-042-23-5 and LAC-CI[1]:{42-6}: mismatch CGI:023-042-23-5 and LAI[3]:{023-042-42, 023-99-23, 023-42-23}: mismatch CGI:023-042-23-5 and CGI[2]:{023-042-42-6, 023-99-23-5}: mismatch + +test_gsm0808_cell_id_to_from_cgi() +cid LAC:23 -> cgi 777-007-23-7777 LAC -> cid LAC:23 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777 + --> gsm0808_cell_id{LAI} = LAI:777-007-23 + --> gsm0808_cell_id{CGI} = CGI:777-007-23-7777 +cid LAC:42 -> cgi 777-007-42-7777 LAC -> cid LAC:42 + --> gsm0808_cell_id{LAC} = LAC:42 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:42-7777 + --> gsm0808_cell_id{LAI} = LAI:777-007-42 + --> gsm0808_cell_id{CGI} = CGI:777-007-42-7777 +cid CI:5 -> cgi 777-007-7777-5 CI -> cid CI:5 + --> gsm0808_cell_id{LAC} = LAC:7777 + --> gsm0808_cell_id{CI} = CI:5 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-5 + --> gsm0808_cell_id{LAI} = LAI:777-007-7777 + --> gsm0808_cell_id{CGI} = CGI:777-007-7777-5 +cid CI:6 -> cgi 777-007-7777-6 CI -> cid CI:6 + --> gsm0808_cell_id{LAC} = LAC:7777 + --> gsm0808_cell_id{CI} = CI:6 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-6 + --> gsm0808_cell_id{LAI} = LAI:777-007-7777 + --> gsm0808_cell_id{CGI} = CGI:777-007-7777-6 +cid LAC-CI:23-5 -> cgi 777-007-23-5 LAC CI -> cid LAC-CI:23-5 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:5 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-5 + --> gsm0808_cell_id{LAI} = LAI:777-007-23 + --> gsm0808_cell_id{CGI} = CGI:777-007-23-5 +cid LAC-CI:42-6 -> cgi 777-007-42-6 LAC CI -> cid LAC-CI:42-6 + --> gsm0808_cell_id{LAC} = LAC:42 + --> gsm0808_cell_id{CI} = CI:6 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:42-6 + --> gsm0808_cell_id{LAI} = LAI:777-007-42 + --> gsm0808_cell_id{CGI} = CGI:777-007-42-6 +cid LAI:023-042-23 -> cgi 023-042-23-7777 PLMN LAC -> cid LAI:023-042-23 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777 + --> gsm0808_cell_id{LAI} = LAI:023-042-23 + --> gsm0808_cell_id{CGI} = CGI:023-042-23-7777 +cid LAI:023-042-42 -> cgi 023-042-42-7777 PLMN LAC -> cid LAI:023-042-42 + --> gsm0808_cell_id{LAC} = LAC:42 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:42-7777 + --> gsm0808_cell_id{LAI} = LAI:023-042-42 + --> gsm0808_cell_id{CGI} = CGI:023-042-42-7777 +cid LAI:023-99-23 -> cgi 023-99-23-7777 PLMN LAC -> cid LAI:023-99-23 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777 + --> gsm0808_cell_id{LAI} = LAI:023-99-23 + --> gsm0808_cell_id{CGI} = CGI:023-99-23-7777 +cid LAI:023-42-23 -> cgi 023-42-23-7777 PLMN LAC -> cid LAI:023-42-23 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777 + --> gsm0808_cell_id{LAI} = LAI:023-42-23 + --> gsm0808_cell_id{CGI} = CGI:023-42-23-7777 +cid CGI:023-042-23-5 -> cgi 023-042-23-5 PLMN LAC CI -> cid CGI:023-042-23-5 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:5 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-5 + --> gsm0808_cell_id{LAI} = LAI:023-042-23 + --> gsm0808_cell_id{CGI} = CGI:023-042-23-5 +cid CGI:023-042-42-6 -> cgi 023-042-42-6 PLMN LAC CI -> cid CGI:023-042-42-6 + --> gsm0808_cell_id{LAC} = LAC:42 + --> gsm0808_cell_id{CI} = CI:6 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:42-6 + --> gsm0808_cell_id{LAI} = LAI:023-042-42 + --> gsm0808_cell_id{CGI} = CGI:023-042-42-6 +cid CGI:023-99-23-5 -> cgi 023-99-23-5 PLMN LAC CI -> cid CGI:023-99-23-5 + --> gsm0808_cell_id{LAC} = LAC:23 + --> gsm0808_cell_id{CI} = CI:5 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:23-5 + --> gsm0808_cell_id{LAI} = LAI:023-99-23 + --> gsm0808_cell_id{CGI} = CGI:023-99-23-5 +cid NO-CELL:NO-CELL -> cgi 777-007-7777-7777 -> cid NO-CELL:NO-CELL + --> gsm0808_cell_id{LAC} = LAC:7777 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-7777 + --> gsm0808_cell_id{LAI} = LAI:777-007-7777 + --> gsm0808_cell_id{CGI} = CGI:777-007-7777-7777 +cid unknown 0x1a7:unknown 0x1a7 -> cgi 777-007-7777-7777 -> cid unknown 0x1a7:unknown 0x1a7 + --> gsm0808_cell_id{LAC} = LAC:7777 + --> gsm0808_cell_id{CI} = CI:7777 + --> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-7777 + --> gsm0808_cell_id{LAI} = LAI:777-007-7777 + --> gsm0808_cell_id{CGI} = CGI:777-007-7777-7777 Done -- To view, visit https://gerrit.osmocom.org/13122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib9af67b100c4583342a2103669732dab2e577b04 Gerrit-Change-Number: 13122 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 11:20:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 11:20:18 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 47 PS4, Line 47: osmo_ip_port > - sockaddr stores the port in network byte order, each log line would have to remember to call ntohs [?] my point was not that people should use sockaddr_storage directly, but that instead of this proposed patch, one could probably simply have a set of utility functions that work on sockaddr_storage instead of a custom-invented struct. The string-to-binary and binary-to-string conversions could then be hidden by that API. There is no compilation problem with "ARM" per se. There might be problems if you're building something intended for a Linux/Posix-style operating system on a "bare iron" embedded system, such as the builds we do for the osmocombb firmware (and possibly more firmware projects in the near future). As those sysdtems have no IP adresses to begin with, the safe chocie is to simply not build anything related to networking on them. I'd like to see other people's comments on this. I personally don't think it looks like something that I'd want to see as part of the standard libosmocore infrastructure. At least not unless I see a strong reason against my "have same API but use sockaddr_storage + conversion underneath" proposal. https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 80 PS4, Line 80: osmo_ip_port_to_32 > normal convention in osmocom is lke memcpy(): Output argument is first, followed by input argument[s [?] this comment holds true whether or not we use sockaddr_storage, and whether or not we merge it to libosmocore or osmo-mgw.git -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 08 Mar 2019 11:20:18 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 11:32:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 11:32:08 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h File include/osmocom/core/use_count.h: https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 133 PS2, Line 133: talloc_object > It is actually used as talloc context to allocate use count entries (in case the static entries are [?] OK https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 150 PS2, Line 150: count > I think it's rather difficult to understand that a given "entry" or "token" can have multiple "count [?] I'm not arguing agains the requirement / use case. I'm just stating that the naming didn't appear vary intuitive to me. What about "use count class" or use count subsystem" or "use count category" rather than "use count entry"? Something like a subsystem which then can have a per-subsystem use count seems more logical/understandable to me. Maybe there's even better naming? -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Fri, 08 Mar 2019 11:32:08 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 15:36:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 15:36:09 +0000 Subject: Change in libosmo-abis[master]: ipa: Make ipa_server_conn_destroy() re-entrant Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13195 Change subject: ipa: Make ipa_server_conn_destroy() re-entrant ...................................................................... ipa: Make ipa_server_conn_destroy() re-entrant In some situations, the user code called by the closed_cb call-back might be tempted to call itself ipa_server_conn_destroy(), which would lead to a double-llist_del during osmo_fd_unregister() and also a subsequent double talloc_free(). Let's prevent such misuse by existing early in such situations. Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6 --- M src/input/ipa.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/95/13195/1 diff --git a/src/input/ipa.c b/src/input/ipa.c index e41ec42..25eeb4a 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -503,7 +503,12 @@ void ipa_server_conn_destroy(struct ipa_server_conn *conn) { + /* make the function re-entrant in case closed_cb() below somehow + * calls again into this destructor */ + if (conn->ofd.fd == -1) + return; close(conn->ofd.fd); + conn->ofd.fd = -1; msgb_free(conn->pending_msg); osmo_fd_unregister(&conn->ofd); if (conn->closed_cb) -- To view, visit https://gerrit.osmocom.org/13195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6 Gerrit-Change-Number: 13195 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 16:09:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 16:09:16 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13196 Change subject: Add IPA keep-alive FSM implementation ...................................................................... Add IPA keep-alive FSM implementation The IPA keep-alive FSM code takes care of periodically transmitting and IPA CCM PING and expecting an IPA CCM PONG in return. Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 --- M include/osmocom/abis/ipa.h M src/Makefile.am A src/input/ipa_keepalive.c 3 files changed, 319 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/96/13196/1 diff --git a/include/osmocom/abis/ipa.h b/include/osmocom/abis/ipa.h index a738156..4f6081f 100644 --- a/include/osmocom/abis/ipa.h +++ b/include/osmocom/abis/ipa.h @@ -5,6 +5,7 @@ #include #include #include +#include #include struct e1inp_line; @@ -99,4 +100,39 @@ void ipa_msg_push_header(struct msgb *msg, uint8_t proto); + +/*********************************************************************** + * IPA Keep-Alive FSM + ***********************************************************************/ + +/*! parameters describing the keep-alive FSM (timeouts). */ +struct ipa_keepalive_params { + /*! interval in which to send IPA CCM PING requests to the peer. */ + unsigned int interval; + /*! time to wait for an IPA CCM PONG in response to a IPA CCM PING before giving up. */ + unsigned int wait_for_resp; +}; + +typedef void ipa_keepalive_timeout_cb_t(struct osmo_fsm_inst *fi, void *conn); + +struct osmo_fsm_inst *ipa_client_conn_alloc_keepalive_fsm(struct ipa_client_conn *client, + const struct ipa_keepalive_params *params, + const char *id); + +struct osmo_fsm_inst *ipa_server_conn_alloc_keepalive_fsm(struct ipa_server_conn *server, + const struct ipa_keepalive_params *params, + const char *id); + +struct osmo_fsm_inst *ipa_keepalive_alloc_server(struct ipa_server_conn *server, + const struct ipa_keepalive_params *params, + const char *id); + +void ipa_keepalive_fsm_set_timeout_cb(struct osmo_fsm_inst *fi, ipa_keepalive_timeout_cb_t *cb); + +void ipa_keepalive_fsm_start(struct osmo_fsm_inst *fi); + +void ipa_keepalive_fsm_stop(struct osmo_fsm_inst *fi); + +void ipa_keepalive_fsm_pong_received(struct osmo_fsm_inst *fi); + #endif diff --git a/src/Makefile.am b/src/Makefile.am index 9566617..2d2424d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -21,6 +21,7 @@ trau_frame.c \ input/dahdi.c \ input/ipa.c \ + input/ipa_keepalive.c \ input/ipaccess.c \ input/lapd.c \ input/lapd_pcap.c \ diff --git a/src/input/ipa_keepalive.c b/src/input/ipa_keepalive.c new file mode 100644 index 0000000..3158cb4 --- /dev/null +++ b/src/input/ipa_keepalive.c @@ -0,0 +1,282 @@ +/* IPA keep-alive FSM; Periodically transmit IPA_PING and expect IPA_PONG in return. + * + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include + +#include + +#include + +#define S(x) (1 << (x)) + + +/* generate a msgb containing an IPA CCM PING message */ +static struct msgb *gen_ipa_ping(void) +{ + struct msgb *msg = msgb_alloc_headroom(64, 32, "IPA PING"); + if (!msg) + return NULL; + + msgb_put_u8(msg, IPAC_MSGT_PING); + ipa_msg_push_header(msg, IPAC_PROTO_IPACCESS); + + return msg; +} + +enum osmo_ipa_keepalive_state { + OSMO_IPA_KA_S_INIT, + OSMO_IPA_KA_S_IDLE, /* waiting for next interval */ + OSMO_IPA_KA_S_WAIT_RESP, /* waiting for response to keepalive */ +}; + +enum osmo_ipa_keepalive_event { + OSMO_IPA_KA_E_START, + OSMO_IPA_KA_E_STOP, + OSMO_IPA_KA_E_PONG, +}; + +static const struct value_string ipa_keepalive_event_names[] = { + OSMO_VALUE_STRING(OSMO_IPA_KA_E_START), + OSMO_VALUE_STRING(OSMO_IPA_KA_E_STOP), + OSMO_VALUE_STRING(OSMO_IPA_KA_E_PONG), + { 0, NULL } +}; + +struct ipa_fsm_priv { + struct ipa_keepalive_params params; + + struct ipa_server_conn *srv_conn; + struct ipa_client_conn *client_conn; + ipa_keepalive_timeout_cb_t *timeout_cb; +}; + +static void ipa_ka_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ipa_fsm_priv *ifp = fi->priv; + + switch (event) { + case OSMO_IPA_KA_E_START: + osmo_fsm_inst_state_chg(fi, OSMO_IPA_KA_S_WAIT_RESP, ifp->params.interval, 2); + break; + default: + OSMO_ASSERT(0); + break; + } +} + +static void ipa_ka_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + /* no permitted events aside from E_START, which is handled in allstate_events */ +} + +static void ipa_ka_wait_resp_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct ipa_fsm_priv *ifp = fi->priv; + struct msgb *msg; + + /* Send an IPA PING to the peer */ + msg = gen_ipa_ping(); + OSMO_ASSERT(msg); + + if (ifp->srv_conn) + ipa_server_conn_send(ifp->srv_conn, msg); + else { + OSMO_ASSERT(ifp->client_conn); + ipa_client_conn_send(ifp->client_conn, msg); + } +} + +static void ipa_ka_wait_resp(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ipa_fsm_priv *ifp = fi->priv; + + switch (event) { + case OSMO_IPA_KA_E_PONG: + osmo_fsm_inst_state_chg(fi, OSMO_IPA_KA_S_IDLE, ifp->params.wait_for_resp, 1); + break; + default: + OSMO_ASSERT(0); + } +} + +static int ipa_ka_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + struct ipa_fsm_priv *ifp = fi->priv; + void *conn; + + switch (fi->T) { + case 1: + /* send another PING */ + osmo_fsm_inst_state_chg(fi, OSMO_IPA_KA_S_WAIT_RESP, ifp->params.interval, 2); + return 0; + case 2: + /* PONG not received within time */ + if (ifp->srv_conn) + conn = ifp->srv_conn; + else + conn = ifp->client_conn; + if (ifp->timeout_cb) + ifp->timeout_cb(fi, conn); + /* ask fsm core to terminate us */ + return 1; + default: + OSMO_ASSERT(0); + } +} + +static void ipa_ka_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case OSMO_IPA_KA_E_STOP: + osmo_fsm_inst_state_chg(fi, OSMO_IPA_KA_S_INIT, 0, 0); + break; + default: + OSMO_ASSERT(0); + break; + } +} + +static const struct osmo_fsm_state ipa_keepalive_states[] = { + [OSMO_IPA_KA_S_INIT] = { + .name = "INIT", + .in_event_mask = S(OSMO_IPA_KA_E_START), + .out_state_mask = S(OSMO_IPA_KA_S_WAIT_RESP), + .action = ipa_ka_init, + }, + [OSMO_IPA_KA_S_IDLE] = { + .name = "IDLE", + .out_state_mask = S(OSMO_IPA_KA_S_WAIT_RESP) | S(OSMO_IPA_KA_S_INIT), + .action = ipa_ka_idle, + }, + [OSMO_IPA_KA_S_WAIT_RESP] = { + .name = "WAIT_RESP", + .in_event_mask = S(OSMO_IPA_KA_E_PONG), + .out_state_mask = S(OSMO_IPA_KA_S_IDLE) | S(OSMO_IPA_KA_S_INIT), + .action = ipa_ka_wait_resp, + .onenter = ipa_ka_wait_resp_onenter, + }, +}; + +static struct osmo_fsm ipa_keepalive_fsm = { + .name = "IPA-KEEPALIVE", + .states = ipa_keepalive_states, + .num_states = ARRAY_SIZE(ipa_keepalive_states), + .log_subsys = DLINP, + .allstate_action = ipa_ka_allstate_action, + .event_names = ipa_keepalive_event_names, + .timer_cb = ipa_ka_fsm_timer_cb, +}; + +static __attribute__((constructor)) void on_dso_load(void) +{ + osmo_fsm_register(&ipa_keepalive_fsm); +} + + +/*! Create a new instance of an IPA keepalive FSM: Periodically transmit PING and expect PONG. + * \param[in] client The client connection for which to crate the FSM. Used as talloc context. + * \param[in] params Parameters describing the keepalive FSM time-outs. + * \param[in] id String used as identifier for the FSM. + * \returns pointer to the newly-created FSM instance; NULL in case of error. */ +struct osmo_fsm_inst *ipa_client_conn_alloc_keepalive_fsm(struct ipa_client_conn *client, + const struct ipa_keepalive_params *params, + const char *id) +{ + struct osmo_fsm_inst *fi; + struct ipa_fsm_priv *ifp; + void *ctx = client; + + fi = osmo_fsm_inst_alloc(&ipa_keepalive_fsm, ctx, NULL, LOGL_DEBUG, id); + ifp = talloc_zero(fi, struct ipa_fsm_priv); + if (!ifp) { + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); + return NULL; + } + memcpy(&ifp->params, params, sizeof(ifp->params)); + ifp->client_conn = client; + fi->priv = ifp; + + return fi; +} + +/*! Create a new instance of an IPA keepalive FSM: Periodically transmit PING and expect PONG. + * \param[in] server The server connection for which to crate the FSM. Used as talloc context. + * \param[in] params Parameters describing the keepalive FSM time-outs. + * \param[in] id String used as identifier for the FSM. + * \returns pointer to the newly-created FSM instance; NULL in case of error. */ +struct osmo_fsm_inst *ipa_server_conn_alloc_keepalive_fsm(struct ipa_server_conn *server, + const struct ipa_keepalive_params *params, + const char *id) +{ + struct osmo_fsm_inst *fi; + struct ipa_fsm_priv *ifp; + void *ctx = server; + + fi = osmo_fsm_inst_alloc(&ipa_keepalive_fsm, ctx, NULL, LOGL_NOTICE, id); + if (!fi) + return NULL; + + ifp = talloc_zero(fi, struct ipa_fsm_priv); + if (!ifp) { + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); + return NULL; + } + memcpy(&ifp->params, params, sizeof(ifp->params)); + ifp->srv_conn = server; + fi->priv = ifp; + + return fi; +} + +/*! Set a timeout call-back which is to be called once the peer doesn't respond anymore */ +void ipa_keepalive_fsm_set_timeout_cb(struct osmo_fsm_inst *fi, ipa_keepalive_timeout_cb_t *cb) +{ + struct ipa_fsm_priv *ifp = fi->priv; + OSMO_ASSERT(fi->fsm == &ipa_keepalive_fsm); + ifp->timeout_cb = cb; +} + +/*! Start the ping/pong procedure of the IPA Keepalive FSM. */ +void ipa_keepalive_fsm_pong_received(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi->fsm == &ipa_keepalive_fsm); + osmo_fsm_inst_dispatch(fi, OSMO_IPA_KA_E_PONG, NULL); +} + +/*! Stop the ping/pong procedure of the IPA Keepalive FSM. */ +void ipa_keepalive_fsm_start(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi->fsm == &ipa_keepalive_fsm); + osmo_fsm_inst_dispatch(fi, OSMO_IPA_KA_E_START, NULL); +} + +/*! Inform IPA Keepalive FSM that a PONG has been received. */ +void ipa_keepalive_fsm_stop(struct osmo_fsm_inst *fi) +{ + OSMO_ASSERT(fi->fsm == &ipa_keepalive_fsm); + osmo_fsm_inst_dispatch(fi, OSMO_IPA_KA_E_STOP, NULL); +} -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 17:33:21 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 8 Mar 2019 17:33:21 +0000 Subject: Change in libosmo-abis[master]: ipa: Make ipa_server_conn_destroy() re-entrant In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13195 ) Change subject: ipa: Make ipa_server_conn_destroy() re-entrant ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6 Gerrit-Change-Number: 13195 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 08 Mar 2019 17:33:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 18:07:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 8 Mar 2019 18:07:49 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 1: Code-Review-1 (6 comments) https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c File src/input/ipa_keepalive.c: https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c at 132 PS1, Line 132: case 1: would be perhaps nice to have an enum for T 1 and 2, so it's more descriptive: enum ipa_ka_fsm_timer { T_SEND_ANOTHER_PING = 1, T_PONG_NOT_RECEVIED }; https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c at 138 PS1, Line 138: if (ifp->srv_conn) Can probably expressed in one line: conn = ifp->srv_conn ? : ifp->client_conn; https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c at 213 PS1, Line 213: fi = osmo_fsm_inst_alloc(&ipa_keepalive_fsm, ctx, NULL, LOGL_DEBUG, id); Let's merge both ipa_client and ipa_server into a static function for which you pass void* ctx, then, client or server ones are basically: { fi = the_static_function(client, params,id); ((*ipa_fsm_priv)(fi->priv))->client_conn = client; return fi; } https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c at 263 PS1, Line 263: /*! Start the ping/pong procedure of the IPA Keepalive FSM. */ This comment is wrong. https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c at 270 PS1, Line 270: /*! Stop the ping/pong procedure of the IPA Keepalive FSM. */ typo: Stop should be start. https://gerrit.osmocom.org/#/c/13196/1/src/input/ipa_keepalive.c at 277 PS1, Line 277: /*! Inform IPA Keepalive FSM that a PONG has been received. */ So basically the 3 functions comments are swapped. Good job with the mangling ;) -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 08 Mar 2019 18:07:49 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 8 19:19:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 8 Mar 2019 19:19:50 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13196 to look at the new patch set (#2). Change subject: Add IPA keep-alive FSM implementation ...................................................................... Add IPA keep-alive FSM implementation The IPA keep-alive FSM code takes care of periodically transmitting and IPA CCM PING and expecting an IPA CCM PONG in return. Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 --- M include/osmocom/abis/ipa.h M src/Makefile.am A src/input/ipa_keepalive.c 3 files changed, 330 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/96/13196/2 -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 8 20:11:32 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 08 Mar 2019 20:11:32 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5c82cc7dc1457_772612a66004685dc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 183s] [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 [ 183s] [NA] Client's read_cb_cli(): initial read, contacting server [ 183s] [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 [ 183s] -[OK|OK] Server's read_cb_srv(): callback triggered [ 183s] -[OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 [ 183s] -[OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 [ 183s] -[OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call [ 183s] -[OK] Client's read_cb_cli(): callback triggered [ 183s] -[OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled [ 183s] non-reconnecting test complete. [ 183s] [ 183s] Stream tests completed [ 183s] 1. testsuite.at:4: 1. stream_test (testsuite.at:4): FAILED (testsuite.at:8) [ 183s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 183s] make[1]: *** [override_dh_auto_test] Error 1 [ 183s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 183s] debian/rules:13: recipe for target 'build' failed [ 183s] make: *** [build] Error 2 [ 183s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 183s] [ 183s] cloud116 failed "build libosmo-netif_0.4.0.17.05db.dsc" at Fri Mar 8 20:11:16 UTC 2019. [ 183s] [ 183s] ### VM INTERACTION START ### [ 184s] Powering off. [ 184s] [ 147.169102] reboot: Power down [ 185s] ### VM INTERACTION END ### [ 185s] [ 185s] cloud116 failed "build libosmo-netif_0.4.0.17.05db.dsc" at Fri Mar 8 20:11:18 UTC 2019. [ 185s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Mar 8 22:46:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 8 Mar 2019 22:46:15 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c File src/input/ipa_keepalive.c: https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c at 126 PS2, Line 126: ifp->params.wait_for_resp, T_SEND_NEXT_PING); Are params correct or actually swapped? shouldn't be here ifp->params.interval and in ipa_ka_init ifp->params.wait_for_resp? https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c at 214 PS2, Line 214: fi = osmo_fsm_inst_alloc(&ipa_keepalive_fsm, ctx, NULL, LOGL_DEBUG, id); check against NULL and return -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 08 Mar 2019 22:46:15 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 9 08:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 9 Mar 2019 08:17:52 +0000 Subject: Change in osmo-msc[master]: vty: add cmd subscriber ID sms delete-all In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13174 ) Change subject: vty: add cmd subscriber ID sms delete-all ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I637cbd7adc075a192f49752b38779391472ff06d Gerrit-Change-Number: 13174 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 09 Mar 2019 08:17:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 04:33:44 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 04:33:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add codec to all Assignment Complete messages In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13186 ) Change subject: msc: add codec to all Assignment Complete messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa Gerrit-Change-Number: 13186 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 04:33:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 04:34:15 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 04:34:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13187 ) Change subject: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 Gerrit-Change-Number: 13187 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 04:34:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 04:38:05 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 04:38:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13191 ) Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13191/1/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/#/c/13191/1/msc/BSC_ConnectionHandler.ttcn at 523 PS1, Line 523: Cosmetic: why two tabs? AFAICS, other alt / interleave statements are using a single tab. -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 04:38:05 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 04:40:04 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 04:40:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13193 ) Change subject: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763 Gerrit-Change-Number: 13193 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 04:40:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 05:55:35 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 05:55:35 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: Code-Review+1 (4 comments) https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h File include/osmocom/core/use_count.h: https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 66 PS2, Line 66: * osmo_use_count_cb_t Never seen such spacing style before. https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 141 PS2, Line 141: */ Also looks a bit weird... https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c File tests/use_count/use_count_test.c: https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c at 320 PS2, Line 320: "use_count_test.c" Why not __FILE__? https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c at 326 PS2, Line 326: log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_BASENAME); : log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); : log_set_print_filename_pos(osmo_stderr_target, LOG_FILENAME_POS_LINE_END); : log_set_print_category(osmo_stderr_target, 1); : log_set_print_category_hex(osmo_stderr_target, 0); : log_set_print_level(osmo_stderr_target, 1); : log_set_use_color(osmo_stderr_target, 0); Off-topic: I think we need some generic configuration for all unit tests. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 05:55:35 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 06:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 06:05:03 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c File src/input/ipa_keepalive.c: https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c at 181 PS2, Line 181: ipa_ka_idle If no events, why do we need this handler? -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 06:05:03 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 13:23:12 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 10 Mar 2019 13:23:12 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: clarify decoding of incomplete xCCH blocks Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13197 Change subject: trxcon/scheduler: clarify decoding of incomplete xCCH blocks ...................................................................... trxcon/scheduler: clarify decoding of incomplete xCCH blocks Inspired by Sylvain's message at #osmocom. Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 --- M src/host/trxcon/sched_lchan_xcch.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/97/13197/1 diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 71eb38d..2d2b1d9 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -92,6 +92,10 @@ (*first_fn) % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); + /* NOTE: xCCH has an insane amount of redundancy for error + * correction, so even just 2 valid bursts might be enough + * to reconstruct some L2 frames. This is why we do not + * abort here. */ } /* Attempt to decode */ -- To view, visit https://gerrit.osmocom.org/13197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 Gerrit-Change-Number: 13197 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 19:57:49 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Sun, 10 Mar 2019 19:57:49 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Holger Freyther has posted comments on this change. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py File src/osmo_gsm_tester/ms_osmo_mobile.py: https://gerrit.osmocom.org/#/c/13042/4/src/osmo_gsm_tester/ms_osmo_mobile.py at 33 PS4, Line 33: return "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" > There's no default value. [?] It's desirable to use different (but predictable) KIs in the future but right now the above does not change the status quo. => Let's find a way to describe reasonable generators in the future. -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sun, 10 Mar 2019 19:57:49 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 19:57:59 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Sun, 10 Mar 2019 19:57:59 +0000 Subject: Change in osmo-gsm-tester[master]: resource: Add a mobile resource for the virtual test In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13041 ) Change subject: resource: Add a mobile resource for the virtual test ...................................................................... resource: Add a mobile resource for the virtual test Add a new resource and make a reservation in the suite. Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc --- M example/resources.conf.virtual M src/osmo_gsm_tester/ms.py A src/osmo_gsm_tester/ms_osmo_mobile.py M src/osmo_gsm_tester/resource.py M suites/nitb_netreg_mass/suite.conf 5 files changed, 58 insertions(+), 1 deletion(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/resources.conf.virtual b/example/resources.conf.virtual index 44973a2..f4d8b4a 100644 --- a/example/resources.conf.virtual +++ b/example/resources.conf.virtual @@ -39,3 +39,27 @@ band: GSM-1900 - arfcn: 548 band: GSM-1900 + +modem: + - imsi: "001010000000000" + type: osmo-mobile + - imsi: "001010000000001" + type: osmo-mobile + - imsi: "001010000000002" + type: osmo-mobile + - imsi: "001010000000003" + type: osmo-mobile + - imsi: "001010000000004" + type: osmo-mobile + - imsi: "001010000000005" + type: osmo-mobile + - imsi: "001010000000006" + type: osmo-mobile + - imsi: "001010000000007" + type: osmo-mobile + - imsi: "001010000000008" + type: osmo-mobile + - imsi: "001010000000009" + type: osmo-mobile + - imsi: "001010000000009" + type: osmo-mobile diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py index a361865..222a078 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/ms.py @@ -46,4 +46,4 @@ @abstractmethod def cleanup(self): """Cleans up resources allocated.""" - pass \ No newline at end of file + pass diff --git a/src/osmo_gsm_tester/ms_osmo_mobile.py b/src/osmo_gsm_tester/ms_osmo_mobile.py new file mode 100644 index 0000000..1c28117 --- /dev/null +++ b/src/osmo_gsm_tester/ms_osmo_mobile.py @@ -0,0 +1,28 @@ +# osmo_gsm_tester: OsmocomBB based Mobile Station (MS) +# +# Copyright (C) 2016-2019 by sysmocom - s.f.m.c. GmbH +# +# Author: Neels Hofmeyr +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from . import ms + + +class MSOsmoMobile(ms.MS): + """Represent a osmocom-bb mobile.""" + + def cleanup(self): + # do nothing for a virtual resource + pass diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 2e7f500..ce1966b 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -28,6 +28,7 @@ from . import schema from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts from . import modem +from . import ms_osmo_mobile from .util import is_dict, is_list @@ -110,6 +111,7 @@ # Map None to ofono for forward compability None: modem.Modem, 'ofono': modem.Modem, + 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, } diff --git a/suites/nitb_netreg_mass/suite.conf b/suites/nitb_netreg_mass/suite.conf index 94ec603..05bc054 100644 --- a/suites/nitb_netreg_mass/suite.conf +++ b/suites/nitb_netreg_mass/suite.conf @@ -3,6 +3,9 @@ - times: 1 bts: - type: osmo-bts-virtual + modem: + - times: 10 + type: osmo-mobile defaults: timeout: 40s -- To view, visit https://gerrit.osmocom.org/13041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc Gerrit-Change-Number: 13041 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 19:58:00 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Sun, 10 Mar 2019 19:58:00 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Allow a suite to configure num subscriber In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13042 ) Change subject: nitb_netreg_mass: Allow a suite to configure num subscriber ...................................................................... nitb_netreg_mass: Allow a suite to configure num subscriber Remove hardcoded configuration and replace it with a reservation in the suite. Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_gsm_tester/ms_osmo_mobile.py M src/osmo_gsm_tester/suite.py M src/osmo_ms_driver/__main__.py M src/osmo_ms_driver/location_update_test.py M src/osmo_ms_driver/starter.py M suites/nitb_netreg_mass/register_default_mass.py 7 files changed, 84 insertions(+), 69 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index e8e543c..8ee93b7 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -27,29 +27,6 @@ import shutil import tempfile -class Subscriber(log.Origin): - def __init__(self, imsi, ki): - super().__init__(log.C_RUN, 'subscriber') - self._imsi = imsi - self._ki = ki - self._auth_algo = "comp128v1" - self._msisdn = None - - def msisdn(self): - return self._msisdn - - def set_msisdn(self, msisdn): - self._msisdn = msisdn - - def imsi(self): - return self._imsi - - def ki(self): - return self._ki - - def auth_algo(self): - return self._auth_algo - class MsDriver(log.Origin): def __init__(self, suite_run): @@ -57,7 +34,6 @@ self._suite_run = suite_run # TODO: take config out of the test scenario - self._num_ms = 10 self._time_start = timedelta(seconds=60) self._time_step = timedelta(milliseconds=100) self._test_duration = timedelta(seconds=120) @@ -65,6 +41,8 @@ self._loop = SimpleLoop() self._test_case = None self.event_server_sk_tmp_dir = None + self._subscribers = [] + self._configured = False if len(self.event_server_path().encode()) > 107: raise log.Error('Path for event_server socket is longer than max allowed len for unix socket path (107):', self.event_server_path()) @@ -101,6 +79,10 @@ mobile = check_and_return_binary('mobile') return BinaryOptions(virtphy, mobile, env) + def subscriber_add(self, subscriber): + """Adds a subscriber to the list of subscribers.""" + self._subscribers.append(subscriber) + def configure(self): """ Configures the subscribers, tests and registration server. Needs to be @@ -111,24 +93,14 @@ self._ev_server = EventServer("ev_server", event_server_path) self._ev_server.listen(self._loop) options = self.build_binary_options() - self._test_case = MassUpdateLocationTest("mass", options, self._num_ms, self._cdf, + self._test_case = MassUpdateLocationTest("mass", options, self._cdf, self._ev_server, util.Dir(self.event_server_sk_tmp_dir), suite_run=self._suite_run) - # TODO: We should pass subscribers down to the test and not get it from - # there. - self._subs = [Subscriber(imsi=mob.imsi(), ki=mob.ki()) for mob in self._test_case.mobiles()] - - - def ms_subscribers(self): - """ - Returns a list of 'subscribers' that were configured in the - current scenario. - """ - if not hasattr(self, '_subs'): - self.configure() - return self._subs + for sub in self._subscribers: + self._test_case.subscriber_add(sub) + self._configured = True def run_test(self): """ @@ -136,7 +108,7 @@ devices according to their schedule. Returns once all tests succeeded or the configured timeout has passed. """ - if not hasattr(self, '_subs'): + if not self._configured: self.configure() self._test_case.run_test(self._loop, self._test_duration) diff --git a/src/osmo_gsm_tester/ms_osmo_mobile.py b/src/osmo_gsm_tester/ms_osmo_mobile.py index 1c28117..f497772 100644 --- a/src/osmo_gsm_tester/ms_osmo_mobile.py +++ b/src/osmo_gsm_tester/ms_osmo_mobile.py @@ -26,3 +26,9 @@ def cleanup(self): # do nothing for a virtual resource pass + + def ki(self): + ki = super().ki() + if not ki: + return "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + return ki diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index db580ec..aefdc24 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -344,6 +344,15 @@ l.append(self.modem()) return l + def all_resources(self, resource_func): + """Returns all yielded resource.""" + l = [] + while True: + try: + l.append(resource_func()) + except resource.NoResourceExn: + return l + def esme(self): esme_obj = esme.Esme(self.msisdn()) self.register_for_cleanup(esme_obj) diff --git a/src/osmo_ms_driver/__main__.py b/src/osmo_ms_driver/__main__.py index 7e1afa8..24acd61 100644 --- a/src/osmo_ms_driver/__main__.py +++ b/src/osmo_ms_driver/__main__.py @@ -21,7 +21,9 @@ from .location_update_test import MassUpdateLocationTest from .cdf import cdfs from .starter import BinaryOptions +from .test_support import imsi_ki_gen from osmo_gsm_tester import log, util +from osmo_gsm_tester import ms # System modules from datetime import timedelta @@ -84,7 +86,19 @@ # Just a single test for now. options = BinaryOptions("virtphy", "mobile", os.environ) - test = MassUpdateLocationTest("lu_test", options, args.num_ms, cdf, ev_server, tmp_dir) + test = MassUpdateLocationTest("lu_test", options, cdf, ev_server, tmp_dir) + + # Add subscribers to the test. + imsi_gen = imsi_ki_gen() + for i in range(0, args.num_ms): + imsi, ki = next(imsi_gen) + conf = { + 'imsi': imsi, + 'ki': ki, + 'auth_algo': 'comp128v1', + } + test.subscriber_add(ms.MS("ms_%d" % i, conf)) + atexit.register(test.stop_all) # Run until everything has been launched diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index 8500607..2e3a648 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -19,7 +19,7 @@ from copy import copy from osmo_gsm_tester import log from .starter import OsmoVirtPhy, OsmoMobile -from .test_support import imsi_ki_gen, Results +from .test_support import Results from datetime import timedelta @@ -56,42 +56,53 @@ TEMPLATE_LUA = "osmo-mobile-lu.lua" TEMPLATE_CFG = "osmo-mobile.cfg" - def __init__(self, name, options, number_of_ms, cdf_function, + def __init__(self, name, options, cdf_function, event_server, tmp_dir, suite_run=None): super().__init__(log.C_RUN, name) self._binary_options = options - self._number_of_ms = number_of_ms self._cdf = cdf_function - self._cdf.set_target(number_of_ms) self._suite_run = suite_run + self._tmp_dir = tmp_dir self._unstarted = [] self._mobiles = [] self._phys = [] self._results = {} - imsi_gen = imsi_ki_gen() - self._outstanding = number_of_ms - for i in range(0, number_of_ms): - ms_name = "%.5d" % i - - phy = OsmoVirtPhy(options.virtphy, options.env, - ms_name, tmp_dir) - self._phys.append(phy) - - launcher = OsmoMobile(options.mobile, options.env, - ms_name, tmp_dir, self.TEMPLATE_LUA, - self.TEMPLATE_CFG, imsi_gen, - phy.phy_filename(), - event_server.server_path()) - self._results[ms_name] = LUResult(ms_name) - self._mobiles.append(launcher) self._event_server = event_server self._event_server.register(self.handle_msg) - self._unstarted = copy(self._mobiles) self._started = [] + self._subscribers = [] - def mobiles(self): - return self._mobiles + def subscriber_add(self, subscriber): + """ + Adds a subscriber to the list of subscribers. + + Must be called before starting the testcase. + """ + self._subscribers.append(subscriber) + + def configure_tasks(self): + """Sets up the test run.""" + + self._cdf.set_target(len(self._subscribers)) + self._outstanding = len(self._subscribers) + for i in range(0, self._outstanding): + ms_name = "%.5d" % i + + phy = OsmoVirtPhy(self._binary_options.virtphy, + self._binary_options.env, + ms_name, self._tmp_dir) + self._phys.append(phy) + + launcher = OsmoMobile(self._binary_options.mobile, + self._binary_options.env, + ms_name, self._tmp_dir, self.TEMPLATE_LUA, + self.TEMPLATE_CFG, self._subscribers[i], + phy.phy_filename(), + self._event_server.server_path()) + self._results[ms_name] = LUResult(ms_name) + self._mobiles.append(launcher) + self._unstarted = copy(self._mobiles) def pre_launch(self, loop): """ @@ -111,6 +122,7 @@ def prepare(self, loop): self.log("Starting testcase") + self.configure_tasks() self.pre_launch(loop) self._start_time = time.clock_gettime(time.CLOCK_MONOTONIC) diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index dd3aac5..010947b 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -69,14 +69,14 @@ self._vphy_proc.terminate() class OsmoMobile(Launcher): - def __init__(self, binary, env, name_number, tmp_dir, lua_tmpl, cfg_tmpl, imsi_ki_generator, phy_filename, ev_server_path): + def __init__(self, binary, env, name_number, tmp_dir, lua_tmpl, cfg_tmpl, subscriber, phy_filename, ev_server_path): super().__init__(binary, env, "osmo-ms-mob", name_number, tmp_dir) self._lua_template = lua_tmpl self._cfg_template = cfg_tmpl - self._imsi_ki_generator = imsi_ki_generator self._phy_filename = phy_filename self._ev_server_path = ev_server_path - self._imsi, self._ki = next(self._imsi_ki_generator) + self._imsi = subscriber.imsi() + self._ki = subscriber.ki() self._omob_proc = None def imsi(self): diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/suites/nitb_netreg_mass/register_default_mass.py index ede2b74..e7c91da 100644 --- a/suites/nitb_netreg_mass/register_default_mass.py +++ b/suites/nitb_netreg_mass/register_default_mass.py @@ -9,6 +9,7 @@ nitb = suite.nitb() bts = suite.bts() ms_driver = suite.ms_driver() +modems = suite.all_resources(suite.modem) print('start nitb and bts...') nitb.bts_add(bts) @@ -16,9 +17,10 @@ bts.start() wait(nitb.bts_is_connected, bts) -# Configure all MS that the MS driver knows about. -for ms in ms_driver.ms_subscribers(): - nitb.subscriber_add(ms) +# Configure all MS that are available to this test. +for modem in modems: + nitb.subscriber_add(modem) + ms_driver.subscriber_add(modem) # Run the base test. ms_driver.run_test() -- To view, visit https://gerrit.osmocom.org/13042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52 Gerrit-Change-Number: 13042 Gerrit-PatchSet: 5 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 19:58:00 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Sun, 10 Mar 2019 19:58:00 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Add code to declare a run successful/failure In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13130 ) Change subject: nitb_netreg_mass: Add code to declare a run successful/failure ...................................................................... nitb_netreg_mass: Add code to declare a run successful/failure Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 --- M src/osmo_gsm_tester/ms_driver.py M src/osmo_ms_driver/location_update_test.py M suites/nitb_netreg_mass/register_default_mass.py 3 files changed, 71 insertions(+), 7 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py index 8ee93b7..96b907a 100644 --- a/src/osmo_gsm_tester/ms_driver.py +++ b/src/osmo_gsm_tester/ms_driver.py @@ -118,6 +118,18 @@ """ self._test_case.print_stats() + def get_stats(self): + """ + Returns a statistical summary of the test. + """ + return self._test_case.get_stats() + + def get_result_values(self): + """ + Returns the raw result values of the test run in any order. + """ + return self._test_case.get_result_values() + def cleanup(self): """ Cleans up the driver (e.g. AF_UNIX files). diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py index 2e3a648..5ff2199 100644 --- a/src/osmo_ms_driver/location_update_test.py +++ b/src/osmo_ms_driver/location_update_test.py @@ -23,9 +23,11 @@ from datetime import timedelta +import collections import time class LUResult(Results): + """Representation of a Location Updating Result.""" def __init__(self, name): super().__init__(name) @@ -44,6 +46,10 @@ def lu_delay(self): return self.lu_time() - self.start_time() + +LUStats = collections.namedtuple("LUStats", ["num_attempted", "num_completed", + "min_latency", "max_latency"]) + class MassUpdateLocationTest(log.Origin): """ A test to launch a configurable amount of MS and make them @@ -219,9 +225,24 @@ max_value = result.lu_delay() return min_value, max_value + def get_result_values(self): + """ + Returns the raw result values of the test run in any order. + """ + return self._results.values() + + def get_stats(self): + """ + Returns a statistical summary of the test. + """ + attempted = len(self._subscribers) + completed = attempted - self._outstanding + min_latency, max_latency = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) + return LUStats(attempted, completed, min_latency, max_latency) + def print_stats(self): - all_completed = self.all_completed() - min_value, max_value = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values())) + stats = self.get_stats() + all_completed = stats.num_attempted == stats.num_completed self.log("Tests done", all_completed=all_completed, - min=min_value, max=max_value) + min=stats.min_latency, max=stats.max_latency) diff --git a/suites/nitb_netreg_mass/register_default_mass.py b/suites/nitb_netreg_mass/register_default_mass.py index e7c91da..76c53f1 100644 --- a/suites/nitb_netreg_mass/register_default_mass.py +++ b/suites/nitb_netreg_mass/register_default_mass.py @@ -1,17 +1,18 @@ #!/usr/bin/env python3 """ -Run a network registration with a 'massive' amount of MS +Runs a network registration with a 'massive' amount of MS using the ms_driver infrastructure. """ from osmo_gsm_tester.testenv import * +from datetime import timedelta -print('use resources...') +print('Claiming resources for the test') nitb = suite.nitb() bts = suite.bts() ms_driver = suite.ms_driver() modems = suite.all_resources(suite.modem) -print('start nitb and bts...') +print('Launching a simple network') nitb.bts_add(bts) nitb.start() bts.start() @@ -25,5 +26,35 @@ # Run the base test. ms_driver.run_test() -# Print stats +# Print the stats of the run. ms_driver.print_stats() + +# Evaluate if this run was successful or not. Our initial acceptance criteria +# is quite basic but it should allow us to scale to a larger number of MS and +# reasons (e.g. have a full BCCH). +# +# 99% of LUs should complete +# 99% of successful LUs should complete within 10s. +stats = ms_driver.get_stats() +if len(modems) > 0 and stats.num_completed < 1: + raise Exception("No run completed.") +completion_ratio = stats.num_attempted / stats.num_completed + +# Verify that 99% of LUs completed. +if completion_ratio < 0.99: + raise Exception("Completion ratio of %f%% lower than threshold." % (completion_ratio * 100.0)) + +# Check how many results are below our threshold. +acceptable_delay = timedelta(seconds=30) +results = ms_driver.get_result_values() +quick_enough = 0 +for result in results: + if not result.has_lu_time(): + continue + if timedelta(seconds=result.lu_delay()) >= acceptable_delay: + continue + quick_enough = quick_enough + 1 + +latency_ratio = quick_enough / len(results) +if latency_ratio < 0.99: + raise Exception("Latency ratio of %f%% lower than threshold." % (latency_ratio * 100.0)) -- To view, visit https://gerrit.osmocom.org/13130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1 Gerrit-Change-Number: 13130 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 19:58:00 2019 From: gerrit-no-reply at lists.osmocom.org (Holger Freyther) Date: Sun, 10 Mar 2019 19:58:00 +0000 Subject: Change in osmo-gsm-tester[master]: nitb_netreg_mass: Provide 100 subscribers In-Reply-To: References: Message-ID: Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/13131 ) Change subject: nitb_netreg_mass: Provide 100 subscribers ...................................................................... nitb_netreg_mass: Provide 100 subscribers Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b --- M example/resources.conf.virtual M suites/nitb_netreg_mass/suite.conf 2 files changed, 180 insertions(+), 2 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/resources.conf.virtual b/example/resources.conf.virtual index f4d8b4a..7711c58 100644 --- a/example/resources.conf.virtual +++ b/example/resources.conf.virtual @@ -61,5 +61,183 @@ type: osmo-mobile - imsi: "001010000000009" type: osmo-mobile - - imsi: "001010000000009" + - imsi: "001020000000000" + type: osmo-mobile + - imsi: "001020000000001" + type: osmo-mobile + - imsi: "001020000000002" + type: osmo-mobile + - imsi: "001020000000003" + type: osmo-mobile + - imsi: "001020000000004" + type: osmo-mobile + - imsi: "001020000000005" + type: osmo-mobile + - imsi: "001020000000006" + type: osmo-mobile + - imsi: "001020000000007" + type: osmo-mobile + - imsi: "001020000000008" + type: osmo-mobile + - imsi: "001020000000009" + type: osmo-mobile + - imsi: "001030000000000" + type: osmo-mobile + - imsi: "001030000000001" + type: osmo-mobile + - imsi: "001030000000002" + type: osmo-mobile + - imsi: "001030000000003" + type: osmo-mobile + - imsi: "001030000000004" + type: osmo-mobile + - imsi: "001030000000005" + type: osmo-mobile + - imsi: "001030000000006" + type: osmo-mobile + - imsi: "001030000000007" + type: osmo-mobile + - imsi: "001030000000008" + type: osmo-mobile + - imsi: "001030000000009" + type: osmo-mobile + - imsi: "001040000000000" + type: osmo-mobile + - imsi: "001040000000001" + type: osmo-mobile + - imsi: "001040000000002" + type: osmo-mobile + - imsi: "001040000000003" + type: osmo-mobile + - imsi: "001040000000004" + type: osmo-mobile + - imsi: "001040000000005" + type: osmo-mobile + - imsi: "001040000000006" + type: osmo-mobile + - imsi: "001040000000007" + type: osmo-mobile + - imsi: "001040000000008" + type: osmo-mobile + - imsi: "001040000000009" + type: osmo-mobile + - imsi: "001050000000000" + type: osmo-mobile + - imsi: "001050000000001" + type: osmo-mobile + - imsi: "001050000000002" + type: osmo-mobile + - imsi: "001050000000003" + type: osmo-mobile + - imsi: "001050000000004" + type: osmo-mobile + - imsi: "001050000000005" + type: osmo-mobile + - imsi: "001050000000006" + type: osmo-mobile + - imsi: "001050000000007" + type: osmo-mobile + - imsi: "001050000000008" + type: osmo-mobile + - imsi: "001050000000009" + type: osmo-mobile + - imsi: "001060000000000" + type: osmo-mobile + - imsi: "001060000000001" + type: osmo-mobile + - imsi: "001060000000002" + type: osmo-mobile + - imsi: "001060000000003" + type: osmo-mobile + - imsi: "001060000000004" + type: osmo-mobile + - imsi: "001060000000005" + type: osmo-mobile + - imsi: "001060000000006" + type: osmo-mobile + - imsi: "001060000000007" + type: osmo-mobile + - imsi: "001060000000008" + type: osmo-mobile + - imsi: "001060000000009" + type: osmo-mobile + - imsi: "001070000000000" + type: osmo-mobile + - imsi: "001070000000001" + type: osmo-mobile + - imsi: "001070000000002" + type: osmo-mobile + - imsi: "001070000000003" + type: osmo-mobile + - imsi: "001070000000004" + type: osmo-mobile + - imsi: "001070000000005" + type: osmo-mobile + - imsi: "001070000000006" + type: osmo-mobile + - imsi: "001070000000007" + type: osmo-mobile + - imsi: "001070000000008" + type: osmo-mobile + - imsi: "001070000000009" + type: osmo-mobile + - imsi: "001080000000000" + type: osmo-mobile + - imsi: "001080000000001" + type: osmo-mobile + - imsi: "001080000000002" + type: osmo-mobile + - imsi: "001080000000003" + type: osmo-mobile + - imsi: "001080000000004" + type: osmo-mobile + - imsi: "001080000000005" + type: osmo-mobile + - imsi: "001080000000006" + type: osmo-mobile + - imsi: "001080000000007" + type: osmo-mobile + - imsi: "001080000000008" + type: osmo-mobile + - imsi: "001080000000009" + type: osmo-mobile + - imsi: "001090000000000" + type: osmo-mobile + - imsi: "001090000000001" + type: osmo-mobile + - imsi: "001090000000002" + type: osmo-mobile + - imsi: "001090000000003" + type: osmo-mobile + - imsi: "001090000000004" + type: osmo-mobile + - imsi: "001090000000005" + type: osmo-mobile + - imsi: "001090000000006" + type: osmo-mobile + - imsi: "001090000000007" + type: osmo-mobile + - imsi: "001090000000008" + type: osmo-mobile + - imsi: "001090000000009" + type: osmo-mobile + - imsi: "001100000000000" + type: osmo-mobile + - imsi: "001100000000001" + type: osmo-mobile + - imsi: "001100000000002" + type: osmo-mobile + - imsi: "001100000000003" + type: osmo-mobile + - imsi: "001100000000004" + type: osmo-mobile + - imsi: "001100000000005" + type: osmo-mobile + - imsi: "001100000000006" + type: osmo-mobile + - imsi: "001100000000007" + type: osmo-mobile + - imsi: "001100000000008" + type: osmo-mobile + - imsi: "001100000000009" type: osmo-mobile diff --git a/suites/nitb_netreg_mass/suite.conf b/suites/nitb_netreg_mass/suite.conf index 05bc054..44de0b6 100644 --- a/suites/nitb_netreg_mass/suite.conf +++ b/suites/nitb_netreg_mass/suite.conf @@ -4,7 +4,7 @@ bts: - type: osmo-bts-virtual modem: - - times: 10 + - times: 100 type: osmo-mobile defaults: -- To view, visit https://gerrit.osmocom.org/13131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b Gerrit-Change-Number: 13131 Gerrit-PatchSet: 3 Gerrit-Owner: Holger Freyther Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 10 22:13:27 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 10 Mar 2019 22:13:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13191 ) Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13191/1/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/#/c/13191/1/msc/BSC_ConnectionHandler.ttcn at 523 PS1, Line 523: > Cosmetic: why two tabs? [?] oh indeed, cosmetic. Unfortunately gerrit coloring doesn't seem to catch that. two tabs because it makes more sense to me. Otherwise you can't optically distinguish the closing brace of the received message from the closing brace for the entire interlave (or alt) statement. AFAICT the indenting in these cases is inconsistent in our ttcn files, and I didn't want to - add two } } on the same indenting level or - have a closing } on the same level as its scope. i.e. be closer to the indenting we use in C. [EDIT] it seems a lot of places use alt { [] foo { content } } I find it a bit ugly but if you insist I can change to that... -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 10 Mar 2019 22:13:27 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 04:50:56 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 11 Mar 2019 04:50:56 +0000 Subject: Change in osmo-msc[master]: vty: add cmd subscriber ID sms delete-all In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13174 ) Change subject: vty: add cmd subscriber ID sms delete-all ...................................................................... vty: add cmd subscriber ID sms delete-all In ttcn3-msc-tests, so far we leave an intentionally failed MT SMS in the SMS queue, which may cause it to re-appear in subsequent tests. Allow removing all SMS for a given subscriber from the SMS database for good. (I dimly remember a user report where the SMS queue spams failed SMS attempts, and the only way to get rid of SMS for a given subscriber is to tamper with the sms.db file directly. This should no longer be necessary with this command.) Related: I7dce12942a65eaaf97f78ca69401c7f93faacb9e (osmo-ttcn3-hacks) Change-Id: I637cbd7adc075a192f49752b38779391472ff06d --- M src/libmsc/msc_vty.c 1 file changed, 25 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 2adb2a4..ac3946a 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -959,6 +959,30 @@ return CMD_SUCCESS; } +DEFUN(subscriber_sms_delete_all, + subscriber_sms_delete_all_cmd, + "subscriber " SUBSCR_TYPES " ID sms delete-all", + SUBSCR_HELP "SMS Operations\n" + "Delete all SMS to be delivered to this subscriber" + " -- WARNING: the SMS data for all unsent SMS for this subscriber" + " WILL BE LOST.\n") +{ + struct vlr_subscr *vsub; + + vsub = get_vsub_by_argv(gsmnet, argv[0], argv[1]); + if (!vsub) { + vty_out(vty, "%% No subscriber found for %s %s%s", + argv[0], argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + + db_sms_delete_by_msisdn(vsub->msisdn); + + vlr_subscr_put(vsub); + + return CMD_SUCCESS; +} + DEFUN(subscriber_send_sms, subscriber_send_sms_cmd, "subscriber " SUBSCR_TYPES " ID sms sender " SUBSCR_TYPES " SENDER_ID send .LINE", @@ -1651,6 +1675,7 @@ install_element(ENABLE_NODE, &smsqueue_clear_cmd); install_element(ENABLE_NODE, &smsqueue_fail_cmd); install_element(ENABLE_NODE, &subscriber_send_pending_sms_cmd); + install_element(ENABLE_NODE, &subscriber_sms_delete_all_cmd); install_element(CONFIG_NODE, &cfg_mncc_int_cmd); install_node(&mncc_int_node, config_write_mncc_int); -- To view, visit https://gerrit.osmocom.org/13174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I637cbd7adc075a192f49752b38779391472ff06d Gerrit-Change-Number: 13174 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 05:03:15 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 11 Mar 2019 05:03:15 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13173 ) Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13173/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13173/1//COMMIT_MSG at 25 PS1, Line 25: This is bad because an MSC should send a Paging Request exactly once. Retrying : failed Paging is clearly the task of the BSC, not the MSC > this is not always true. Do you have a specific reference for this? I know that e.g. [?] I realize the reasoning is a bit flawed here. If the MSC Pages again, it would Page, wait for timeout, and after that Page again. So the decision to Page again would be part of the Paging implementation. If at some point the decision is that Paging expired, the pending transactions should be cleaned up. What this code is currently doing is Page, then the Paging code decides that it failed. The SMS transaction gets told that reaching the subscriber has failed. And then what happens is that the SMS queue starts over, by circumstance picks the very same SMS again, and then asks the Paging code to start Paging from scratch right away as a consequence of that. So this is not really about the Paging code, it is the SMS queue code trying to deliver the same failed SMS over and over and over, from a single periodical SMS queue trigger. It is re-triggering Paging from the wrong angle. So if we also had a Paging retry in osmo-msc, then the SMS queue would restart this series of Paging attempts again and again == it spams Pagings. I should clarify the commit log... -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Mon, 11 Mar 2019 05:03:15 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 05:37:21 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 11 Mar 2019 05:37:21 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 47 PS4, Line 47: > my point was not that people should use sockaddr_storage directly, but that instead of this proposed [?] I understand the attractive / leaner approach of using operating system structs. But storing in sockaddr seems a weird choice for talking to an MGW. For logging, the conversion is a bit cumbersome because both the IP address string and the port number need converting from sockaddr_storage. I can see a const char *osmo_sockaddr_name() function for direct logging. Next, for writing to MGCP messages I need the IP as string and a host-order uint16_t separately (or an integer in a string, but %d is good enough). The way I'd write that conversion to string and host-byte-order-port is provide an output struct for the conversion result, to avoid having to pass two out-args, and that would then be exactly struct osmo_ip_port. Argued from a different angle, these functions already allow sockaddr_storage as ip:port storage, and provide conversion to string:port and back...? It seems that this belongs closer to MGCP, would it be ok to place this as-is in libosmo-mgcp-client instead? (would be the least amount of work to get past this topic) Otherwise rename to struct osmo_sockaddr_str with slightly shuffled function signatures? https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 80 PS4, Line 80: osmo_ip_port_to_in > this comment holds true whether or not we use sockaddr_storage, and whether or not we merge it to li [?] I was applying the object-oriented paradigm of function(object-instance, other arguments) Can change to out-arg first -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 05:37:21 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 05:55:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 11 Mar 2019 05:55:06 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 2: (6 comments) https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h File include/osmocom/core/use_count.h: https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 66 PS2, Line 66: * osmo_use_count_cb_t > Never seen such spacing style before. it's my personal favorite way to space function pointer typedefs. I find the "(*name)" really weird as language design, so I like to set it apart from the name. Especially if a pointer is returned... typedef foo *(*bar)(args); always confuses me... for me it helps to write foo* (* bar )(args); so that bar doesn't look like function arguments or a typecast... Can change if you insist? https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 141 PS2, Line 141: */ > Also looks a bit weird... that's your standard linux torvalds paper scroll way... ok the standard way would be /* * words */ but the known kernel code argument is that this is "braindamaged": /* words * words */ https://gerrit.osmocom.org/#/c/13121/2/include/osmocom/core/use_count.h at 150 PS2, Line 150: count > I'm not arguing agains the requirement / use case. [?] ah ok, a naming issue, I understand now. will ponder it... https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c File tests/use_count/use_count_test.c: https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c at 320 PS2, Line 320: "use_count_test.c" > Why not __FILE__? because it contains the full relative path and depends on where configure was launched from. we could go for 'strrchr(__FILE__, '/') + 1' but that is obscure, unsafe and actually more characters. https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c at 327 PS2, Line 327: log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); wait a minute, this looks redundant https://gerrit.osmocom.org/#/c/13121/2/tests/use_count/use_count_test.c at 326 PS2, Line 326: log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_BASENAME); : log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); : log_set_print_filename_pos(osmo_stderr_target, LOG_FILENAME_POS_LINE_END); : log_set_print_category(osmo_stderr_target, 1); : log_set_print_category_hex(osmo_stderr_target, 0); : log_set_print_level(osmo_stderr_target, 1); : log_set_use_color(osmo_stderr_target, 0); > Off-topic: I think we need some generic configuration for all unit tests. most of them don't care about logging... -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 11 Mar 2019 05:55:06 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:10:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:10:50 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13091 ) Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level ...................................................................... Patch Set 1: > I like having a more sane default. However, that's the kind of > change that needs a BIG FAT warning in documentation, change log, > etc. We do have users that rely on the current behavior (in fact, > it was implemented the current way for one of our main > contributors). Please make sure the manuals and TODO-RELEASE > mention it. I see, perhaps we should then try to establish 5,90K as safe default setting to preserve the current behavior. I will test this and then get back. -- To view, visit https://gerrit.osmocom.org/13091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Gerrit-Change-Number: 13091 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 09:10:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:26:23 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:26:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: cosmetic: correct typo in comment In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13155 ) Change subject: mgcp_sdp: cosmetic: correct typo in comment ...................................................................... mgcp_sdp: cosmetic: correct typo in comment Change-Id: I42aa9b5ce36df347cfb72be97e0f7a1898e6e8d0 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 4f66e85..85b8801 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -304,7 +304,7 @@ return 0; } -/* Add audio string to sdp payload */ +/* Add audio strings to sdp payload */ static int add_audio(struct msgb *sdp, int *payload_types, unsigned int payload_types_len, int local_port) { int rc; -- To view, visit https://gerrit.osmocom.org/13155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I42aa9b5ce36df347cfb72be97e0f7a1898e6e8d0 Gerrit-Change-Number: 13155 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:30:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:30:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: untangle parsing of a= parameters In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13157 to look at the new patch set (#2). Change subject: mgcp_sdp: untangle parsing of a= parameters ...................................................................... mgcp_sdp: untangle parsing of a= parameters The if construct that takes care for parsing the a= parameters is unnecessary complex. Lets handle each of the possible parameters seperately on the same level. Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Related: OS#3807 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/57/13157/2 -- To view, visit https://gerrit.osmocom.org/13157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Gerrit-Change-Number: 13157 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:30:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:30:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13158 to look at the new patch set (#2). Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... mgcp_network: use mgcp_rtp_codec in downlink format callback The callback function mgcp_get_format() is used to request the codec parameters for a specific connection. This function returns the parameters as idividual pointers. Since there is a struct that holds all important codec information among the ones which are currently returned by mgcp_get_format, lets just use this codec struct as single return value. Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Related: OS#3807 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_internal.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/58/13158/2 -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:30:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:30:43 +0000 Subject: Change in osmo-mgw[master]: AMR: Add function to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13159 to look at the new patch set (#2). Change subject: AMR: Add function to convert between bw-effient and octet aligned mode ...................................................................... AMR: Add function to convert between bw-effient and octet aligned mode RFC3267 specifies two framing modes for AMR packets. An octet aligned mode is specified where all fields of the AMR packets are aligned to octet boundaries. The second framing mode is the bandwith efficient mode where the fields are directly packed one after another. - add paring/generation functions for related SDP fmtp parameters - add conversion function to convert AMR payload Depends: libosmo-netif I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Related: OS#3807 --- M include/osmocom/mgcp/mgcp_codec.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_internal.h M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_fsm.c M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 13 files changed, 377 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/59/13159/2 -- To view, visit https://gerrit.osmocom.org/13159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Gerrit-Change-Number: 13159 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:30:45 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:30:45 +0000 Subject: Change in osmo-mgw[master]: mgco_client: cosmetic: remove excess whitespace Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13198 Change subject: mgco_client: cosmetic: remove excess whitespace ...................................................................... mgco_client: cosmetic: remove excess whitespace Change-Id: I54d70d8dfd7b4e1d3db892ec553eb78c6792d520 --- M include/osmocom/mgcp_client/mgcp_client.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/98/13198/1 diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index e09a446..5650fc2 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -37,7 +37,7 @@ CODEC_PCMA_8000_1 = 8, CODEC_G729_8000_1 = 18, CODEC_GSMEFR_8000_1 = 110, - CODEC_GSMHR_8000_1 = 111, + CODEC_GSMHR_8000_1 = 111, CODEC_AMR_8000_1 = 112, CODEC_AMRWB_16000_1 = 113, }; -- To view, visit https://gerrit.osmocom.org/13198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I54d70d8dfd7b4e1d3db892ec553eb78c6792d520 Gerrit-Change-Number: 13198 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 09:37:08 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 09:37:08 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13199 Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC MGCP/SDP provides fmtp parameters in order to signal which of the two available AMR framing modes (octet-aligned or bandwith-efficient) should be used on the link between BSS and core network. osmo-bsc currently does not set up this mode which means that the RTP packets from the BTS are forwared without inspection/modification, which may lead to malfunction when a BTS is using a framing mode that is not supported by the other end. - Add VTY option to setup the framing mode - Generate related fmtp parameters in SDP Depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Related OS#3807 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/mgw_endpoint_fsm.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/13199/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 0c2094e..65a0dd3 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -91,6 +91,7 @@ /* audio codecs */ struct gsm48_multi_rate_conf amr_conf; + bool amr_octet_aligned; struct gsm_audio_support **audio_support; int audio_length; enum bsc_lcls_mode lcls_mode; diff --git a/src/osmo-bsc/mgw_endpoint_fsm.c b/src/osmo-bsc/mgw_endpoint_fsm.c index fc49886..5462914 100644 --- a/src/osmo-bsc/mgw_endpoint_fsm.c +++ b/src/osmo-bsc/mgw_endpoint_fsm.c @@ -34,6 +34,7 @@ #include #include #include +#include #define LOG_CI(ci, level, fmt, args...) do { \ if (!ci || !ci->mgwep) \ @@ -774,4 +775,22 @@ verb_info->ptmap[0].pt = custom_pt; verb_info->ptmap_len = 1; } + + /* AMR requires additional parameters to be set up (framing mode) */ + if (verb_info->codecs[0] == CODEC_AMR_8000_1) { + verb_info->param_present = true; + verb_info->param.amr_octet_aligned_present = true; + } + + if (bss_side && verb_info->codecs[0] == CODEC_AMR_8000_1) { + /* FIXME: At the moment all BTSs we support are using the + * octet-aligned payload format. However, in the future + * we may support BTSs that are using bandwith-efficient + * format. In this case we will have to add functionality + * that distinguishes by the BTS model which mode to use. */ + verb_info->param.amr_octet_aligned = true; + } + else if (!bss_side && verb_info->codecs[0] == CODEC_AMR_8000_1) { + verb_info->param.amr_octet_aligned = lchan->conn->sccp.msc->amr_octet_aligned; + } } diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 6e3d1c1..78196cf 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -100,6 +100,11 @@ WRITE_AMR(vty, msc, "5_15k", m5_15); WRITE_AMR(vty, msc, "4_75k", m4_75); #undef WRITE_AMR + + if (msc->amr_octet_aligned) + vty_out(vty, " amr-payload octet-aligned%s", VTY_NEWLINE); + else + vty_out(vty, " amr-payload bandwith-efficient%s", VTY_NEWLINE); } static void write_msc(struct vty *vty, struct bsc_msc_data *msc) @@ -952,6 +957,23 @@ ALIAS_DEPRECATED(cfg_net_msc_dest, cfg_net_msc_no_dest_cmd, "no dest A.B.C.D <1-65000> <0-255>", NO_STR LEGACY_STR "-\n" "-\n" "-\n"); +DEFUN(cfg_net_msc_amr_octet_align, + cfg_net_msc_amr_octet_align_cmd, + "amr-payload (octet-aligned|bandwith-efficient", + "Set AMR payload framing mode\n" + "payload fields aligned on octet boundaries\n" + "payload fields packed (AoIP)\n") +{ + struct bsc_msc_data *data = bsc_msc_data(vty); + + if (strcmp(argv[0], "octet-aligned") == 0) + data->amr_octet_aligned = true; + else if (strcmp(argv[0], "bandwith-efficient") == 0) + data->amr_octet_aligned = false; + + return CMD_SUCCESS; +} + int bsc_vty_init_extra(void) { struct gsm_network *net = bsc_gsmnet; @@ -996,6 +1018,7 @@ install_element(MSC_NODE, &cfg_net_msc_amr_5_90_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_5_15_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_4_75_cmd); + install_element(MSC_NODE, &cfg_net_msc_amr_octet_align_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mode_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mismtch_cmd); install_element(MSC_NODE, &cfg_msc_acc_lst_name_cmd); -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:33:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 11 Mar 2019 10:33:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: untangle parsing of a= parameters In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13157 ) Change subject: mgcp_sdp: untangle parsing of a= parameters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Gerrit-Change-Number: 13157 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 10:33:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:34:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 11 Mar 2019 10:34:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13158 ) Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13158/1/include/osmocom/mgcp/mgcp.h File include/osmocom/mgcp/mgcp.h: https://gerrit.osmocom.org/#/c/13158/1/include/osmocom/mgcp/mgcp.h at 83 PS1, Line 83: struct mgcp_rtp_codec; > why do you move mgcp_conn_rtp upwards and leave it this one here? lol my comment was more in the direction of moving both upwards and not downwards, but fine. -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 10:34:44 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:34:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 11 Mar 2019 10:34:49 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13158 ) Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 10:34:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:35:05 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 11 Mar 2019 10:35:05 +0000 Subject: Change in osmo-mgw[master]: mgco_client: cosmetic: remove excess whitespace In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13198 ) Change subject: mgco_client: cosmetic: remove excess whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I54d70d8dfd7b4e1d3db892ec553eb78c6792d520 Gerrit-Change-Number: 13198 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 10:35:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:48:17 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 10:48:17 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13091 to look at the new patch set (#3). Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on MSC level The current default configuration for permitted AMR rates on MSC level is not very useful since it only supports a single rate and neglects Config-NB-Code = 1, which includes the four most common AMR rates (12.2, 7.4, 5.9, 4.75) Lets make sure that those rates are are the default for the MSC configuration. Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Related: SYS#4470 --- M src/osmo-bsc/osmo_bsc_msc.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/13091/3 -- To view, visit https://gerrit.osmocom.org/13091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Gerrit-Change-Number: 13091 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:48:17 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 10:48:17 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13092 to look at the new patch set (#3). Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on BTS level The current configuration for permittet AMR rates on BTS level contradicts the default settings of the AMR rates for MSC level. Lets make sure that the BTS default matches the default config on MSC level. Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Related: SYS#4470 --- M src/osmo-bsc/gsm_data.c 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/13092/3 -- To view, visit https://gerrit.osmocom.org/13092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Gerrit-Change-Number: 13092 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:56:28 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 10:56:28 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13091 ) Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level ...................................................................... Patch Set 3: > I like having a more sane default. However, that's the kind of > change that needs a BIG FAT warning in documentation, change log, > etc. We do have users that rely on the current behavior (in fact, > it was implemented the current way for one of our main > contributors). Please make sure the manuals and TODO-RELEASE > mention it. I have checked it. It works also fine with the current default configuration. I have now detached the two patches that change the default behavior from the amrmangle branch so that we can decide on them separately. However, I think its probably better to abandon the change than risking to mess things up. -- To view, visit https://gerrit.osmocom.org/13091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Gerrit-Change-Number: 13091 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 10:56:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:57:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 10:57:15 +0000 Subject: Change in osmo-mgw[master]: mgco_client: cosmetic: remove excess whitespace In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13198 ) Change subject: mgco_client: cosmetic: remove excess whitespace ...................................................................... mgco_client: cosmetic: remove excess whitespace Change-Id: I54d70d8dfd7b4e1d3db892ec553eb78c6792d520 --- M include/osmocom/mgcp_client/mgcp_client.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index e09a446..5650fc2 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -37,7 +37,7 @@ CODEC_PCMA_8000_1 = 8, CODEC_G729_8000_1 = 18, CODEC_GSMEFR_8000_1 = 110, - CODEC_GSMHR_8000_1 = 111, + CODEC_GSMHR_8000_1 = 111, CODEC_AMR_8000_1 = 112, CODEC_AMRWB_16000_1 = 113, }; -- To view, visit https://gerrit.osmocom.org/13198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I54d70d8dfd7b4e1d3db892ec553eb78c6792d520 Gerrit-Change-Number: 13198 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 10:58:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 10:58:44 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: clarify decoding of incomplete xCCH blocks In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13197 ) Change subject: trxcon/scheduler: clarify decoding of incomplete xCCH blocks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 Gerrit-Change-Number: 13197 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 11 Mar 2019 10:58:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 11:00:01 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 11:00:01 +0000 Subject: Change in libosmo-abis[master]: ipa: Make ipa_server_conn_destroy() re-entrant In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13195 ) Change subject: ipa: Make ipa_server_conn_destroy() re-entrant ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6 Gerrit-Change-Number: 13195 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 11:00:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Mar 11 11:04:36 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 11 Mar 2019 11:04:36 +0000 Subject: Build failure of network:osmocom:nightly/orcania in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5c8640dce446b_772612a660015125a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/xUbuntu_16.04/i586 Package network:osmocom:nightly/orcania failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 80s] dpkg-source: info: extracting orcania in /usr/src/packages/BUILD [ 80s] dpkg-source: info: unpacking orcania_1.2.9.orig.tar.gz [ 80s] dpkg-source: info: unpacking orcania_1.2.9-5.debian.tar.xz [ 80s] ----------------------------------------------------------------- [ 80s] ----- building orcania_1.2.9-5.dsc (user abuild) [ 80s] ----------------------------------------------------------------- [ 80s] ----------------------------------------------------------------- [ 81s] dpkg-buildpackage: source package orcania [ 81s] dpkg-buildpackage: source version 1.2.9-5 [ 81s] dpkg-buildpackage: source distribution unstable [ 81s] dpkg-buildpackage: source changed by Nicolas Mora [ 81s] dpkg-source --before-build BUILD [ 81s] dpkg-buildpackage: host architecture i386 [ 81s] fakeroot debian/rules clean [ 81s] dh clean --buildsystem=cmake --builddirectory=build [ 81s] dh: Sorry, but 10 is the highest compatibility level supported by this debhelper. [ 81s] debian/rules:13: recipe for target 'clean' failed [ 81s] make: *** [clean] Error 25 [ 81s] dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2 [ 81s] [ 81s] lamb25 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 11:04:21 UTC 2019. [ 81s] [ 81s] ### VM INTERACTION START ### [ 84s] [ 72.666498] sysrq: SysRq : Power Off [ 84s] [ 72.672610] reboot: Power down [ 84s] ### VM INTERACTION END ### [ 84s] [ 84s] lamb25 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 11:04:24 UTC 2019. [ 84s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 11 11:04:58 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 11 Mar 2019 11:04:58 +0000 Subject: Build failure of network:osmocom:nightly/orcania in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5c8640fcafd73_772612a66001512686@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/orcania failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 88s] dpkg-source: info: extracting orcania in /usr/src/packages/BUILD [ 88s] dpkg-source: info: unpacking orcania_1.2.9.orig.tar.gz [ 88s] dpkg-source: info: unpacking orcania_1.2.9-5.debian.tar.xz [ 88s] ----------------------------------------------------------------- [ 88s] ----- building orcania_1.2.9-5.dsc (user abuild) [ 88s] ----------------------------------------------------------------- [ 88s] ----------------------------------------------------------------- [ 88s] dpkg-buildpackage: source package orcania [ 88s] dpkg-buildpackage: source version 1.2.9-5 [ 88s] dpkg-buildpackage: source distribution unstable [ 88s] dpkg-buildpackage: source changed by Nicolas Mora [ 88s] dpkg-source --before-build BUILD [ 88s] dpkg-buildpackage: host architecture amd64 [ 88s] fakeroot debian/rules clean [ 88s] dh clean --buildsystem=cmake --builddirectory=build [ 88s] dh: Sorry, but 10 is the highest compatibility level supported by this debhelper. [ 88s] debian/rules:13: recipe for target 'clean' failed [ 88s] make: *** [clean] Error 25 [ 88s] dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2 [ 88s] [ 88s] lamb03 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 11:04:42 UTC 2019. [ 88s] [ 88s] ### VM INTERACTION START ### [ 92s] [ 79.365486] sysrq: SysRq : Power Off [ 92s] [ 79.377959] reboot: Power down [ 92s] ### VM INTERACTION END ### [ 92s] [ 92s] lamb03 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 11:04:46 UTC 2019. [ 92s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 11 11:56:54 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 11 Mar 2019 11:56:54 +0000 Subject: Build failure of network:osmocom:nightly/orcania in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c864d0c86aa0_772612a660015294b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/Raspbian_9.0/armv7l Package network:osmocom:nightly/orcania failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 162s] Processing triggers for man-db (2.7.6.1-2) ... [ 162s] [172/225] installing perl-5.24.1-3+deb9u5 [ 163s] update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode [ 163s] Processing triggers for man-db (2.7.6.1-2) ... [ 163s] [173/225] installing gnupg-2.1.18-8~deb9u4 [ 164s] Processing triggers for man-db (2.7.6.1-2) ... [ 165s] [174/225] installing libcurl3-7.52.1-5+deb9u9 [ 165s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 165s] [175/225] installing libarchive-zip-perl-1.59-1+deb9u1 [ 165s] Processing triggers for man-db (2.7.6.1-2) ... [ 166s] [176/225] installing libtimedate-perl-2.3000-2 [ 166s] Processing triggers for man-db (2.7.6.1-2) ... [ 166s] [177/225] installing raspbian-archive-keyring-20120528.2 [ 166s] /var/lib/dpkg/info/raspbian-archive-keyring.postinst: 8: /var/lib/dpkg/info/raspbian-archive-keyring.postinst: apt-key: not found [ 166s] dpkg: error processing package raspbian-archive-keyring (--install): [ 166s] subprocess installed post-installation script returned error exit status 127 [ 166s] Errors were encountered while processing: [ 166s] raspbian-archive-keyring [ 166s] exit ... [ 166s] [ 166s] armbuild15 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 11:56:44 UTC 2019. [ 166s] [ 166s] ### VM INTERACTION START ### [ 170s] [ 113.368663] sysrq: SysRq : Power Off [ 170s] [ 113.371372] reboot: Power down [ 170s] ### VM INTERACTION END ### [ 170s] [ 170s] armbuild15 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 11:56:48 UTC 2019. [ 170s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 11 12:29:12 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 11 Mar 2019 12:29:12 +0000 Subject: Build failure of network:osmocom:nightly/orcania in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c8654af3ed6d_772612a66001580840@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/Raspbian_9.0/armv7l Package network:osmocom:nightly/orcania failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 133s] Processing triggers for man-db (2.7.6.1-2) ... [ 133s] [172/225] installing perl-5.24.1-3+deb9u5 [ 134s] update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode [ 134s] Processing triggers for man-db (2.7.6.1-2) ... [ 134s] [173/225] installing gnupg-2.1.18-8~deb9u4 [ 134s] Processing triggers for man-db (2.7.6.1-2) ... [ 135s] [174/225] installing libcurl3-7.52.1-5+deb9u9 [ 135s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 135s] [175/225] installing libarchive-zip-perl-1.59-1+deb9u1 [ 135s] Processing triggers for man-db (2.7.6.1-2) ... [ 135s] [176/225] installing libtimedate-perl-2.3000-2 [ 136s] Processing triggers for man-db (2.7.6.1-2) ... [ 136s] [177/225] installing raspbian-archive-keyring-20120528.2 [ 136s] /var/lib/dpkg/info/raspbian-archive-keyring.postinst: 8: /var/lib/dpkg/info/raspbian-archive-keyring.postinst: apt-key: not found [ 136s] dpkg: error processing package raspbian-archive-keyring (--install): [ 136s] subprocess installed post-installation script returned error exit status 127 [ 136s] Errors were encountered while processing: [ 136s] raspbian-archive-keyring [ 136s] exit ... [ 136s] [ 136s] armbuild16 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 12:29:05 UTC 2019. [ 136s] [ 136s] ### VM INTERACTION START ### [ 139s] [ 94.654035] sysrq: SysRq : Power Off [ 139s] [ 94.658613] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] armbuild16 failed "build orcania_1.2.9-5.dsc" at Mon Mar 11 12:29:08 UTC 2019. [ 139s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:15:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:15:35 +0000 Subject: Change in libosmo-abis[master]: ipa: Make ipa_server_conn_destroy() re-entrant In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13195 ) Change subject: ipa: Make ipa_server_conn_destroy() re-entrant ...................................................................... ipa: Make ipa_server_conn_destroy() re-entrant In some situations, the user code called by the closed_cb call-back might be tempted to call itself ipa_server_conn_destroy(), which would lead to a double-llist_del during osmo_fd_unregister() and also a subsequent double talloc_free(). Let's prevent such misuse by existing early in such situations. Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6 --- M src/input/ipa.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Max: Looks good to me, approved diff --git a/src/input/ipa.c b/src/input/ipa.c index e41ec42..25eeb4a 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -503,7 +503,12 @@ void ipa_server_conn_destroy(struct ipa_server_conn *conn) { + /* make the function re-entrant in case closed_cb() below somehow + * calls again into this destructor */ + if (conn->ofd.fd == -1) + return; close(conn->ofd.fd); + conn->ofd.fd = -1; msgb_free(conn->pending_msg); osmo_fd_unregister(&conn->ofd); if (conn->closed_cb) -- To view, visit https://gerrit.osmocom.org/13195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6 Gerrit-Change-Number: 13195 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:17:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:17:32 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: mgcp_sdp.c does not include own header file In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13156 ) Change subject: mgcp_sdp: mgcp_sdp.c does not include own header file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3d9f28d6e7ca027b1be25d775a6a75d0fc491a50 Gerrit-Change-Number: 13156 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 13:17:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:17:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:17:33 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: mgcp_sdp.c does not include own header file In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13156 ) Change subject: mgcp_sdp: mgcp_sdp.c does not include own header file ...................................................................... mgcp_sdp: mgcp_sdp.c does not include own header file The header file mgcp_sdp.h is not included by mgcp_sdp.c. Lets include it here as well in order to be complete. Change-Id: I3d9f28d6e7ca027b1be25d775a6a75d0fc491a50 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 85b8801..c84f32c 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -26,6 +26,7 @@ #include #include #include +#include #include -- To view, visit https://gerrit.osmocom.org/13156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3d9f28d6e7ca027b1be25d775a6a75d0fc491a50 Gerrit-Change-Number: 13156 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:17:52 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: untangle parsing of a= parameters In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13157 ) Change subject: mgcp_sdp: untangle parsing of a= parameters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Gerrit-Change-Number: 13157 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 13:17:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:17:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:17:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_sdp: untangle parsing of a= parameters In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13157 ) Change subject: mgcp_sdp: untangle parsing of a= parameters ...................................................................... mgcp_sdp: untangle parsing of a= parameters The if construct that takes care for parsing the a= parameters is unnecessary complex. Lets handle each of the possible parameters seperately on the same level. Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Related: OS#3807 --- M src/libosmo-mgcp/mgcp_sdp.c 1 file changed, 11 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index c84f32c..9252b98 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -208,19 +208,22 @@ /* skip these SDP attributes */ break; case 'a': - if (sscanf(line, "a=rtpmap:%d %63s", - &payload, audio_name) == 2) { - codecs_update(tmp_ctx, codecs, - codecs_used, payload, audio_name); - } else - if (sscanf - (line, "a=ptime:%d-%d", &ptime, &ptime2) >= 1) { + if (sscanf(line, "a=rtpmap:%d %63s", &payload, audio_name) == 2) { + codecs_update(tmp_ctx, codecs, codecs_used, payload, audio_name); + break; + } + + if (sscanf(line, "a=ptime:%d-%d", &ptime, &ptime2) >= 1) { if (ptime2 > 0 && ptime2 != ptime) rtp->packet_duration_ms = 0; else rtp->packet_duration_ms = ptime; - } else if (sscanf(line, "a=maxptime:%d", &ptime2) == 1) { + break; + } + + if (sscanf(line, "a=maxptime:%d", &ptime2) == 1) { rtp->maximum_packet_time = ptime2; + break; } break; case 'm': -- To view, visit https://gerrit.osmocom.org/13157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifc801a757e9beb6b3974863d5ee99fc7c194559e Gerrit-Change-Number: 13157 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:18:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:18:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13158 ) Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 13:18:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:18:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:18:20 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: use mgcp_rtp_codec in downlink format callback In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13158 ) Change subject: mgcp_network: use mgcp_rtp_codec in downlink format callback ...................................................................... mgcp_network: use mgcp_rtp_codec in downlink format callback The callback function mgcp_get_format() is used to request the codec parameters for a specific connection. This function returns the parameters as idividual pointers. Since there is a struct that holds all important codec information among the ones which are currently returned by mgcp_get_format, lets just use this codec struct as single return value. Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Related: OS#3807 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_internal.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 13 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 5886a65..71d6342 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -81,10 +81,11 @@ struct mgcp_conn_rtp *conn_dst, struct mgcp_conn_rtp *conn_src); +struct mgcp_rtp_codec; + typedef void (*mgcp_get_format)(struct mgcp_endpoint *endp, - int *payload_type, - const char**subtype_name, - const char**fmtp_extra, + const struct mgcp_rtp_codec **codec, + const char **fmtp_extra, struct mgcp_conn_rtp *conn); /** diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index a6239c2..35b535a 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -298,9 +298,8 @@ struct mgcp_conn_rtp *conn_src); void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, - int *payload_type, - const char**audio_name, - const char**fmtp_extra, + const struct mgcp_rtp_codec **codec, + const char **fmtp_extra, struct mgcp_conn_rtp *conn); /* internal RTP Annex A counting */ diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 30ed7fd..e4fd7c0 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -416,8 +416,7 @@ } void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp, - int *payload_type, - const char **audio_name, + const struct mgcp_rtp_codec **codec, const char **fmtp_extra, struct mgcp_conn_rtp *conn) { @@ -425,8 +424,7 @@ "endpoint:0x%x conn:%s using format defaults\n", ENDPOINT_NUMBER(endp), mgcp_conn_dump(conn->conn)); - *payload_type = conn->end.codec->payload_type; - *audio_name = conn->end.codec->audio_name; + *codec = conn->end.codec; *fmtp_extra = conn->end.fmtp_extra; } diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 9252b98..3287cd1 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -344,6 +344,7 @@ const struct mgcp_conn_rtp *conn, struct msgb *sdp, const char *addr) { + const struct mgcp_rtp_codec *codec; const char *fmtp_extra; const char *audio_name; int payload_type; @@ -357,10 +358,12 @@ /* FIXME: constify endp and conn args in get_net_donwlink_format_cb() */ endp->cfg->get_net_downlink_format_cb((struct mgcp_endpoint *)endp, - &payload_type, &audio_name, - &fmtp_extra, + &codec, &fmtp_extra, (struct mgcp_conn_rtp *)conn); + audio_name = codec->audio_name; + payload_type = codec->payload_type; + rc = msgb_printf(sdp, "v=0\r\n" "o=- %s 23 IN IP4 %s\r\n" -- To view, visit https://gerrit.osmocom.org/13158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I348f9141eb59ed1a986447b96ab4a24ddf326936 Gerrit-Change-Number: 13158 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:18:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 13:18:48 +0000 Subject: Change in osmo-bsc[master]: codec_pref: purify S-Bits In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13093 to look at the new patch set (#4). Change subject: codec_pref: purify S-Bits ...................................................................... codec_pref: purify S-Bits WHen the resulting intersection (MSC/BSC) of the S15 to S0 bits indicates that "Config-NB-Code = 1" (S1 = 1) shall be used, then make sure that all other single rate modes are set to zero. Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Related: SYS#4470 --- M src/osmo-bsc/codec_pref.c M tests/codec_pref/codec_pref_test.ok 2 files changed, 14 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/13093/4 -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:18:49 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 13:18:49 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: copy old S15_S0 to new lchan Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13200 Change subject: handover_fsm: copy old S15_S0 to new lchan ...................................................................... handover_fsm: copy old S15_S0 to new lchan When a new lchan is selected during handover, some of the properties of the old lchan are inherited by the new lchan. At the moment S15-S0 is not not inherited so that the value for those bits will always be 0x0000 for the new lchan. Since those bits also define the active set AMR codec the channel activation will fail because 0x0000 is invalid (active set with zero rates) Change-Id: Ifd470397e99985394634da1bb13ccfc5041984d2 Related: OS#3503 --- M src/osmo-bsc/handover_fsm.c M tests/handover/handover_test.c 2 files changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/13200/1 diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 30297f6..a3d25d6 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -362,6 +362,7 @@ .msc_assigned_cic = conn->ho.inter_bsc_in.msc_assigned_cic, .re_use_mgw_endpoint_from_lchan = conn->lchan, .wait_before_switching_rtp = true, + .s15_s0 = conn->lchan->activate.info.s15_s0, }; lchan_activate(ho->new_lchan, &info); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6217ca3..cd3b749 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -276,9 +276,10 @@ lchan->tch_mode = GSM48_CMODE_SPEECH_V1; else if (!strcasecmp(codec, "EFR") && full_rate) lchan->tch_mode = GSM48_CMODE_SPEECH_EFR; - else if (!strcasecmp(codec, "AMR")) + else if (!strcasecmp(codec, "AMR")) { lchan->tch_mode = GSM48_CMODE_SPEECH_AMR; - else { + lchan->activate.info.s15_s0 = 0x0002; + } else { printf("Given codec unknown\n"); exit(EXIT_FAILURE); } -- To view, visit https://gerrit.osmocom.org/13200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifd470397e99985394634da1bb13ccfc5041984d2 Gerrit-Change-Number: 13200 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:19:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:19:43 +0000 Subject: Change in libosmo-netif[master]: AMR: add define constants for AMR payload length In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13078 ) Change subject: AMR: add define constants for AMR payload length ...................................................................... AMR: add define constants for AMR payload length AMR uses different payload sizes, those sizes are well defined in RFC 3267. Lets add define constants and replace the magic values with the define constants. Also correct the value for AMR_FT_SID in amr_ft_to_bytes from 6 to 5 (39bits / 8 = 4.875 bytes ==> 5 byte, see also RFC 3267, chapter 3.6) Change-Id: I65b5da920d58015b875d6dcf17aacdc04b58955e --- M include/osmocom/netif/amr.h M src/amr.c 2 files changed, 21 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index 5b48bcb..1f048b1 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -83,6 +83,18 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 +/* AMR voice frame length (in bytes, rounded), + * See also RFC 3267, chapter 3.6 */ +#define AMR_FT_0_LEN 12 /* 4.75 */ +#define AMR_FT_1_LEN 13 /* 5.15 */ +#define AMR_FT_2_LEN 15 /* 5.90 */ +#define AMR_FT_3_LEN 17 /* 6.70 */ +#define AMR_FT_4_LEN 19 /* 7.40 */ +#define AMR_FT_5_LEN 20 /* 7.95 */ +#define AMR_FT_6_LEN 26 /* 10.2 */ +#define AMR_FT_7_LEN 31 /* 12.2 */ +#define AMR_FT_SID_LEN 5 /* SID */ + int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index 6f94a69..06cf429 100644 --- a/src/amr.c +++ b/src/amr.c @@ -28,15 +28,15 @@ */ static size_t amr_ft_to_bytes[AMR_FT_MAX] = { - [AMR_FT_0] = 12, - [AMR_FT_1] = 13, - [AMR_FT_2] = 15, - [AMR_FT_3] = 17, - [AMR_FT_4] = 19, - [AMR_FT_5] = 20, - [AMR_FT_6] = 26, - [AMR_FT_7] = 31, - [AMR_FT_SID] = 6, + [AMR_FT_0] = AMR_FT_0_LEN, + [AMR_FT_1] = AMR_FT_1_LEN, + [AMR_FT_2] = AMR_FT_2_LEN, + [AMR_FT_3] = AMR_FT_3_LEN, + [AMR_FT_4] = AMR_FT_4_LEN, + [AMR_FT_5] = AMR_FT_5_LEN, + [AMR_FT_6] = AMR_FT_6_LEN, + [AMR_FT_7] = AMR_FT_7_LEN, + [AMR_FT_SID] = AMR_FT_SID_LEN, }; size_t osmo_amr_bytes(uint8_t amr_ft) -- To view, visit https://gerrit.osmocom.org/13078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I65b5da920d58015b875d6dcf17aacdc04b58955e Gerrit-Change-Number: 13078 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:19:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:19:43 +0000 Subject: Change in libosmo-netif[master]: AMR: add functions to convert between bw-efficient and octet-aligned In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13049 ) Change subject: AMR: add functions to convert between bw-efficient and octet-aligned ...................................................................... AMR: add functions to convert between bw-efficient and octet-aligned RFC 3267 describes two different AMR frame formats. Octet Aligned and Bandwidth efficient mode. In Bandwith efficient mode the padding bits, which are used to align CMR, TOC and payload on octet boundaries are saved and the fielda are packed directly one after another. - Add functions to convert from one mode to the other and vice versa. - Add function to detect in which mode an AMR frame is encoded. Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Related: SYS#4470 --- M include/osmocom/netif/amr.h M src/amr.c M tests/Makefile.am A tests/amr/amr_test.c A tests/amr/amr_test.ok M tests/testsuite.at 6 files changed, 612 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index 1f048b1..46ec86a 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -95,7 +95,15 @@ #define AMR_FT_7_LEN 31 /* 12.2 */ #define AMR_FT_SID_LEN 5 /* SID */ +/* NOTE: the above constant refers to the length of one AMR speech frame-block, + * not counting CMR, TOC. */ + int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); +bool osmo_amr_is_oa(uint8_t *payload, unsigned int payload_len); +int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len); +int osmo_amr_bwe_to_oa(uint8_t *payload, unsigned int payload_len, + unsigned int payload_maxlen); + #endif diff --git a/src/amr.c b/src/amr.c index 06cf429..d3f7b38 100644 --- a/src/amr.c +++ b/src/amr.c @@ -12,6 +12,8 @@ #include #include +#include +#include #include /* According to TS 26.101: @@ -62,3 +64,113 @@ return 1; } + +/*! Check if an AMR frame is octet aligned by looking at the padding bits. + * \param[inout] payload user provided memory containing the AMR payload. + * \param[in] payload_len overall length of the AMR payload. + * \returns true when the payload is octet aligned. */ +bool osmo_amr_is_oa(uint8_t *payload, unsigned int payload_len) +{ + /* NOTE: The distinction between octet-aligned and bandwith-efficient + * mode normally relys on out of band methods that explicitly select + * one of the two modes. (See also RFC 3267, chapter 3.8). However the + * A interface in GSM does not provide ways to communicate which mode + * is used exactly used. The following functions uses some heuristics + * to check if an AMR payload is octet aligned or not. */ + + struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int frame_len; + + /* Broken payload? */ + if (!payload || payload_len < 2) + return false; + + /* In octet aligned mode, padding bits are specified to be + * set to zero. (However, there is a remaining risk that the FT0 or FT1 + * is selected and the first two bits of the frame are zero as well, + * in this case a bandwith-efficient mode payload would look like an + * octet-aligned payload, thats why additional checks are required.) */ + if (oa_hdr->pad1 != 0) + return false; + if (oa_hdr->pad2 != 0) + return false; + + /* This implementation is limited to single-frame payloads only and + * since multi-frame payloads are not common in GSM anyway, we may + * include the final bit of the first header into this check. */ + if (oa_hdr->f != 0) + return false; + + /* Match the length of the received payload against the expected frame + * length that is defined by the frame type. */ + if(!osmo_amr_ft_valid(oa_hdr->ft)) + return false; + frame_len = osmo_amr_bytes(oa_hdr->ft); + if (frame_len != payload_len - 2) + return false; + + return true; +} + +/*! Convert an AMR frame from octet-aligned mode to bandwith-efficient mode. + * \param[inout] payload user provided memory containing the AMR payload. + * \param[in] payload_len overall length of the AMR payload. + * \returns resulting payload length, -1 on error. */ +int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) +{ + struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int frame_len = payload_len - 2; + unsigned int i; + + /* This implementation is not capable to handle multi-frame + * packets, so we need to make sure that the frame we operate on + * contains only one payload. */ + if (oa_hdr->f != 0) + return -1; + + /* Move TOC close to CMR */ + payload[0] |= (payload[1] >> 4) & 0x0f; + payload[1] = (payload[1] << 4) & 0xf0; + + for (i = 0; i < frame_len; i++) { + payload[i + 1] |= payload[i + 2] >> 2; + payload[i + 2] = payload[i + 2] << 6; + } + + /* The overall saving is one byte! */ + return payload_len - 1; +} + +/*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. + * \param[inout] payload user provided memory containing the AMR payload. + * \param[in] payload_len overall length of the AMR payload. + * \param[in] payload_maxlen maximum length of the user provided memory. + * \returns resulting payload length, -1 on error. */ +int osmo_amr_bwe_to_oa(uint8_t *payload, unsigned int payload_len, + unsigned int payload_maxlen) +{ + uint8_t buf[256]; + unsigned int frame_len = payload_len - 1; + unsigned int i; + + memset(buf, 0, sizeof(buf)); + + if (payload_len + 1 > payload_maxlen) + return -1; + + if (payload_len > sizeof(buf)) + return -1; + + buf[0] = payload[0] & 0xf0; + buf[1] = payload[0] << 4; + buf[1] |= (payload[1] >> 4) & 0x0c; + + for (i = 0; i < frame_len -1; i++) { + buf[i + 2] = payload[i + 1] << 2; + buf[i + 2] |= payload[i + 2] >> 6; + } + buf[i + 2] = payload[i + 1] << 2; + + memcpy(payload, buf, payload_len + 1); + return payload_len + 1; +} diff --git a/tests/Makefile.am b/tests/Makefile.am index c3628ac..36447be 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,7 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g AM_LDFLAGS = $(LIBOSMOCORE_LDFLAGS) -check_PROGRAMS = osmux/osmux_test osmux/osmux_test2 stream/stream_test jibuf/jibuf_test +check_PROGRAMS = osmux/osmux_test osmux/osmux_test2 stream/stream_test jibuf/jibuf_test amr/amr_test check_HEADERS = osmux_osmux_test_SOURCES = osmux/osmux_test.c @@ -17,6 +17,9 @@ jibuf_jibuf_test_SOURCES = jibuf/jibuf_test.c jibuf_jibuf_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la +amr_amr_test_SOURCES = amr/amr_test.c +amr_amr_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la + if HAVE_PCAP check_PROGRAMS += jibuf/jibuf_tool check_HEADERS += \ @@ -63,7 +66,9 @@ osmux/osmux_test2.ok \ stream/stream_test.ok \ stream/stream_test.err \ - jibuf/jibuf_test.ok + jibuf/jibuf_test.ok \ + amr/amr_test.ok + DISTCLEANFILES = atconfig diff --git a/tests/amr/amr_test.c b/tests/amr/amr_test.c new file mode 100644 index 0000000..fff686c --- /dev/null +++ b/tests/amr/amr_test.c @@ -0,0 +1,239 @@ +/* (C) 2017 by sysmocom - s.f.m.c. GmbH + * + * Author: Pau Espin Pedrol + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +/* Some octet aligned single-payload AMR frames on different rates */ +char *oa_amr_samples[] = { + "703c22f979890338540179209572624a0f8535871c2f7039cbf926b7e4425b6ef0", + "703c2e671f3b1b0810412d5adae61e2b2a319885c6ced4e909b4eeaa2ea0f0cd80", + "703cf8fc77356c948141686cda34d35220db719e36a359d86b64420dc64b563850", + "60344e300c0e6251342c2ae51fd8a698a945488d16c98922726f3e50", + "60341fc722c7880328a9c280030bc9755c3ef519f80000295323e000", + "60342c338655c00008efba03592419adf62478a79278b3e2d68ab0f0", + "502c98ab841e491ff7a1a555016a32a3c7f913210630", + "502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0", + "502c42b332081813d7e916e7aa5e80d7fde812b8c080", + "40240343e959c79bacd20c77501054880a718db200", + "4024172c53401e39115ceecd12606df5689bdd0ca0", + "4024f871cf48801ec427f0fc3f7318898622062200", + "20141fd4c02667c742b164aef659ffe708", + "2014197e10ead7b250bccbbf3b81887c64", + "2014e959f35fdfe5e9667ffbc088818088", + "100c4e9ba850e30d5d53d04de41e7c", + "100c6c18e7b7fff53aeb055e7d1c54", + "100c1fb967f7f1fdf547bf2e61c060", + "a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* test pattern */ + "END", +}; + +/* Some bandwith efficient single-payload AMR frames */ +char *bwe_amr_samples[] = { + "f4495c7cda8f80", + "f44aaa6c969780", + "f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4", + "f3d39a49a09e7a802852e297e8c9246aadf5a45928bfc27177fed8404d97d3b8", + "f3c2155b65131c68682079fab4810911200003b360ae0446000025f11e539dd0", + "f3c381bc7061c9f8507f6029de6115c16e5fa470c243b21b6e35dbb48bd84c00", + "a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f", /* test pattern */ + "END", +}; + +void dump_bits(uint8_t *buf, int len) +{ + unsigned int i; + if (len <= 0) { + printf("(no data)"); + return; + } + for (i = 0; i < (len * 8); i++) + printf("%u", (buf[i / 8] >> (7 - (i % 8))) & 1); + return; +} + +void osmo_amr_oa_to_bwe_test(void) +{ + uint8_t buf[256]; + unsigned int i = 0; + int len; + int rc; + + printf("\n\n"); + printf("Testing conversion from octet-aligned to bw-efficient:\n"); + + while (1) { + if (strcmp(oa_amr_samples[i], "END") == 0) + return; + printf("\n"); + printf("Sample No.: %i\n", i); + len = strlen(oa_amr_samples[i]); + + len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + printf(" octet aligned: %s\n", osmo_hexdump_nospc(buf, len)); + printf(" "); + dump_bits(buf, len); + printf("\n"); + rc = osmo_amr_oa_to_bwe(buf, len); + printf(" bw-efficient: %s\n", osmo_hexdump_nospc(buf, rc)); + printf(" "); + dump_bits(buf, rc); + printf("\n"); + printf(" rc: %i\n", rc); + + if (rc > 0) { + OSMO_ASSERT(rc == len - 1); + OSMO_ASSERT(buf[len - 1] == 0x00); + } + i++; + } +} + +void osmo_amr_bwe_to_oa_test(void) +{ + uint8_t buf[256]; + unsigned int i = 0; + int len; + int rc; + + printf("\n\n"); + printf("Testing conversion from bw-efficient to octet-aligned:\n"); + + while (1) { + if (strcmp(bwe_amr_samples[i], "END") == 0) + return; + printf("\n"); + printf("Sample No.: %i\n", i); + len = strlen(bwe_amr_samples[i]); + + len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + printf(" bw-efficient: %s\n", osmo_hexdump_nospc(buf, len)); + printf(" "); + dump_bits(buf, len); + printf("\n"); + rc = osmo_amr_bwe_to_oa(buf, len, sizeof(buf)); + printf(" octet aligned: %s\n", osmo_hexdump_nospc(buf, rc)); + printf(" "); + dump_bits(buf, rc); + printf("\n"); + printf(" rc: %i\n", rc); + + OSMO_ASSERT(rc == len + 1); + i++; + } +} + +void osmo_amr_oa_to_bwe_and_inverse_test(void) +{ + uint8_t buf[256]; + uint8_t buf_chk[256]; + + unsigned int i = 0; + int len; + int rc; + + printf("\n\n"); + printf + ("Testing conversion from octet-aligned to bw-efficient and inverse:\n"); + + while (1) { + if (strcmp(oa_amr_samples[i], "END") == 0) + return; + printf("Sample No.: %i...\n", i); + len = strlen(oa_amr_samples[i]); + + len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + memcpy(buf_chk, buf, sizeof(buf)); + + rc = osmo_amr_oa_to_bwe(buf, len); + OSMO_ASSERT(rc > 0); + rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); + OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); + i++; + } +} + +void osmo_amr_is_oa_test(void) +{ + uint8_t buf[256]; + unsigned int i; + int len; + bool is_oc; + + printf("\n\n"); + printf("Testing detection of octet-aligned mode payloads:\n"); + + i = 0; + while (1) { + if (strcmp(oa_amr_samples[i], "END") == 0) + break; + printf("Sample No.: %i ==>", i); + len = strlen(oa_amr_samples[i]); + + len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + is_oc = osmo_amr_is_oa(buf, len); + if (is_oc) + printf("octet aligned\n"); + else + printf("bandwith efficient\n"); + + i++; + } + + i = 0; + while (1) { + if (strcmp(bwe_amr_samples[i], "END") == 0) + break; + printf("Sample No.: %i ==>", i); + len = strlen(oa_amr_samples[i]); + + len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + is_oc = osmo_amr_is_oa(buf, len); + if (is_oc) + printf("octet aligned\n"); + else + printf("bandwith efficient\n"); + + i++; + } +} + +int main(int argc, char **argv) +{ + osmo_amr_oa_to_bwe_test(); + osmo_amr_bwe_to_oa_test(); + osmo_amr_oa_to_bwe_and_inverse_test(); + osmo_amr_is_oa_test(); + + fprintf(stdout, "OK: Test passed\n"); + return EXIT_SUCCESS; +} diff --git a/tests/amr/amr_test.ok b/tests/amr/amr_test.ok new file mode 100644 index 0000000..ea34fea --- /dev/null +++ b/tests/amr/amr_test.ok @@ -0,0 +1,240 @@ + + +Testing conversion from octet-aligned to bw-efficient: + +Sample No.: 0 + octet aligned: 703c22f979890338540179209572624a0f8535871c2f7039cbf926b7e4425b6ef0 + 011100000011110000100010111110010111100110001001000000110011100001010100000000010111100100100000100101010111001001100010010010100000111110000101001101011000011100011100001011110111000000111001110010111111100100100110101101111110010001000010010110110110111011110000 + bw-efficient: 73c8be5e6240ce15005e48255c989283e14d61c70bdc0e72fe49adf91096dbbc + 0111001111001000101111100101111001100010010000001100111000010101000000000101111001001000001001010101110010011000100100101000001111100001010011010110000111000111000010111101110000001110011100101111111001001001101011011111100100010000100101101101101110111100 + rc: 32 + +Sample No.: 1 + octet aligned: 703c2e671f3b1b0810412d5adae61e2b2a319885c6ced4e909b4eeaa2ea0f0cd80 + 011100000011110000101110011001110001111100111011000110110000100000010000010000010010110101011010110110101110011000011110001010110010101000110001100110001000010111000110110011101101010011101001000010011011010011101110101010100010111010100000111100001100110110000000 + bw-efficient: 73cb99c7cec6c204104b56b6b9878aca8c662171b3b53a426d3baa8ba83c3360 + 0111001111001011100110011100011111001110110001101100001000000100000100000100101101010110101101101011100110000111100010101100101010001100011001100010000101110001101100111011010100111010010000100110110100111011101010101000101110101000001111000011001101100000 + rc: 32 + +Sample No.: 2 + octet aligned: 703cf8fc77356c948141686cda34d35220db719e36a359d86b64420dc64b563850 + 011100000011110011111000111111000111011100110101011011001001010010000001010000010110100001101100110110100011010011010011010100100010000011011011011100011001111000110110101000110101100111011000011010110110010001000010000011011100011001001011010101100011100001010000 + bw-efficient: 73fe3f1dcd5b2520505a1b368d34d48836dc678da8d6761ad910837192d58e14 + 0111001111111110001111110001110111001101010110110010010100100000010100000101101000011011001101101000110100110100110101001000100000110110110111000110011110001101101010001101011001110110000110101101100100010000100000110111000110010010110101011000111000010100 + rc: 32 + +Sample No.: 3 + octet aligned: 60344e300c0e6251342c2ae51fd8a698a945488d16c98922726f3e50 + 01100000001101000100111000110000000011000000111001100010010100010011010000101100001010101110010100011111110110001010011010011000101010010100010101001000100011010001011011001001100010010010001001110010011011110011111001010000 + bw-efficient: 63538c030398944d0b0ab947f629a62a51522345b262489c9bcf94 + 011000110101001110001100000000110000001110011000100101000100110100001011000010101011100101000111111101100010100110100110001010100101000101010010001000110100010110110010011000100100100010011100100110111100111110010100 + rc: 27 + +Sample No.: 4 + octet aligned: 60341fc722c7880328a9c280030bc9755c3ef519f80000295323e000 + 01100000001101000001111111000111001000101100011110001000000000110010100010101001110000101000000000000011000010111100100101110101010111000011111011110101000110011111100000000000000000000010100101010011001000111110000000000000 + bw-efficient: 6347f1c8b1e200ca2a70a000c2f25d570fbd467e00000a54c8f800 + 011000110100011111110001110010001011000111100010000000001100101000101010011100001010000000000000110000101111001001011101010101110000111110111101010001100111111000000000000000000000101001010100110010001111100000000000 + rc: 27 + +Sample No.: 5 + octet aligned: 60342c338655c00008efba03592419adf62478a79278b3e2d68ab0f0 + 01100000001101000010110000110011100001100101010111000000000000000000100011101111101110100000001101011001001001000001100110101101111101100010010001111000101001111001001001111000101100111110001011010110100010101011000011110000 + bw-efficient: 634b0ce1957000023bee80d649066b7d891e29e49e2cf8b5a2ac3c + 011000110100101100001100111000011001010101110000000000000000001000111011111011101000000011010110010010010000011001101011011111011000100100011110001010011110010010011110001011001111100010110101101000101010110000111100 + rc: 27 + +Sample No.: 6 + octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 + 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c + 010100101110011000101010111000010000011110010010010001111111110111101000011010010101010101000000010110101000110010101000111100011111111001000100110010000100000110001100 + rc: 21 + +Sample No.: 7 + octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 + 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc + 010100101111000101010001011001101000001101001000000000111001110000100101111100010011011111111010000110111011001000110100100111111100010111010101101101011101110110111100 + rc: 21 + +Sample No.: 8 + octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 + 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae3020 + 010100101101000010101100110011001000001000000110000001001111010111111010010001011011100111101010100101111010000000110101111111110111101000000100101011100011000000100000 + rc: 21 + +Sample No.: 9 + octet aligned: 40240343e959c79bacd20c77501054880a718db200 + 010000000010010000000011010000111110100101011001110001111001101110101100110100100000110001110111010100000001000001010100100010000000101001110001100011011011001000000000 + bw-efficient: 4240d0fa5671e6eb34831dd4041522029c636c80 + 0100001001000000110100001111101001010110011100011110011011101011001101001000001100011101110101000000010000010101001000100000001010011100011000110110110010000000 + rc: 20 + +Sample No.: 10 + octet aligned: 4024172c53401e39115ceecd12606df5689bdd0ca0 + 010000000010010000010111001011000101001101000000000111100011100100010001010111001110111011001101000100100110000001101101111101010110100010011011110111010000110010100000 + bw-efficient: 4245cb14d0078e44573bb344981b7d5a26f74328 + 0100001001000101110010110001010011010000000001111000111001000100010101110011101110110011010001001001100000011011011111010101101000100110111101110100001100101000 + rc: 20 + +Sample No.: 11 + octet aligned: 4024f871cf48801ec427f0fc3f7318898622062200 + 010000000010010011111000011100011100111101001000100000000001111011000100001001111111000011111100001111110111001100011000100010011000011000100010000001100010001000000000 + bw-efficient: 427e1c73d22007b109fc3f0fdcc6226188818880 + 0100001001111110000111000111001111010010001000000000011110110001000010011111110000111111000011111101110011000110001000100110000110001000100000011000100010000000 + rc: 20 + +Sample No.: 12 + octet aligned: 20141fd4c02667c742b164aef659ffe708 + 0010000000010100000111111101010011000000001001100110011111000111010000101011000101100100101011101111011001011001111111111110011100001000 + bw-efficient: 2147f5300999f1d0ac592bbd967ff9c2 + 00100001010001111111010100110000000010011001100111110001110100001010110001011001001010111011110110010110011111111111100111000010 + rc: 16 + +Sample No.: 13 + octet aligned: 2014197e10ead7b250bccbbf3b81887c64 + 0010000000010100000110010111111000010000111010101101011110110010010100001011110011001011101111110011101110000001100010000111110001100100 + bw-efficient: 21465f843ab5ec942f32efcee0621f19 + 00100001010001100101111110000100001110101011010111101100100101000010111100110010111011111100111011100000011000100001111100011001 + rc: 16 + +Sample No.: 14 + octet aligned: 2014e959f35fdfe5e9667ffbc088818088 + 0010000000010100111010010101100111110011010111111101111111100101111010010110011001111111111110111100000010001000100000011000000010001000 + bw-efficient: 217a567cd7f7f97a599ffef022206022 + 00100001011110100101011001111100110101111111011111111001011110100101100110011111111111101111000000100010001000000110000000100010 + rc: 16 + +Sample No.: 15 + octet aligned: 100c4e9ba850e30d5d53d04de41e7c + 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 + bw-efficient: 10d3a6ea1438c35754f41379079f + 0001000011010011101001101110101000010100001110001100001101010111010101001111010000010011011110010000011110011111 + rc: 14 + +Sample No.: 16 + octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 + 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 + bw-efficient: 10db0639edfffd4ebac1579f4715 + 0001000011011011000001100011100111101101111111111111110101001110101110101100000101010111100111110100011100010101 + rc: 14 + +Sample No.: 17 + octet aligned: 100c1fb967f7f1fdf547bf2e61c060 + 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 + bw-efficient: 10c7ee59fdfc7f7d51efcb987018 + 0001000011000111111011100101100111111101111111000111111101111101010100011110111111001011100110000111000000011000 + rc: 14 + +Sample No.: 18 + octet aligned: a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000011100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + bw-efficient: a3bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f + 1010001110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 + rc: 32 + + +Testing conversion from bw-efficient to octet-aligned: + +Sample No.: 0 + bw-efficient: f4495c7cda8f80 + 11110100010010010101110001111100110110101000111110000000 + octet aligned: f0442571f36a3e00 + 1111000001000100001001010111000111110011011010100011111000000000 + rc: 8 + +Sample No.: 1 + bw-efficient: f44aaa6c969780 + 11110100010010101010101001101100100101101001011110000000 + octet aligned: f0442aa9b25a5e00 + 1111000001000100001010101010100110110010010110100101111000000000 + rc: 8 + +Sample No.: 2 + bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 + 1111001111010000100111000010000011100011001011011010011000000000110000000010010110100111001011100000101010011011001101100000001110000110111001000000111110000111111000011001001010000010000010010100101011011100000110100001000111100011100101111101000111010100 + octet aligned: f03c4270838cb6980300969cb82a6cd80e1b903e1f864a08252b7068478e5f4750 + 111100000011110001000010011100001000001110001100101101101001100000000011000000001001011010011100101110000010101001101100110110000000111000011011100100000011111000011111100001100100101000001000001001010010101101110000011010000100011110001110010111110100011101010000 + rc: 33 + +Sample No.: 3 + bw-efficient: f3d39a49a09e7a802852e297e8c9246aadf5a45928bfc27177fed8404d97d3b8 + 1111001111010011100110100100100110100000100111100111101010000000001010000101001011100010100101111110100011001001001001000110101010101101111101011010010001011001001010001011111111000010011100010111011111111110110110000100000001001101100101111101001110111000 + octet aligned: f03c4e69268279ea00a14b8a5fa32491aab7d69164a2ff09c5dffb6101365f4ee0 + 111100000011110001001110011010010010011010000010011110011110101000000000101000010100101110001010010111111010001100100100100100011010101010110111110101101001000101100100101000101111111100001001110001011101111111111011011000010000000100110110010111110100111011100000 + rc: 33 + +Sample No.: 4 + bw-efficient: f3c2155b65131c68682079fab4810911200003b360ae0446000025f11e539dd0 + 1111001111000010000101010101101101100101000100110001110001101000011010000010000001111001111110101011010010000001000010010001000100100000000000000000001110110011011000001010111000000100010001100000000000000000001001011111000100011110010100111001110111010000 + octet aligned: f03c08556d944c71a1a081e7ead204244480000ecd82b81118000097c4794e7740 + 111100000011110000001000010101010110110110010100010011000111000110100001101000001000000111100111111010101101001000000100001001000100010010000000000000000000111011001101100000101011100000010001000110000000000000000000100101111100010001111001010011100111011101000000 + rc: 33 + +Sample No.: 5 + bw-efficient: f3c381bc7061c9f8507f6029de6115c16e5fa470c243b21b6e35dbb48bd84c00 + 1111001111000011100000011011110001110000011000011100100111111000010100000111111101100000001010011101111001100001000101011100000101101110010111111010010001110000110000100100001110110010000110110110111000110101110110111011010010001011110110000100110000000000 + octet aligned: f03c0e06f1c18727e141fd80a779845705b97e91c3090ec86db8d76ed22f613000 + 111100000011110000001110000001101111000111000001100001110010011111100001010000011111110110000000101001110111100110000100010101110000010110111001011111101001000111000011000010010000111011001000011011011011100011010111011011101101001000101111011000010011000000000000 + rc: 33 + +Sample No.: 6 + bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f + 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + rc: 33 + + +Testing conversion from octet-aligned to bw-efficient and inverse: +Sample No.: 0... +Sample No.: 1... +Sample No.: 2... +Sample No.: 3... +Sample No.: 4... +Sample No.: 5... +Sample No.: 6... +Sample No.: 7... +Sample No.: 8... +Sample No.: 9... +Sample No.: 10... +Sample No.: 11... +Sample No.: 12... +Sample No.: 13... +Sample No.: 14... +Sample No.: 15... +Sample No.: 16... +Sample No.: 17... +Sample No.: 18... + + +Testing detection of octet-aligned mode payloads: +Sample No.: 0 ==>octet aligned +Sample No.: 1 ==>octet aligned +Sample No.: 2 ==>octet aligned +Sample No.: 3 ==>octet aligned +Sample No.: 4 ==>octet aligned +Sample No.: 5 ==>octet aligned +Sample No.: 6 ==>octet aligned +Sample No.: 7 ==>octet aligned +Sample No.: 8 ==>octet aligned +Sample No.: 9 ==>octet aligned +Sample No.: 10 ==>octet aligned +Sample No.: 11 ==>octet aligned +Sample No.: 12 ==>octet aligned +Sample No.: 13 ==>octet aligned +Sample No.: 14 ==>octet aligned +Sample No.: 15 ==>octet aligned +Sample No.: 16 ==>octet aligned +Sample No.: 17 ==>octet aligned +Sample No.: 18 ==>octet aligned +Sample No.: 0 ==>bandwith efficient +Sample No.: 1 ==>bandwith efficient +Sample No.: 2 ==>bandwith efficient +Sample No.: 3 ==>bandwith efficient +Sample No.: 4 ==>bandwith efficient +Sample No.: 5 ==>bandwith efficient +Sample No.: 6 ==>bandwith efficient +OK: Test passed diff --git a/tests/testsuite.at b/tests/testsuite.at index 8eb389d..fa4d63d 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -25,3 +25,9 @@ cat $abs_srcdir/jibuf/jibuf_test.ok > expout AT_CHECK([$abs_top_builddir/tests/jibuf/jibuf_test], [0], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([amr_test]) +AT_KEYWORDS([amr_test]) +cat $abs_srcdir/amr/amr_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/amr/amr_test], [0], [expout], [ignore]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/13049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Gerrit-Change-Number: 13049 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:20:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:20:47 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate configuration generator In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13081 ) Change subject: gsm0808_utils: fix gsm48 multirate configuration generator ...................................................................... gsm0808_utils: fix gsm48 multirate configuration generator The function gsm0808_sc_cfg_from_gsm48_mr_cfg() takes an S15 to S0 bitmask and converts that bitmask into an AMR multirate configuration struct. Unfortunately the current implementation implements 3GPP TS 28.062, Table 7.11.3.1.3-2 wrongly in some aspects. Lets fix this. - Fix wrong interpretation of the bitpatterns - 5,15K is invalid and must never be selected - Make sure that no more than 4 rates are selected in the active set - Extend unit-test Change-Id: I6fd7f4073b84093742c322752f2fd878d1071e15 Related: SYS#4470 --- M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/protocol/gsm_08_08.h M src/gsm/gsm0808_utils.c M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 5 files changed, 318 insertions(+), 62 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 53f145c..dedb029 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -130,7 +130,7 @@ int gsm0808_speech_codec_from_chan_type(struct gsm0808_speech_codec *sc, uint8_t perm_spch); uint16_t gsm0808_sc_cfg_from_gsm48_mr_cfg(const struct gsm48_multi_rate_conf *cfg, bool fr); -void gsm48_mr_cfg_from_gsm0808_sc_cfg(struct gsm48_multi_rate_conf *cfg, uint16_t s15_s0); +int gsm48_mr_cfg_from_gsm0808_sc_cfg(struct gsm48_multi_rate_conf *cfg, uint16_t s15_s0); /*! \returns 3GPP TS 08.08 ?3.2.2.5 Class of a given Cause */ static inline enum gsm0808_cause_class gsm0808_cause_class(enum gsm0808_cause cause) diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index 67dc6ee..aa01ee5 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -553,6 +553,20 @@ GSM0808_SC_CFG_DEFAULT_AMR_12_2 = 0xc082 }; +/*! Single speech codec configurations broken down by reate. + * See also: 3GPP TS 28.062, Table 7.11.3.1.3-2: Preferred Configurations for + * the Adaptive Multi-Rate Codec Types. */ +enum gsm0808_speech_codec_rate { + GSM0808_SC_CFG_AMR_4_75 = 0x0001, + GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 = 0x0002, + GSM0808_SC_CFG_AMR_5_90 = 0x0004, + GSM0808_SC_CFG_AMR_6_70 = 0x0008, + GSM0808_SC_CFG_AMR_7_40 = 0x0010, + GSM0808_SC_CFG_AMR_7_95 = 0x0020, + GSM0808_SC_CFG_AMR_10_2 = 0x0040, + GSM0808_SC_CFG_AMR_12_2 = 0x0080, +}; + /* 3GPP TS 48.008 3.2.2.103 Speech Codec List */ #define SPEECH_CODEC_MAXLEN 255 struct gsm0808_speech_codec_list { diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index dd14d3c..2552c08 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1346,42 +1346,94 @@ /*! Determine a GSM 04.08 AMR configuration struct from a set of speech codec * configuration bits (S0-S15) * \param[out] cfg AMR configuration in GSM 04.08 format. - * \param[in] s15_s0 configuration bits (S0-S15). */ -void gsm48_mr_cfg_from_gsm0808_sc_cfg(struct gsm48_multi_rate_conf *cfg, - uint16_t s15_s0) + * \param[in] s15_s0 configuration bits (S15-S0, non-ambiguous). + * \returns zero when successful; negative on error */ +int gsm48_mr_cfg_from_gsm0808_sc_cfg(struct gsm48_multi_rate_conf *cfg, + uint16_t s15_s0) { + unsigned int count = 0; + + /* Note: See also: 3GPP TS 28.062 + * Table 7.11.3.1.3-2: Preferred Configurations for the Adaptive + * Multi-Rate Codec Types */ + + /* Note: The resulting multirate-configuration must not contain an + * active set of more than four codec rates. The active set also + * must contain at least one rate. */ + memset(cfg, 0, sizeof(*cfg)); + cfg->ver = 1; + cfg->icmi = 1; /* Strip option bits */ s15_s0 &= 0x00ff; - /* Rate 5,15k must always be present */ - cfg->m5_15 = 1; + /* Rate 5,15k can never be selected (see table) */ + cfg->m5_15 = 0; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_4_75 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_4_75 & 0xff)) + if (s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 & 0xff) { + /* Table Table 7.11.3.1.3-2 lists one mode that selects 4 + * rates at once (Config-NB-Code = 1). The rates selected + * are known to be compatible between GERAN and UTRAN, since + * an active set must not contain more than four rates at + * a time, we ignore all other settings as they are either + * redundaned or excess settings (invalid) */ cfg->m4_75 = 1; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_5_90 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_5_90 & 0xff)) cfg->m5_90 = 1; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_6_70 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_6_70 & 0xff)) - cfg->m6_70 = 1; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_7_40 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_7_40 & 0xff)) cfg->m7_40 = 1; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_7_95 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_7_95 & 0xff)) - cfg->m7_95 = 1; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_10_2 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_10_2 & 0xff)) - cfg->m10_2 = 1; - if ((s15_s0 & GSM0808_SC_CFG_DEFAULT_AMR_12_2 & 0xff) == - (GSM0808_SC_CFG_DEFAULT_AMR_12_2 & 0xff)) cfg->m12_2 = 1; + count += 4; + } - cfg->ver = 1; - cfg->icmi = 1; + /* Check the bits in s15_s0 and set the flags for the + * respective rates. */ + if (s15_s0 & GSM0808_SC_CFG_AMR_4_75 && !cfg->m4_75) { + if (count >= 4) + return -EINVAL; + cfg->m4_75 = 1; + count++; + } + if (s15_s0 & GSM0808_SC_CFG_AMR_5_90 && !cfg->m5_90) { + if (count >= 4) + return -EINVAL; + cfg->m5_90 = 1; + count++; + } + if (s15_s0 & GSM0808_SC_CFG_AMR_6_70) { + if (count >= 4) + return -EINVAL; + cfg->m6_70 = 1; + count++; + } + if (s15_s0 & GSM0808_SC_CFG_AMR_7_40 && !cfg->m7_40) { + if (count >= 4) + return -EINVAL; + cfg->m7_40 = 1; + count++; + } + if (s15_s0 & GSM0808_SC_CFG_AMR_7_95) { + if (count >= 4) + return -EINVAL; + cfg->m7_95 = 1; + count++; + } + if (s15_s0 & GSM0808_SC_CFG_AMR_10_2) { + if (count >= 4) + return -EINVAL; + cfg->m10_2 = 1; + count++; + } + if (s15_s0 & GSM0808_SC_CFG_AMR_12_2 && !cfg->m12_2) { + if (count >= 4) + return -EINVAL; + cfg->m12_2 = 1; + count++; + } + + if (count == 0) + return -EINVAL; + + return 0; } int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp) diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index c448f43..87f5d2a 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -1907,12 +1907,13 @@ static void test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(uint16_t s15_s0) { struct gsm48_multi_rate_conf cfg; + int rc; printf("Input:\n"); printf(" S15-S0 = %04x = 0b" OSMO_BIN_SPEC OSMO_BIN_SPEC "\n", s15_s0, OSMO_BIN_PRINT(s15_s0 >> 8), OSMO_BIN_PRINT(s15_s0)); - gsm48_mr_cfg_from_gsm0808_sc_cfg(&cfg, s15_s0); + rc = gsm48_mr_cfg_from_gsm0808_sc_cfg(&cfg, s15_s0); printf("Output:\n"); printf(" m4_75= %u smod= %u\n", cfg.m4_75, cfg.smod); @@ -1924,6 +1925,9 @@ printf(" m10_2= %u\n", cfg.m10_2); printf(" m12_2= %u\n", cfg.m12_2); + if (rc != 0) + printf(" Result invalid!\n"); + printf("\n"); } @@ -1931,7 +1935,8 @@ { printf("Testing gsm48_mr_cfg_from_gsm0808_sc_cfg():\n"); - /* Only one codec per setting */ + /* Test with settings as defined in 3GPP TS 28.062, Table 7.11.3.1.3-2, + * (up to four codecs may become selected) */ test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single (GSM0808_SC_CFG_DEFAULT_AMR_4_75); test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single @@ -1949,15 +1954,40 @@ test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single (GSM0808_SC_CFG_DEFAULT_AMR_12_2); - /* Combinations */ + /* Test with settings as defined in 3GPP TS 28.062, Table 7.11.3.1.3-2, + * but pick only one distinctive setting at a time */ + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_4_75); test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single - (GSM0808_SC_CFG_DEFAULT_AMR_4_75 | GSM0808_SC_CFG_DEFAULT_AMR_6_70 | - GSM0808_SC_CFG_DEFAULT_AMR_10_2); + (GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_5_90); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_6_70); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_7_40); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_7_95); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_10_2); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_12_2); + + /* Arbitrary, but valid combinations */ + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_7_40 | + GSM0808_SC_CFG_AMR_6_70 | + GSM0808_SC_CFG_AMR_10_2); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_7_95 | + GSM0808_SC_CFG_AMR_4_75); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_5_90 | + GSM0808_SC_CFG_AMR_12_2); test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single - (GSM0808_SC_CFG_DEFAULT_AMR_10_2 | GSM0808_SC_CFG_DEFAULT_AMR_12_2 | - GSM0808_SC_CFG_DEFAULT_AMR_7_40); + (GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 | GSM0808_SC_CFG_AMR_5_90 | + GSM0808_SC_CFG_AMR_12_2); + + /* Invalid combinations */ test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single - (GSM0808_SC_CFG_DEFAULT_AMR_7_95 | GSM0808_SC_CFG_DEFAULT_AMR_12_2); + (GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 | GSM0808_SC_CFG_AMR_6_70); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(GSM0808_SC_CFG_AMR_7_40 | + GSM0808_SC_CFG_AMR_6_70 | + GSM0808_SC_CFG_AMR_10_2 | + GSM0808_SC_CFG_AMR_7_95 | + GSM0808_SC_CFG_AMR_4_75); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(0x0000); + test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(0xffff); } struct test_cell_id_matching_data { @@ -2359,7 +2389,6 @@ test_gsm0808_enc_dec_cell_id_ci(); test_gsm0808_enc_dec_cell_id_lac_and_ci(); test_gsm0808_enc_dec_cell_id_global(); - test_gsm0808_sc_cfg_from_gsm48_mr_cfg(); test_gsm48_mr_cfg_from_gsm0808_sc_cfg(); diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok index 6035326..9fce0e8 100644 --- a/tests/gsm0808/gsm0808_test.ok +++ b/tests/gsm0808/gsm0808_test.ok @@ -315,43 +315,44 @@ S15-S0 = ff03 = 0b1111111100000011 Output: m4_75= 1 smod= 0 - m5_15= 1 spare= 0 - m5_90= 0 icmi= 1 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 m6_70= 0 nscb= 0 - m7_40= 0 ver= 1 + m7_40= 1 ver= 1 m7_95= 0 m10_2= 0 - m12_2= 0 + m12_2= 1 Input: S15-S0 = 0000 = 0b0000000000000000 Output: m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 0 nscb= 0 m7_40= 0 ver= 1 m7_95= 0 m10_2= 0 m12_2= 0 + Result invalid! Input: S15-S0 = ff06 = 0b1111111100000110 Output: - m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 m5_90= 1 icmi= 1 m6_70= 0 nscb= 0 - m7_40= 0 ver= 1 + m7_40= 1 ver= 1 m7_95= 0 m10_2= 0 - m12_2= 0 + m12_2= 1 Input: S15-S0 = 3e08 = 0b0011111000001000 Output: m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 1 nscb= 0 m7_40= 0 ver= 1 @@ -362,20 +363,20 @@ Input: S15-S0 = 0c12 = 0b0000110000010010 Output: - m4_75= 0 smod= 0 - m5_15= 1 spare= 0 - m5_90= 0 icmi= 1 + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 m6_70= 0 nscb= 0 m7_40= 1 ver= 1 m7_95= 0 m10_2= 0 - m12_2= 0 + m12_2= 1 Input: S15-S0 = c020 = 0b1100000000100000 Output: m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 0 nscb= 0 m7_40= 0 ver= 1 @@ -387,7 +388,7 @@ S15-S0 = 3040 = 0b0011000001000000 Output: m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 0 nscb= 0 m7_40= 0 ver= 1 @@ -398,51 +399,211 @@ Input: S15-S0 = c082 = 0b1100000010000010 Output: - m4_75= 0 smod= 0 - m5_15= 1 spare= 0 - m5_90= 0 icmi= 1 + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 m6_70= 0 nscb= 0 - m7_40= 0 ver= 1 + m7_40= 1 ver= 1 m7_95= 0 m10_2= 0 m12_2= 1 Input: - S15-S0 = ff4b = 0b1111111101001011 + S15-S0 = 0001 = 0b0000000000000001 Output: m4_75= 1 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 0 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 0 + +Input: + S15-S0 = 0002 = 0b0000000000000010 +Output: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 1 + +Input: + S15-S0 = 0004 = 0b0000000000000100 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 0 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 0 + +Input: + S15-S0 = 0008 = 0b0000000000001000 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 1 nscb= 0 m7_40= 0 ver= 1 m7_95= 0 + m10_2= 0 + m12_2= 0 + +Input: + S15-S0 = 0010 = 0b0000000000010000 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 0 + +Input: + S15-S0 = 0020 = 0b0000000000100000 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 0 ver= 1 + m7_95= 1 + m10_2= 0 + m12_2= 0 + +Input: + S15-S0 = 0040 = 0b0000000001000000 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 0 ver= 1 + m7_95= 0 m10_2= 1 m12_2= 0 Input: - S15-S0 = fcd2 = 0b1111110011010010 + S15-S0 = 0080 = 0b0000000010000000 Output: m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 0 nscb= 0 - m7_40= 1 ver= 1 + m7_40= 0 ver= 1 m7_95= 0 - m10_2= 1 + m10_2= 0 m12_2= 1 Input: - S15-S0 = c0a2 = 0b1100000010100010 + S15-S0 = 0058 = 0b0000000001011000 Output: m4_75= 0 smod= 0 - m5_15= 1 spare= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 1 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 0 + m10_2= 1 + m12_2= 0 + +Input: + S15-S0 = 0021 = 0b0000000000100001 +Output: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 m5_90= 0 icmi= 1 m6_70= 0 nscb= 0 m7_40= 0 ver= 1 m7_95= 1 m10_2= 0 + m12_2= 0 + +Input: + S15-S0 = 0084 = 0b0000000010000100 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 0 ver= 1 + m7_95= 0 + m10_2= 0 m12_2= 1 +Input: + S15-S0 = 0086 = 0b0000000010000110 +Output: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 1 + +Input: + S15-S0 = 000a = 0b0000000000001010 +Output: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 1 + Result invalid! + +Input: + S15-S0 = 0079 = 0b0000000001111001 +Output: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 1 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 1 + m10_2= 0 + m12_2= 0 + Result invalid! + +Input: + S15-S0 = 0000 = 0b0000000000000000 +Output: + m4_75= 0 smod= 0 + m5_15= 0 spare= 0 + m5_90= 0 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 0 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 0 + Result invalid! + +Input: + S15-S0 = ffff = 0b1111111111111111 +Output: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 1 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 1 + m7_95= 0 + m10_2= 0 + m12_2= 1 + Result invalid! + test_cell_id_matching [0] LAC:23 LAC:23 MATCH -- To view, visit https://gerrit.osmocom.org/13081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6fd7f4073b84093742c322752f2fd878d1071e15 Gerrit-Change-Number: 13081 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:20:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:20:48 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: fix gsm48 multirate to S-bit converter In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13089 ) Change subject: gsm0808_utils: fix gsm48 multirate to S-bit converter ...................................................................... gsm0808_utils: fix gsm48 multirate to S-bit converter The function gsm0808_sc_cfg_from_gsm48_mr_cfg() is used to convert a gsm48 multirate struct into a set of S-bits (S0 to S15). However, the conversion function currently does not take into account that bit S1 actually stands for four rates at once (Config-NB-Code = 1). Lets make sure that S1 is only set when the multirate configuration permits all four required rates. Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Related: SYS#4470 --- M src/gsm/gsm0808_utils.c M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 3 files changed, 78 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 2552c08..e0cdaaf 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1340,6 +1340,16 @@ else s15_s0 &= GSM0808_SC_CFG_DEFAULT_HR_AMR; + /* The mode that is encoded by S1 (Config-NB-Code = 1), takes a special + * role as it does not stand for a single rate, but for up to four rates + * at once (12.2, 7.4, 5.9, 4.75). We must check if the supplied cfg + * covers this mode. If not, we need to make sure that the related + * bit is removed. (See also 3GPP TS 28.062, Table 7.11.3.1.3-2) */ + if (!(cfg->m12_2 && cfg->m7_40 && cfg->m5_90 && cfg->m4_75) && fr) + s15_s0 &= ~GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20; + else if (!(cfg->m7_40 && cfg->m5_90 && cfg->m4_75)) + s15_s0 &= ~GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20; + return s15_s0; } diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index 87f5d2a..8f1e299 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -1902,6 +1902,27 @@ cfg.m10_2 = 1; cfg.m12_2 = 1; test_gsm0808_sc_cfg_from_gsm48_mr_cfg_single(&cfg); + + cfg.m4_75 = 1; + cfg.m5_15 = 0; + cfg.m5_90 = 1; + cfg.m6_70 = 0; + cfg.m7_40 = 1; + cfg.m7_95 = 0; + cfg.m10_2 = 0; + cfg.m12_2 = 1; + test_gsm0808_sc_cfg_from_gsm48_mr_cfg_single(&cfg); + + cfg.m4_75 = 1; + cfg.m5_15 = 0; + cfg.m5_90 = 1; + cfg.m6_70 = 0; + cfg.m7_40 = 1; + cfg.m7_95 = 0; + cfg.m10_2 = 0; + cfg.m12_2 = 0; + test_gsm0808_sc_cfg_from_gsm48_mr_cfg_single(&cfg); + } static void test_gsm48_mr_cfg_from_gsm0808_sc_cfg_single(uint16_t s15_s0) diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok index 9fce0e8..b620e36 100644 --- a/tests/gsm0808/gsm0808_test.ok +++ b/tests/gsm0808/gsm0808_test.ok @@ -110,9 +110,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 5703 = 0b0101011100000011 + S15-S0 = 5701 = 0b0101011100000001 Result (hr): - S15-S0 = 0703 = 0b0000011100000011 + S15-S0 = 0701 = 0b0000011100000001 Input: m4_75= 0 smod= 0 @@ -138,9 +138,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 5706 = 0b0101011100000110 + S15-S0 = 5704 = 0b0101011100000100 Result (hr): - S15-S0 = 0706 = 0b0000011100000110 + S15-S0 = 0704 = 0b0000011100000100 Input: m4_75= 0 smod= 0 @@ -166,9 +166,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 0412 = 0b0000010000010010 + S15-S0 = 0410 = 0b0000010000010000 Result (hr): - S15-S0 = 0412 = 0b0000010000010010 + S15-S0 = 0410 = 0b0000010000010000 Input: m4_75= 0 smod= 0 @@ -208,9 +208,9 @@ m10_2= 0 m12_2= 1 Result (fr): - S15-S0 = 4082 = 0b0100000010000010 + S15-S0 = 4080 = 0b0100000010000000 Result (hr): - S15-S0 = 0002 = 0b0000000000000010 + S15-S0 = 0000 = 0b0000000000000000 Input: m4_75= 1 smod= 0 @@ -222,9 +222,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 570f = 0b0101011100001111 + S15-S0 = 570d = 0b0101011100001101 Result (hr): - S15-S0 = 070f = 0b0000011100001111 + S15-S0 = 070d = 0b0000011100001101 Input: m4_75= 0 smod= 0 @@ -236,9 +236,9 @@ m10_2= 1 m12_2= 1 Result (fr): - S15-S0 = 54f2 = 0b0101010011110010 + S15-S0 = 54f0 = 0b0101010011110000 Result (hr): - S15-S0 = 0432 = 0b0000010000110010 + S15-S0 = 0430 = 0b0000010000110000 Input: m4_75= 0 smod= 0 @@ -250,9 +250,9 @@ m10_2= 1 m12_2= 1 Result (fr): - S15-S0 = 57ce = 0b0101011111001110 + S15-S0 = 57cc = 0b0101011111001100 Result (hr): - S15-S0 = 070e = 0b0000011100001110 + S15-S0 = 070c = 0b0000011100001100 Input: m4_75= 1 smod= 0 @@ -264,9 +264,9 @@ m10_2= 0 m12_2= 0 Result (fr): - S15-S0 = 5733 = 0b0101011100110011 + S15-S0 = 5731 = 0b0101011100110001 Result (hr): - S15-S0 = 0733 = 0b0000011100110011 + S15-S0 = 0731 = 0b0000011100110001 Input: m4_75= 0 smod= 0 @@ -278,9 +278,9 @@ m10_2= 0 m12_2= 1 Result (fr): - S15-S0 = 56aa = 0b0101011010101010 + S15-S0 = 56a8 = 0b0101011010101000 Result (hr): - S15-S0 = 062a = 0b0000011000101010 + S15-S0 = 0628 = 0b0000011000101000 Input: m4_75= 1 smod= 0 @@ -292,7 +292,7 @@ m10_2= 1 m12_2= 0 Result (fr): - S15-S0 = 5757 = 0b0101011101010111 + S15-S0 = 5755 = 0b0101011101010101 Result (hr): S15-S0 = 0717 = 0b0000011100010111 @@ -310,6 +310,34 @@ Result (hr): S15-S0 = 073f = 0b0000011100111111 +Input: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 0 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 0 + m7_95= 0 + m10_2= 0 + m12_2= 1 +Result (fr): + S15-S0 = 5797 = 0b0101011110010111 +Result (hr): + S15-S0 = 0717 = 0b0000011100010111 + +Input: + m4_75= 1 smod= 0 + m5_15= 0 spare= 0 + m5_90= 1 icmi= 0 + m6_70= 0 nscb= 0 + m7_40= 1 ver= 0 + m7_95= 0 + m10_2= 0 + m12_2= 0 +Result (fr): + S15-S0 = 5715 = 0b0101011100010101 +Result (hr): + S15-S0 = 0717 = 0b0000011100010111 + Testing gsm48_mr_cfg_from_gsm0808_sc_cfg(): Input: S15-S0 = ff03 = 0b1111111100000011 -- To view, visit https://gerrit.osmocom.org/13089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6ad531d4e70c2252e32e2bbaca8e14a7ec6d9840 Gerrit-Change-Number: 13089 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:22:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:22:53 +0000 Subject: Change in osmo-bsc[master]: codec_pref: purify S-Bits In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13093 ) Change subject: codec_pref: purify S-Bits ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 11 Mar 2019 13:22:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:23:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:23:15 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: copy old S15_S0 to new lchan In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13200 ) Change subject: handover_fsm: copy old S15_S0 to new lchan ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifd470397e99985394634da1bb13ccfc5041984d2 Gerrit-Change-Number: 13200 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:23:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:23:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:23:58 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: do not include 12.2k in active set on HR channels In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13095 ) Change subject: lchan_fsm: do not include 12.2k in active set on HR channels ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Gerrit-Change-Number: 13095 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:23:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:24:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:24:23 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make sure multi rate configuration is valid In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13094 ) Change subject: lchan_fsm: make sure multi rate configuration is valid ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Gerrit-Change-Number: 13094 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:24:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:25:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:25:29 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13199 ) Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:25:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:26:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:26:55 +0000 Subject: Change in osmo-mgw[master]: AMR: Add function to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13159 ) Change subject: AMR: Add function to convert between bw-effient and octet aligned mode ...................................................................... Patch Set 2: This breaks ABI compatibility for libosmo-mgcp-client users, right? If so, please make sure to update TODO-RELEASE -- To view, visit https://gerrit.osmocom.org/13159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Gerrit-Change-Number: 13159 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 13:26:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:29:05 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h File include/osmocom/core/ip_port.h: https://gerrit.osmocom.org/#/c/13123/4/include/osmocom/core/ip_port.h at 47 PS4, Line 47: osmo_ip_port > I understand the attractive / leaner approach of using operating system structs. [?] ok, let's rename to osmo_sockaddr_str and let's merge it to libosmocore. -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 13:29:05 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:29:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 13:29:37 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: copy old S15_S0 to new lchan In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13200 ) Change subject: handover_fsm: copy old S15_S0 to new lchan ...................................................................... Patch Set 1: Note: This is probably as problematic as #13039 -- To view, visit https://gerrit.osmocom.org/13200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifd470397e99985394634da1bb13ccfc5041984d2 Gerrit-Change-Number: 13200 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:29:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:32:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:32:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add codec to all Assignment Complete messages In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13186 ) Change subject: msc: add codec to all Assignment Complete messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa Gerrit-Change-Number: 13186 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 11 Mar 2019 13:32:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:32:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:32:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13187 ) Change subject: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 Gerrit-Change-Number: 13187 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 11 Mar 2019 13:32:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:34:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:34:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13191 ) Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... Patch Set 1: Code-Review+1 Agree with rgard to coding style inconsistency. otherwise +1 -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 11 Mar 2019 13:34:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:35:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:35:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: expect only one Paging on failed MT SMS, and clear the failed SMS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13192 ) Change subject: msc: expect only one Paging on failed MT SMS, and clear the failed SMS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13192/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13192/1//COMMIT_MSG at 9 PS1, Line 9: Retries of Paging are : clearly the task of the BSC. I'm not sure if that's all so "clearly". See my comments on the related changes to osmo-msc. -- To view, visit https://gerrit.osmocom.org/13192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7dce12942a65eaaf97f78ca69401c7f93faacb9e Gerrit-Change-Number: 13192 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 13:35:15 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:35:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:35:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13193 ) Change subject: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763 Gerrit-Change-Number: 13193 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 11 Mar 2019 13:35:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:35:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:35:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_lu_disconnect: add final delay to fix spurious failure In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13194 ) Change subject: msc: TC_lu_disconnect: add final delay to fix spurious failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I765a75f91a748239f6cc82f4a61f02d59166f00b Gerrit-Change-Number: 13194 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:35:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:36:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:36:45 +0000 Subject: Change in osmo-pcu[master]: encoding: Fixes TMSI vs MI bit selection in repeated page info In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13133 ) Change subject: encoding: Fixes TMSI vs MI bit selection in repeated page info ...................................................................... encoding: Fixes TMSI vs MI bit selection in repeated page info Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf --- M src/encoding.cpp 1 file changed, 15 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, but someone else must approve Max: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 4c8cdb0..019de52 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1066,6 +1066,20 @@ return wp; } +/* 3GPP TS 44.060 ? 11.2.10: + < Repeated Page info struct > ::= + { 0 -- Page request for TBF establishment + { 0 < PTMSI : bit (32) > + | 1 < Length of Mobile Identity contents : bit (4) > + < Mobile Identity : octet (val (Length of Mobile Identity contents)) > } + | 1 -- Page request for RR conn. establishment + { 0 < TMSI : bit (32) > + | 1 < Length of Mobile Identity contents : bit (4) > + < Mobile Identity : octet (val (Length of Mobile Identity contents)) > } + < CHANNEL_NEEDED : bit (2) > + { 0 | 1 < eMLPP_PRIORITY : bit (3) > } + } + */ unsigned Encoding::write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, uint8_t *identity, uint8_t chan_needed) { @@ -1078,7 +1092,7 @@ identity++; len--; } else { - bitvec_write_field(dest, &wp,0x0,1); // MI + bitvec_write_field(dest, &wp,0x1,1); // MI bitvec_write_field(dest, &wp,len,4); // MI len } while (len) { -- To view, visit https://gerrit.osmocom.org/13133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf Gerrit-Change-Number: 13133 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Omar Ramadan Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:37:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:37:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13127 ) Change subject: TC_rach_content(): fail test explicitly ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/13127/3/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/13127/3/bts/BTS_Tests.ttcn at 1024 PS3, Line 1024: if (test_failed) { > {} not needed but fine actaully, in ttcn3 it is needed. -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 11 Mar 2019 13:37:45 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:37:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:37:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): fail test explicitly In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13127 ) Change subject: TC_rach_content(): fail test explicitly ...................................................................... TC_rach_content(): fail test explicitly By default Misc_Helpers.f_shutdown() will set test verdict to 'none'. Let's fail test explicitly if we had any timeouts. Related: OS#1854 Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 279b437..0b70da3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1021,9 +1021,10 @@ } } } - if (test_failed == false) { - setverdict(pass); + if (test_failed) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Some out of 1000 RACH requests timed out")); } + setverdict(pass); Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/13127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8 Gerrit-Change-Number: 13127 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:38:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:38:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: TC_rach_content(): log successful allocations In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13128 ) Change subject: TC_rach_content(): log successful allocations ...................................................................... Patch Set 2: Code-Review-1 I think this kind of additional log can be added when actually debugging a given issue, but I don't think we want to always enable it everywhere. -- To view, visit https://gerrit.osmocom.org/13128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaeadb4866a0d30a447fda9ef22be050889bc0cee Gerrit-Change-Number: 13128 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 13:38:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:39:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:39:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: allow setting of fmtp parameters In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13160 ) Change subject: MGCP_Test: allow setting of fmtp parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic1840d5023cb3888a17980f4ed08c19175864896 Gerrit-Change-Number: 13160 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:39:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:39:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 13:39:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13161 ) Change subject: MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I050bfeabfb5fdbf986d429eef3af69fe8158d56e Gerrit-Change-Number: 13161 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 13:39:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 13:43:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 13:43:52 +0000 Subject: Change in osmo-pcu[master]: Use unique NSEI/BVCI/NSVCI in TBF tests Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13201 Change subject: Use unique NSEI/BVCI/NSVCI in TBF tests ...................................................................... Use unique NSEI/BVCI/NSVCI in TBF tests This works around the issue with colliding rate counter group index highlighted by 86e35e488740889f8ad03d09a78918839b883240 by using different NSEI/BVCI/NSVCI parameters for different TBF tests. Change-Id: Id7d2d1a48308a6b1fb17768aee0e79adbdee56ee Related: OS#3827 --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 5 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/01/13201/1 diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index d78a4ab..d53a57b 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -449,8 +449,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 1234, 1234, 1234, 1, 1, false, 0, 0, 0); for (i = 0; i < 1024; i++) { uint32_t tlli = 0xc0000000 + i; @@ -492,8 +491,7 @@ setup_bts(&the_bts, ts_no); bts->ms_idle_sec = 10; /* keep the MS object */ - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 2234, 2234, 2234, 1, 1, false, 0, 0, 0); /* Handle LLC frame 1 */ memset(buf, 1, sizeof(buf)); @@ -2179,8 +2177,7 @@ /* EGPRS-only */ bts->egprs_enabled = 1; - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 3234, 3234, 3234, 1, 1, false, 0, 0, 0); /* Does not support EGPRS */ rc = gprs_rlcmac_dl_tbf::handle(bts, tlli, 0, imsi, ms_class, 0, @@ -2241,8 +2238,7 @@ bts->trx[0].pdch[4].enable(); bts->trx[0].pdch[5].enable(); - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 4234, 4234, 4234, 1, 1, false, 0, 0, 0); /* Does no support EGPRS */ dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false); @@ -2279,8 +2275,7 @@ bts->trx[0].pdch[4].enable(); bts->trx[0].pdch[5].enable(); - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 5234, 5234, 5234, 1, 1, false, 0, 0, 0); /* EGPRS-only */ bts->egprs_enabled = 1; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 8d5adf9..355ec69 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1337,7 +1337,6 @@ - Failed to find a usable TRX (TFI exhausted) No PDCH resource Destroying MS object, TLLI = 0x00000000 -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1235. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -3032,10 +3031,8 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1236. This is a software bug that needs fixing. Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1237. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 @@ -5924,7 +5921,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1238. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 -- To view, visit https://gerrit.osmocom.org/13201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id7d2d1a48308a6b1fb17768aee0e79adbdee56ee Gerrit-Change-Number: 13201 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 14:16:29 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 11 Mar 2019 14:16:29 +0000 Subject: Change in libosmocore[master]: [WIP] fsm: Add function to queue events for FSM instance. In-Reply-To: References: Message-ID: tnt has abandoned this change. ( https://gerrit.osmocom.org/12983 ) Change subject: [WIP] fsm: Add function to queue events for FSM instance. ...................................................................... Abandoned Just generally a bad idea .. changes semantics ... breaks everything -- To view, visit https://gerrit.osmocom.org/12983 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I6f0c64d21d57512c5b329b561ccd415a93790dec Gerrit-Change-Number: 12983 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 14:23:41 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 14:23:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA: log host:port on listen errors Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13202 Change subject: IPA: log host:port on listen errors ...................................................................... IPA: log host:port on listen errors Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca --- M library/IPA_Emulation.ttcnpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/13202/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index f556327..a2066ee 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -258,7 +258,7 @@ res := IPA_CodecPort_CtrlFunct.f_IPL4_listen(IPA_PORT, local_host, local_port, { tcp:={} }); if (not ispresent(res.connId)) { - setverdict(fail, "Could not listen IPA socket, check your configuration"); + setverdict(fail, "Could not listen IPA socket ", local_host, ":", local_port, ", check your configuration"); mtc.stop; } g_ipa_conn_id := res.connId; -- To view, visit https://gerrit.osmocom.org/13202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca Gerrit-Change-Number: 13202 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:00:52 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 11 Mar 2019 15:00:52 +0000 Subject: Change in libosmo-abis[master]: rtp: Add 'autoconnect' feature to the osmo_rtp_socket Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/13203 Change subject: rtp: Add 'autoconnect' feature to the osmo_rtp_socket ...................................................................... rtp: Add 'autoconnect' feature to the osmo_rtp_socket The bound RTP socket will wait for incoming RTP packets and as soon as it sees one, will 'connect' to it, so all replies will go to that sources and incoming messages from other sources will be discarded. This obviously only works once. Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Signed-off-by: Sylvain Munaut --- M include/osmocom/trau/osmo_ortp.h M src/trau/osmo_ortp.c 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/03/13203/1 diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h index 5fb2960..54afcf0 100644 --- a/include/osmocom/trau/osmo_ortp.h +++ b/include/osmocom/trau/osmo_ortp.h @@ -74,6 +74,7 @@ struct osmo_rtp_socket *osmo_rtp_socket_create(void *talloc_ctx, unsigned int flags); int osmo_rtp_socket_bind(struct osmo_rtp_socket *rs, const char *ip, int port); int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, const char *ip, uint16_t port); +int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs); int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type); int osmo_rtp_socket_free(struct osmo_rtp_socket *rs); int osmo_rtp_skipped_frame(struct osmo_rtp_socket *rs, unsigned int duration); diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 0eb1661..1d652cb 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -468,6 +468,28 @@ return osmo_rtp_socket_fdreg(rs); } +/*! \brief Automatically associates a RTP socket with the first incoming UDP packet + * \param[in] rs OsmoRTP socket + * + * The bound RTP socket will wait for incoming RTP packets and as soon as it + * sees one, will 'connect' to it, so all replies will go to that sources and + * incoming messages from other sources will be discarded. This obviously only + * works once. + * + * \returns 0 on success, <0 in case of error. + */ +int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs) +{ + rtp_session_set_symmetric_rtp(rs->sess, 1); + rtp_session_set_connected_mode(rs->sess, 1); + rs->flags &= ~OSMO_RTP_F_DISABLED; + + if (rs->flags & OSMO_RTP_F_POLL) + return 0; + else + return osmo_rtp_socket_fdreg(rs); +} + /*! \brief Increment timestamp on a RTP socket without sending any packet * \param[in] rs OsmoRTP socket * \param[in] duration duration in number of RTP clock ticks -- To view, visit https://gerrit.osmocom.org/13203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Gerrit-Change-Number: 13203 Gerrit-PatchSet: 1 Gerrit-Owner: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:15:05 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 15:15:05 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13204 Change subject: BSSGP: use variable for NSEI ...................................................................... BSSGP: use variable for NSEI Handle NSEI the same way as BVCI is handled: assign it to variable instead of repetitive calls to msgb_nsei() - this simplifies log update in follow-up patches and makes code slightly easier to read. Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 --- M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_util.c 2 files changed, 29 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/13204/1 diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 4a4bab3..7acc9d9 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -307,7 +307,7 @@ static int bssgp_rx_bvc_block(struct msgb *msg, struct tlv_parsed *tp) { struct osmo_bssgp_prim nmp; - uint16_t bvci; + uint16_t bvci, nsei = msgb_nsei(msg); struct bssgp_bvc_ctx *ptp_ctx; bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); @@ -315,13 +315,13 @@ /* 8.3.2: Signalling BVC shall never be blocked */ LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u/BVCI=%u " "received block for signalling BVC!?!\n", - msgb_nsei(msg), msgb_bvci(msg)); + nsei, msgb_bvci(msg)); return 0; } LOGP(DBSSGP, LOGL_INFO, "BSSGP Rx BVCI=%u BVC-BLOCK\n", bvci); - ptp_ctx = btsctx_by_bvci_nsei(bvci, msgb_nsei(msg)); + ptp_ctx = btsctx_by_bvci_nsei(bvci, nsei); if (!ptp_ctx) return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); @@ -330,7 +330,7 @@ /* Send NM_BVC_BLOCK.ind to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = bvci; nmp.tp = tp; osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_BVC_BLOCK, @@ -338,14 +338,14 @@ bssgp_prim_cb(&nmp.oph, NULL); /* We always acknowledge the BLOCKing */ - return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK_ACK, msgb_nsei(msg), + return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK_ACK, nsei, bvci, msgb_bvci(msg)); }; static int bssgp_rx_bvc_unblock(struct msgb *msg, struct tlv_parsed *tp) { struct osmo_bssgp_prim nmp; - uint16_t bvci; + uint16_t bvci, nsei = msgb_nsei(msg); struct bssgp_bvc_ctx *ptp_ctx; bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); @@ -353,13 +353,13 @@ /* 8.3.2: Signalling BVC shall never be blocked */ LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u/BVCI=%u " "received unblock for signalling BVC!?!\n", - msgb_nsei(msg), msgb_bvci(msg)); + nsei, msgb_bvci(msg)); return 0; } DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx BVC-UNBLOCK\n", bvci); - ptp_ctx = btsctx_by_bvci_nsei(bvci, msgb_nsei(msg)); + ptp_ctx = btsctx_by_bvci_nsei(bvci, nsei); if (!ptp_ctx) return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); @@ -367,7 +367,7 @@ /* Send NM_BVC_UNBLOCK.ind to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = bvci; nmp.tp = tp; osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_BVC_UNBLOCK, @@ -375,7 +375,7 @@ bssgp_prim_cb(&nmp.oph, NULL); /* We always acknowledge the unBLOCKing */ - return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_UNBLOCK_ACK, msgb_nsei(msg), + return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_UNBLOCK_ACK, nsei, bvci, msgb_bvci(msg)); }; @@ -419,7 +419,7 @@ struct osmo_bssgp_prim gbp; struct gprs_ra_id raid; uint32_t tlli; - uint16_t ns_bvci = msgb_bvci(msg); + uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg); int rc; if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || @@ -438,7 +438,7 @@ /* Inform GMM about the SUSPEND request */ memset(&gbp, 0, sizeof(gbp)); - gbp.nsei = msgb_nsei(msg); + gbp.nsei = nsei; gbp.bvci = ns_bvci; gbp.tlli = tlli; gbp.ra_id = &raid; @@ -447,9 +447,9 @@ rc = bssgp_prim_cb(&gbp.oph, NULL); if (rc < 0) - return bssgp_tx_suspend_nack(msgb_nsei(msg), tlli, &raid, NULL); + return bssgp_tx_suspend_nack(nsei, tlli, &raid, NULL); - bssgp_tx_suspend_ack(msgb_nsei(msg), tlli, &raid, 0); + bssgp_tx_suspend_ack(nsei, tlli, &raid, 0); return 0; } @@ -460,7 +460,7 @@ struct gprs_ra_id raid; uint32_t tlli; uint8_t suspend_ref; - uint16_t ns_bvci = msgb_bvci(msg); + uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg); int rc; if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || @@ -480,7 +480,7 @@ /* Inform GMM about the RESUME request */ memset(&gbp, 0, sizeof(gbp)); - gbp.nsei = msgb_nsei(msg); + gbp.nsei = nsei; gbp.bvci = ns_bvci; gbp.tlli = tlli; gbp.ra_id = &raid; @@ -490,10 +490,10 @@ rc = bssgp_prim_cb(&gbp.oph, NULL); if (rc < 0) - return bssgp_tx_resume_nack(msgb_nsei(msg), tlli, &raid, + return bssgp_tx_resume_nack(nsei, tlli, &raid, NULL); - bssgp_tx_resume_ack(msgb_nsei(msg), tlli, &raid); + bssgp_tx_resume_ack(nsei, tlli, &raid); return 0; } @@ -503,6 +503,7 @@ { struct osmo_bssgp_prim nmp; uint32_t tlli = 0; + uint16_t nsei = msgb_nsei(msg); if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || !TLVP_PRESENT(tp, BSSGP_IE_LLC_FRAMES_DISCARDED) || @@ -522,7 +523,7 @@ /* send NM_LLC_DISCARDED to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = ctx->bvci; nmp.tlli = tlli; nmp.tp = tp; @@ -535,6 +536,7 @@ int bssgp_rx_status(struct msgb *msg, struct tlv_parsed *tp, uint16_t bvci, struct bssgp_bvc_ctx *bctx) { + uint16_t nsei = msgb_nsei(msg); struct osmo_bssgp_prim nmp; enum gprs_bssgp_cause cause; @@ -562,7 +564,7 @@ /* send NM_STATUS to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = bvci; nmp.tp = tp; osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_STATUS, @@ -801,6 +803,7 @@ { uint32_t old_leak_rate = bctx->fc->bucket_leak_rate; uint32_t old_r_def_ms = bctx->r_default_ms; + uint16_t nsei = msgb_nsei(msg); DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx Flow Control BVC\n", bctx->bvci); @@ -842,7 +845,7 @@ fc_queue_timer_cfg(bctx->fc); /* Send FLOW_CONTROL_BVC_ACK */ - return bssgp_tx_fc_bvc_ack(msgb_nsei(msg), *TLVP_VAL(tp, BSSGP_IE_TAG), + return bssgp_tx_fc_bvc_ack(nsei, *TLVP_VAL(tp, BSSGP_IE_TAG), msgb_bvci(msg)); } @@ -1033,7 +1036,7 @@ struct tlv_parsed tp; struct bssgp_bvc_ctx *bctx; uint8_t pdu_type = bgph->pdu_type; - uint16_t ns_bvci = msgb_bvci(msg); + uint16_t ns_bvci = msgb_bvci(msg), ns_nsei = msgb_nsei(msg); uint16_t bvci = ns_bvci; int data_len; int rc = 0; @@ -1081,7 +1084,7 @@ if (!bctx && bvci != BVCI_SIGNALLING && pdu_type != BSSGP_PDUT_BVC_RESET) { LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU " - "type %s for unknown BVCI\n", msgb_nsei(msg), bvci, + "type %s for unknown BVCI\n", ns_nsei, bvci, bssgp_pdu_str(pdu_type)); return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); } @@ -1096,7 +1099,7 @@ LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Cannot handle PDU type %s for " "unknown BVCI, NS BVCI %u\n", - msgb_nsei(msg), bvci, bssgp_pdu_str(pdu_type), ns_bvci); + ns_nsei, bvci, bssgp_pdu_str(pdu_type), ns_bvci); return rc; } diff --git a/src/gb/gprs_bssgp_util.c b/src/gb/gprs_bssgp_util.c index 669dfb8..95bf8285 100644 --- a/src/gb/gprs_bssgp_util.c +++ b/src/gb/gprs_bssgp_util.c @@ -216,6 +216,7 @@ /* Chapter 10.4.14: Status */ int bssgp_tx_status(uint8_t cause, uint16_t *bvci, struct msgb *orig_msg) { + uint16_t nsei = msgb_nsei(orig_msg); struct msgb *msg = bssgp_msgb_alloc(); struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); @@ -236,7 +237,7 @@ LOGP(DBSSGP, LOGL_NOTICE, "BSSGP BVCI=%u Tx STATUS, cause=%s\n", bvci ? *bvci : 0, bssgp_cause_str(cause)); - msgb_nsei(msg) = msgb_nsei(orig_msg); + msgb_nsei(msg) = nsei; msgb_bvci(msg) = 0; bgph->pdu_type = BSSGP_PDUT_STATUS; -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:15:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 15:15:06 +0000 Subject: Change in libosmocore[master]: BSSGP: add logging macro wrappers Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13205 Change subject: BSSGP: add logging macro wrappers ...................................................................... BSSGP: add logging macro wrappers Add BSSGP-specific wrappers for LOGP/DEBUGP to unify log messages similar to LOGPFSM* wrappers. Change-Id: I8cd2bdb12aa3a5a7dfcb7a85fee35ec3a3a9820b --- M include/osmocom/gprs/gprs_bssgp.h M src/gb/gprs_bssgp.c M src/gb/gprs_bssgp_bss.c M src/gb/gprs_bssgp_util.c 4 files changed, 74 insertions(+), 111 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/13205/1 diff --git a/include/osmocom/gprs/gprs_bssgp.h b/include/osmocom/gprs/gprs_bssgp.h index 400c3e0..0b772cf 100644 --- a/include/osmocom/gprs/gprs_bssgp.h +++ b/include/osmocom/gprs/gprs_bssgp.h @@ -11,6 +11,12 @@ #include +#define LOGBSSGP(bvci, nsei, lvl, fmt, args...) \ + LOGP(DBSSGP, lvl, "BSSGP (BVCI=%u, NSEI=%u) " fmt, bvci, nsei, ## args) + +#define DEBUGBSSGP(bvci, nsei, fmt, args...) \ + DEBUGP(DBSSGP, "BSSGP (BVCI=%u, NSEI=%u) " fmt, bvci, nsei, ## args) + /* gprs_bssgp_util.c */ extern struct gprs_ns_inst *bssgp_nsi; struct msgb *bssgp_msgb_alloc(void); diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 7acc9d9..b0a1089 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -94,8 +94,7 @@ llist_for_each_entry(bctx, &bssgp_bvc_ctxts, list) { if (bctx->nsei == nsei && bctx->bvci != BVCI_SIGNALLING) { - LOGP(DBSSGP, LOGL_DEBUG, "NSEI=%u/BVCI=%u RESET due to %s\n", - nsei, bctx->bvci, bssgp_cause_str(cause)); + DEBUGBSSGP(bctx->bvci, nsei, "RESET due to %s\n", bssgp_cause_str(cause)); rc = bssgp_tx_bvc_reset(bctx, bctx->bvci, cause); if (rc < 0) return rc; @@ -262,8 +261,7 @@ uint16_t bvci; bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx RESET cause=%s\n", bvci, - bssgp_cause_str(*TLVP_VAL(tp, BSSGP_IE_CAUSE))); + DEBUGBSSGP(bvci, nsei, "Rx RESET cause=%s\n", bssgp_cause_str(*TLVP_VAL(tp, BSSGP_IE_CAUSE))); /* look-up or create the BTS context for this BVC */ bctx = btsctx_by_bvci_nsei(bvci, nsei); @@ -277,15 +275,13 @@ * informs us about its RAC + Cell ID, so we can create a mapping */ if (bvci != 0 && bvci != 1) { if (!TLVP_PRESENT(tp, BSSGP_IE_CELL_ID)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx RESET " - "missing mandatory IE\n", bvci); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx RESET missing mandatory IE\n"); return -EINVAL; } /* actually extract RAC / CID */ bctx->cell_id = bssgp_parse_cell_id(&bctx->ra_id, TLVP_VAL(tp, BSSGP_IE_CELL_ID)); - LOGP(DBSSGP, LOGL_NOTICE, "Cell %s CI %u on BVCI %u\n", - osmo_rai_name(&bctx->ra_id), bctx->cell_id, bvci); + LOGBSSGP(bvci, nsei, LOGL_NOTICE, "Cell %s CI %u\n", osmo_rai_name(&bctx->ra_id), bctx->cell_id); } /* Send NM_BVC_RESET.ind to NM */ @@ -313,13 +309,11 @@ bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); if (bvci == BVCI_SIGNALLING) { /* 8.3.2: Signalling BVC shall never be blocked */ - LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u/BVCI=%u " - "received block for signalling BVC!?!\n", - nsei, msgb_bvci(msg)); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "received block for signalling BVC!?!\n"); return 0; } - LOGP(DBSSGP, LOGL_INFO, "BSSGP Rx BVCI=%u BVC-BLOCK\n", bvci); + LOGBSSGP(bvci, nsei, LOGL_INFO, "Rx BVC-BLOCK\n"); ptp_ctx = btsctx_by_bvci_nsei(bvci, nsei); if (!ptp_ctx) @@ -351,13 +345,11 @@ bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); if (bvci == BVCI_SIGNALLING) { /* 8.3.2: Signalling BVC shall never be blocked */ - LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u/BVCI=%u " - "received unblock for signalling BVC!?!\n", - nsei, msgb_bvci(msg)); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "received unblock for signalling BVC!?!\n"); return 0; } - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx BVC-UNBLOCK\n", bvci); + DEBUGBSSGP(bvci, nsei, "Rx BVC-UNBLOCK\n"); ptp_ctx = btsctx_by_bvci_nsei(bvci, nsei); if (!ptp_ctx) @@ -389,13 +381,13 @@ /* extract TLLI and parse TLV IEs */ msgb_tlli(msg) = osmo_ntohl(budh->tlli); - DEBUGP(DBSSGP, "BSSGP TLLI=0x%08x Rx UPLINK-UNITDATA\n", msgb_tlli(msg)); + DEBUGBSSGP(ctx->bvci, ctx->nsei, "TLLI=0x%08x Rx UPLINK-UNITDATA\n", msgb_tlli(msg)); /* Cell ID and LLC_PDU are the only mandatory IE */ if (!TLVP_PRESENT(tp, BSSGP_IE_CELL_ID) || !TLVP_PRESENT(tp, BSSGP_IE_LLC_PDU)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP TLLI=0x%08x Rx UL-UD " - "missing mandatory IE\n", msgb_tlli(msg)); + LOGBSSGP(ctx->bvci, ctx->nsei, LOGL_ERROR, "TLLI=0x%08x Rx UL-UD missing mandatory IE\n", + msgb_tlli(msg)); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } @@ -424,15 +416,13 @@ if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || !TLVP_PRESENT(tp, BSSGP_IE_ROUTEING_AREA)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx SUSPEND " - "missing mandatory IE\n", ns_bvci); + LOGBSSGP(ns_bvci, nsei, LOGL_ERROR, "Rx SUSPEND missing mandatory IE\n"); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } tlli = tlvp_val32be(tp, BSSGP_IE_TLLI); - DEBUGP(DBSSGP, "BSSGP BVCI=%u TLLI=0x%08x Rx SUSPEND\n", - ns_bvci, tlli); + DEBUGBSSGP(ns_bvci, nsei, "TLLI=0x%08x Rx SUSPEND\n", tlli); gsm48_parse_ra(&raid, TLVP_VAL(tp, BSSGP_IE_ROUTEING_AREA)); @@ -466,15 +456,14 @@ if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || !TLVP_PRESENT(tp, BSSGP_IE_ROUTEING_AREA) || !TLVP_PRESENT(tp, BSSGP_IE_SUSPEND_REF_NR)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx RESUME " - "missing mandatory IE\n", ns_bvci); + LOGBSSGP(ns_bvci, nsei, LOGL_ERROR, "Rx RESUME missing mandatory IE\n"); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } tlli = tlvp_val32be(tp, BSSGP_IE_TLLI); suspend_ref = *TLVP_VAL(tp, BSSGP_IE_SUSPEND_REF_NR); - DEBUGP(DBSSGP, "BSSGP BVCI=%u TLLI=0x%08x Rx RESUME\n", ns_bvci, tlli); + DEBUGBSSGP(ns_bvci, nsei, "TLLI=0x%08x Rx RESUME\n", tlli); gsm48_parse_ra(&raid, TLVP_VAL(tp, BSSGP_IE_ROUTEING_AREA)); @@ -509,15 +498,13 @@ !TLVP_PRESENT(tp, BSSGP_IE_LLC_FRAMES_DISCARDED) || !TLVP_PRESENT(tp, BSSGP_IE_BVCI) || !TLVP_PRESENT(tp, BSSGP_IE_NUM_OCT_AFF)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx LLC DISCARDED " - "missing mandatory IE\n", ctx->bvci); + LOGBSSGP(ctx->bvci, nsei, LOGL_ERROR, "Rx LLC DISCARDED missing mandatory IE\n"); } if (TLVP_PRESENT(tp, BSSGP_IE_TLLI)) tlli = tlvp_val32be(tp, BSSGP_IE_TLLI); - DEBUGP(DBSSGP, "BSSGP BVCI=%u TLLI=%08x Rx LLC DISCARDED\n", - ctx->bvci, tlli); + DEBUGBSSGP(ctx->bvci, nsei, "TLLI=%08x Rx LLC DISCARDED\n", tlli); rate_ctr_inc(&ctx->ctrg->ctr[BSSGP_CTR_DISCARDED]); @@ -541,22 +528,18 @@ enum gprs_bssgp_cause cause; if (!TLVP_PRESENT(tp, BSSGP_IE_CAUSE)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx STATUS " - "missing mandatory IE\n", bvci); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx STATUS missing mandatory IE\n"); cause = BSSGP_CAUSE_PROTO_ERR_UNSPEC; } else { cause = *TLVP_VAL(tp, BSSGP_IE_CAUSE); } - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP BVCI=%u Rx BVC STATUS, cause=%s\n", - bvci, bssgp_cause_str(cause)); + LOGBSSGP(bvci, nsei, LOGL_NOTICE, "Rx BVC STATUS, cause=%s\n", bssgp_cause_str(cause)); if (cause == BSSGP_CAUSE_BVCI_BLOCKED || cause == BSSGP_CAUSE_UNKNOWN_BVCI) { if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI)) - LOGP(DBSSGP, LOGL_ERROR, - "BSSGP BVCI=%u Rx STATUS cause=%s " - "missing conditional BVCI IE\n", - bvci, bssgp_cause_str(cause)); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx STATUS cause=%s missing conditional BVCI IE\n", + bssgp_cause_str(cause)); } if (bctx) @@ -805,16 +788,14 @@ uint32_t old_r_def_ms = bctx->r_default_ms; uint16_t nsei = msgb_nsei(msg); - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx Flow Control BVC\n", - bctx->bvci); + DEBUGBSSGP(bctx->bvci, nsei, "Rx Flow Control BVC\n"); if (!TLVP_PRESENT(tp, BSSGP_IE_TAG) || !TLVP_PRESENT(tp, BSSGP_IE_BVC_BUCKET_SIZE) || !TLVP_PRESENT(tp, BSSGP_IE_BUCKET_LEAK_RATE) || !TLVP_PRESENT(tp, BSSGP_IE_BMAX_DEFAULT_MS) || !TLVP_PRESENT(tp, BSSGP_IE_R_DEFAULT_MS)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx FC BVC " - "missing mandatory IE\n", bctx->bvci); + LOGBSSGP(bctx->bvci, nsei, LOGL_ERROR, "Rx FC BVC missing mandatory IE\n"); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); } @@ -828,18 +809,18 @@ bctx->r_default_ms = 100 * tlvp_val16be(tp, BSSGP_IE_R_DEFAULT_MS) / 8; if (old_leak_rate != 0 && bctx->fc->bucket_leak_rate == 0) - LOGP(DBSSGP, LOGL_NOTICE, "BSS instructs us to bucket leak " - "rate of 0, stopping all DL GPRS!\n"); + LOGBSSGP(bctx->bvci, nsei, LOGL_NOTICE, + "BSS instructs us to bucket leak rate of 0, stopping all DL GPRS!\n"); else if (old_leak_rate == 0 && bctx->fc->bucket_leak_rate != 0) - LOGP(DBSSGP, LOGL_NOTICE, "BSS instructs us to bucket leak " - "rate of != 0, restarting all DL GPRS!\n"); + LOGBSSGP(bctx->bvci, nsei, LOGL_NOTICE, + "BSS instructs us to bucket leak rate of != 0, restarting all DL GPRS!\n"); if (old_r_def_ms != 0 && bctx->r_default_ms == 0) - LOGP(DBSSGP, LOGL_NOTICE, "BSS instructs us to MS default " - "bucket leak rate of 0, stopping DL GPRS!\n"); + LOGBSSGP(bctx->bvci, nsei, LOGL_NOTICE, + "BSS instructs us to MS default bucket leak rate of 0, stopping DL GPRS!\n"); else if (old_r_def_ms == 0 && bctx->r_default_ms != 0) - LOGP(DBSSGP, LOGL_NOTICE, "BSS instructs us to MS default " - "bucket leak rate != 0, restarting DL GPRS!\n"); + LOGBSSGP(bctx->bvci, nsei, LOGL_NOTICE, + "BSS instructs us to MS default bucket leak rate != 0, restarting DL GPRS!\n"); /* reconfigure the timer for flow control based on new values */ fc_queue_timer_cfg(bctx->fc); @@ -875,13 +856,12 @@ break; case BSSGP_PDUT_RA_CAPABILITY: /* BSS requests RA capability or IMSI */ - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx RA CAPABILITY UPDATE\n", - bctx->bvci); + DEBUGBSSGP(bctx->bvci, bctx->nsei, "Rx RA CAPABILITY UPDATE\n"); /* FIXME: send GMM_RA_CAPABILITY_UPDATE.ind to GMM */ /* FIXME: send RA_CAPA_UPDATE_ACK */ break; case BSSGP_PDUT_RADIO_STATUS: - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx RADIO STATUS\n", bctx->bvci); + DEBUGBSSGP(bctx->bvci, bctx->nsei, "Rx RADIO STATUS\n"); /* BSS informs us of some exception */ /* FIXME: send GMM_RADIO_STATUS.ind to GMM */ break; @@ -891,8 +871,7 @@ break; case BSSGP_PDUT_FLOW_CONTROL_MS: /* BSS informs us of available bandwidth to one MS */ - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx Flow Control MS\n", - bctx->bvci); + DEBUGBSSGP(bctx->bvci, bctx->nsei, "Rx Flow Control MS\n"); /* FIXME: actually implement flow control */ /* FIXME: Send FLOW_CONTROL_MS_ACK */ break; @@ -904,8 +883,7 @@ case BSSGP_PDUT_CREATE_BSS_PFC_NACK: case BSSGP_PDUT_MODIFY_BSS_PFC: case BSSGP_PDUT_DELETE_BSS_PFC_ACK: - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx PDU type %s not [yet] " - "implemented\n", bctx->bvci, bssgp_pdu_str(pdu_type)); + DEBUGBSSGP(bctx->bvci, bctx->nsei, "Rx PDU type %s not [yet] implemented\n", bssgp_pdu_str(pdu_type)); rc = bssgp_tx_status(BSSGP_CAUSE_PDU_INCOMP_FEAT, NULL, msg); break; /* those only exist in the SGSN -> BSS direction */ @@ -915,14 +893,12 @@ case BSSGP_PDUT_RA_CAPA_UPDATE_ACK: case BSSGP_PDUT_FLOW_CONTROL_BVC_ACK: case BSSGP_PDUT_FLOW_CONTROL_MS_ACK: - DEBUGP(DBSSGP, "BSSGP BVCI=%u PDU type %s only exists in DL\n", - bctx->bvci, bssgp_pdu_str(pdu_type)); + DEBUGBSSGP(bctx->bvci, bctx->nsei, "PDU type %s only exists in DL\n", bssgp_pdu_str(pdu_type)); bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); rc = -EINVAL; break; default: - DEBUGP(DBSSGP, "BSSGP BVCI=%u PDU type %s unknown\n", - bctx->bvci, bssgp_pdu_str(pdu_type)); + DEBUGBSSGP(bctx->bvci, bctx->nsei, "PDU type %s unknown\n", bssgp_pdu_str(pdu_type)); rc = bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); break; } @@ -940,6 +916,7 @@ int rc = 0; uint16_t ns_bvci = msgb_bvci(msg); uint16_t bvci = bctx ? bctx->bvci : ns_bvci; + uint16_t nsei = bctx ? bctx->nsei : msgb_nsei(msg); switch (bgph->pdu_type) { case BSSGP_PDUT_SUSPEND: @@ -952,14 +929,13 @@ break; case BSSGP_PDUT_FLUSH_LL_ACK: /* BSS informs us it has performed LL FLUSH */ - DEBUGP(DBSSGP, "BSSGP Rx BVCI=%u FLUSH LL ACK\n", bvci); + DEBUGBSSGP(bvci, nsei, "Rx FLUSH LL ACK\n"); /* FIXME: send NM_FLUSH_LL.res to NM */ break; case BSSGP_PDUT_LLC_DISCARD: /* BSS informs that some LLC PDU's have been discarded */ if (!bctx) { - LOGP(DBSSGP, LOGL_ERROR, - "BSSGP Rx LLC-DISCARD missing mandatory BVCI\n"); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx LLC-DISCARD missing mandatory BVCI\n"); goto err_mand_ie; } rc = bssgp_rx_llc_disc(msg, tp, bctx); @@ -968,8 +944,7 @@ /* BSS tells us that BVC shall be blocked */ if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI) || !TLVP_PRESENT(tp, BSSGP_IE_CAUSE)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP Rx BVC-BLOCK " - "missing mandatory IE\n"); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx BVC-BLOCK missing mandatory IE\n"); goto err_mand_ie; } rc = bssgp_rx_bvc_block(msg, tp); @@ -977,21 +952,19 @@ case BSSGP_PDUT_BVC_UNBLOCK: /* BSS tells us that BVC shall be unblocked */ if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP Rx BVC-UNBLOCK " - "missing mandatory IE\n"); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx BVC-UNBLOCK missing mandatory IE\n"); goto err_mand_ie; } rc = bssgp_rx_bvc_unblock(msg, tp); break; case BSSGP_PDUT_BVC_RESET_ACK: - LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx BVC-RESET-ACK\n", bvci); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx BVC-RESET-ACK\n"); break; case BSSGP_PDUT_BVC_RESET: /* BSS tells us that BVC init is required */ if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI) || !TLVP_PRESENT(tp, BSSGP_IE_CAUSE)) { - LOGP(DBSSGP, LOGL_ERROR, "BSSGP Rx BVC-RESET " - "missing mandatory IE\n"); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Rx BVC-RESET missing mandatory IE\n"); goto err_mand_ie; } rc = bssgp_rx_bvc_reset(msg, tp, ns_bvci); @@ -1010,14 +983,12 @@ case BSSGP_PDUT_BVC_BLOCK_ACK: case BSSGP_PDUT_BVC_UNBLOCK_ACK: case BSSGP_PDUT_SGSN_INVOKE_TRACE: - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx PDU type %s only exists in DL\n", - bvci, bssgp_pdu_str(pdu_type)); + DEBUGBSSGP(bvci, nsei, "Rx PDU type %s only exists in DL\n", bssgp_pdu_str(pdu_type)); bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); rc = -EINVAL; break; default: - DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx PDU type %s unknown\n", - bvci, bssgp_pdu_str(pdu_type)); + DEBUGBSSGP(bvci, nsei, "Rx PDU type %s unknown\n", bssgp_pdu_str(pdu_type)); rc = bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); break; } @@ -1053,7 +1024,7 @@ rc = bssgp_tlv_parse(&tp, budh->data, data_len); } if (rc < 0) { - LOGP(DBSSGP, LOGL_ERROR, "Failed to parse BSSGP %s message. Invalid message was: %s\n", + LOGBSSGP(ns_bvci, ns_nsei, LOGL_ERROR, "Failed to parse %s message. Invalid message was: %s\n", bssgp_pdu_str(pdu_type), msgb_hexdump(msg)); if (pdu_type != BSSGP_PDUT_STATUS) return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); @@ -1083,9 +1054,8 @@ * registered if a BVCI is given. */ if (!bctx && bvci != BVCI_SIGNALLING && pdu_type != BSSGP_PDUT_BVC_RESET) { - LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU " - "type %s for unknown BVCI\n", ns_nsei, bvci, - bssgp_pdu_str(pdu_type)); + LOGBSSGP(ns_bvci, ns_nsei, LOGL_NOTICE, "Rejecting PDU type %s for unknown BVCI %u\n", + bssgp_pdu_str(pdu_type), bvci); return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); } @@ -1096,10 +1066,8 @@ else if (bctx) rc = bssgp_rx_ptp(msg, &tp, bctx); else - LOGP(DBSSGP, LOGL_NOTICE, - "NSEI=%u/BVCI=%u Cannot handle PDU type %s for " - "unknown BVCI, NS BVCI %u\n", - ns_nsei, bvci, bssgp_pdu_str(pdu_type), ns_bvci); + LOGBSSGP(ns_bvci, ns_nsei, LOGL_NOTICE, "Cannot handle PDU type %s for unknown BVCI %u\n", + bssgp_pdu_str(pdu_type), bvci); return rc; } @@ -1121,16 +1089,14 @@ /* Identifiers from UP: TLLI, BVCI, NSEI (all in msgb->cb) */ if (bvci <= BVCI_PTM ) { - LOGP(DBSSGP, LOGL_ERROR, "Cannot send DL-UD to BVCI %u\n", - bvci); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Cannot send DL-UD to BVCI\n"); msgb_free(msg); return -EINVAL; } bctx = btsctx_by_bvci_nsei(bvci, nsei); if (!bctx) { - LOGP(DBSSGP, LOGL_ERROR, "Cannot send DL-UD to unknown BVCI %u\n", - bvci); + LOGBSSGP(bvci, nsei, LOGL_ERROR, "Cannot send DL-UD to unknown BVCI\n"); msgb_free(msg); return -ENODEV; } diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c index f06c403..574b47a 100644 --- a/src/gb/gprs_bssgp_bss.c +++ b/src/gb/gprs_bssgp_bss.c @@ -60,8 +60,7 @@ struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=0) Tx SUSPEND (TLLI=0x%04x)\n", - tlli); + LOGBSSGP(0, nsei, LOGL_NOTICE, "Tx SUSPEND (TLLI=0x%04x)\n", tlli); msgb_nsei(msg) = nsei; msgb_bvci(msg) = 0; /* Signalling */ bgph->pdu_type = BSSGP_PDUT_SUSPEND; @@ -80,7 +79,7 @@ struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=0) Tx RESUME (TLLI=0x%04x)\n", + LOGBSSGP(0, nsei, LOGL_NOTICE, "Tx RESUME (TLLI=0x%04x)\n", tlli); msgb_nsei(msg) = nsei; msgb_bvci(msg) = 0; /* Signalling */ @@ -101,8 +100,7 @@ struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx RA-CAPA-UPD (TLLI=0x%04x)\n", - bctx->bvci, tlli); + LOGBSSGP(bctx->bvci, bctx->nsei, LOGL_NOTICE, "Tx RA-CAPA-UPD (TLLI=0x%04x)\n", tlli); /* set NSEI and BVCI in msgb cb */ msgb_nsei(msg) = bctx->nsei; @@ -123,8 +121,7 @@ struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx RADIO-STATUS ", - bctx->bvci); + LOGBSSGP(bctx->bvci, bctx->nsei, LOGL_NOTICE, "Tx RADIO-STATUS "); /* set NSEI and BVCI in msgb cb */ msgb_nsei(msg) = bctx->nsei; @@ -232,9 +229,8 @@ uint16_t _bvci = osmo_htons(bctx->bvci); uint32_t _oct_aff = osmo_htonl(num_octets & 0xFFFFFF); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx LLC-DISCARDED " - "TLLI=0x%04x, FRAMES=%u, OCTETS=%u\n", bctx->bvci, tlli, - num_frames, num_octets); + LOGBSSGP(bctx->bvci, bctx->nsei, LOGL_NOTICE, "Tx LLC-DISCARDED TLLI=0x%04x, FRAMES=%u, OCTETS=%u\n", + tlli, num_frames, num_octets); msgb_nsei(msg) = bctx->nsei; msgb_bvci(msg) = 0; /* Signalling */ bgph->pdu_type = BSSGP_PDUT_LLC_DISCARD; @@ -256,8 +252,7 @@ (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); uint16_t _bvci = osmo_htons(bctx->bvci); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-BLOCK " - "CAUSE=%s\n", bctx->bvci, bssgp_cause_str(cause)); + LOGBSSGP(bctx->bvci, bctx->nsei, LOGL_NOTICE, "Tx BVC-BLOCK CAUSE=%s\n", bssgp_cause_str(cause)); msgb_nsei(msg) = bctx->nsei; msgb_bvci(msg) = 0; /* Signalling */ @@ -277,7 +272,7 @@ (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); uint16_t _bvci = osmo_htons(bctx->bvci); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-UNBLOCK\n", bctx->bvci); + LOGBSSGP(bctx->bvci, bctx->nsei, LOGL_NOTICE, "Tx BVC-UNBLOCK\n"); msgb_nsei(msg) = bctx->nsei; msgb_bvci(msg) = 0; /* Signalling */ @@ -296,8 +291,7 @@ (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); uint16_t _bvci = osmo_htons(bvci); - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-RESET " - "CAUSE=%s\n", bvci, bssgp_cause_str(cause)); + LOGBSSGP(bvci, bctx->nsei, LOGL_NOTICE, "Tx BVC-RESET CAUSE=%s\n", bssgp_cause_str(cause)); msgb_nsei(msg) = bctx->nsei; msgb_bvci(msg) = 0; /* Signalling */ diff --git a/src/gb/gprs_bssgp_util.c b/src/gb/gprs_bssgp_util.c index 95bf8285..fdc4868 100644 --- a/src/gb/gprs_bssgp_util.c +++ b/src/gb/gprs_bssgp_util.c @@ -216,7 +216,7 @@ /* Chapter 10.4.14: Status */ int bssgp_tx_status(uint8_t cause, uint16_t *bvci, struct msgb *orig_msg) { - uint16_t nsei = msgb_nsei(orig_msg); + uint16_t nsei = msgb_nsei(orig_msg), b = bvci ? *bvci : 0; struct msgb *msg = bssgp_msgb_alloc(); struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); @@ -225,18 +225,15 @@ cause is either "BVCI blocked" or "BVCI unknown" */ if (cause == BSSGP_CAUSE_UNKNOWN_BVCI || cause == BSSGP_CAUSE_BVCI_BLOCKED) { if (bvci == NULL) - LOGP(DBSSGP, LOGL_ERROR, "BSSGP Tx STATUS, cause=%s: " - "missing conditional BVCI\n", - bssgp_cause_str(cause)); + LOGBSSGP(b, nsei, LOGL_ERROR, "Tx STATUS, cause=%s: missing conditional BVCI\n", + bssgp_cause_str(cause)); } else { if (bvci != NULL) - LOGP(DBSSGP, LOGL_ERROR, "BSSGP Tx STATUS, cause=%s: " - "unexpected conditional BVCI\n", - bssgp_cause_str(cause)); + LOGBSSGP(b, nsei, LOGL_ERROR, "Tx STATUS, cause=%s: unexpected conditional BVCI\n", + bssgp_cause_str(cause)); } - LOGP(DBSSGP, LOGL_NOTICE, "BSSGP BVCI=%u Tx STATUS, cause=%s\n", - bvci ? *bvci : 0, bssgp_cause_str(cause)); + LOGBSSGP(b, nsei, LOGL_NOTICE, "Tx STATUS, cause=%s\n", bssgp_cause_str(cause)); msgb_nsei(msg) = nsei; msgb_bvci(msg) = 0; -- To view, visit https://gerrit.osmocom.org/13205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8cd2bdb12aa3a5a7dfcb7a85fee35ec3a3a9820b Gerrit-Change-Number: 13205 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:15:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 15:15:07 +0000 Subject: Change in libosmocore[master]: BSSGP: use BVCI and NSEI as rate counter index Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13206 Change subject: BSSGP: use BVCI and NSEI as rate counter index ...................................................................... BSSGP: use BVCI and NSEI as rate counter index According to 3GPP TS 48.018 ?5.4.4 Network Service Entity (used in BSS and SGSN) is identified by both NSEI and BVCI but previously rate counter group used only BVCI for index. Let's fix this by using concatenation of BVCI and NSEI as index. Change-Id: I6a3ffe2fd147532f2469ec8120134ed69692fb41 Related: OS#3827 --- M src/gb/gprs_bssgp.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/13206/1 diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index b0a1089..decb979 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -119,14 +119,14 @@ struct bssgp_bvc_ctx *btsctx_alloc(uint16_t bvci, uint16_t nsei) { struct bssgp_bvc_ctx *ctx; + unsigned int idx = bvci << 16 | nsei; ctx = talloc_zero(bssgp_tall_ctx, struct bssgp_bvc_ctx); if (!ctx) return NULL; ctx->bvci = bvci; ctx->nsei = nsei; - /* FIXME: BVCI is not unique, only BVCI+NSEI ?!? */ - ctx->ctrg = rate_ctr_group_alloc(ctx, &bssgp_ctrg_desc, bvci); + ctx->ctrg = rate_ctr_group_alloc(ctx, &bssgp_ctrg_desc, idx); ctx->fc = talloc_zero(ctx, struct bssgp_flow_control); /* cofigure for 2Mbit, 30 packets in queue */ bssgp_fc_init(ctx->fc, 100000, 2*1024*1024/8, 30, &_bssgp_tx_dl_ud); -- To view, visit https://gerrit.osmocom.org/13206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6a3ffe2fd147532f2469ec8120134ed69692fb41 Gerrit-Change-Number: 13206 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:15:21 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 11 Mar 2019 15:15:21 +0000 Subject: Change in libosmocore[master]: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13207 Change subject: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label ...................................................................... osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label Change-Id: Id84021858dfb2f7d6a7cf81ae73bd94cd47f6776 --- M src/gsm/gsm48.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/13207/1 diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 4166c15..5dc30ad 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -1192,7 +1192,7 @@ static char buf[128]; char cm1[42] = "no-cm1"; char cm2[42] = " no-cm2"; - char cm3[42] = " no-cm2"; + char cm3[42] = " no-cm3"; if (cm->classmark1_set) snprintf(cm1, sizeof(cm1), "cm1{a5/1=%s}", -- To view, visit https://gerrit.osmocom.org/13207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id84021858dfb2f7d6a7cf81ae73bd94cd47f6776 Gerrit-Change-Number: 13207 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:22:40 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 15:22:40 +0000 Subject: Change in libosmo-abis[master]: rtp: Add 'autoconnect' feature to the osmo_rtp_socket In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13203 ) Change subject: rtp: Add 'autoconnect' feature to the osmo_rtp_socket ...................................................................... Patch Set 1: Code-Review+1 Out of curiosity, what's the use-case for that? -- To view, visit https://gerrit.osmocom.org/13203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Gerrit-Change-Number: 13203 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 11 Mar 2019 15:22:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 15:25:13 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 11 Mar 2019 15:25:13 +0000 Subject: Change in libosmo-abis[master]: rtp: Add 'autoconnect' feature to the osmo_rtp_socket In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13203 ) Change subject: rtp: Add 'autoconnect' feature to the osmo_rtp_socket ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > Out of curiosity, what's the use-case for that? http://git.osmocom.org/osmo-bts/commit/?h=tnt/ber&id=a0ffd4c27fc489fa9a135a41d5c1324ef29037bc -- To view, visit https://gerrit.osmocom.org/13203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Gerrit-Change-Number: 13203 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 11 Mar 2019 15:25:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 16:10:41 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Mon, 11 Mar 2019 16:10:41 +0000 Subject: Change in osmo-bsc[master]: handover_fsm: copy old S15_S0 to new lchan In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13200 ) Change subject: handover_fsm: copy old S15_S0 to new lchan ...................................................................... handover_fsm: copy old S15_S0 to new lchan When a new lchan is selected during handover, some of the properties of the old lchan are inherited by the new lchan. At the moment S15-S0 is not not inherited so that the value for those bits will always be 0x0000 for the new lchan. Since those bits also define the active set AMR codec the channel activation will fail because 0x0000 is invalid (active set with zero rates) Change-Id: Ifd470397e99985394634da1bb13ccfc5041984d2 Related: OS#3503 --- M src/osmo-bsc/handover_fsm.c M tests/handover/handover_test.c 2 files changed, 4 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 30297f6..a3d25d6 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -362,6 +362,7 @@ .msc_assigned_cic = conn->ho.inter_bsc_in.msc_assigned_cic, .re_use_mgw_endpoint_from_lchan = conn->lchan, .wait_before_switching_rtp = true, + .s15_s0 = conn->lchan->activate.info.s15_s0, }; lchan_activate(ho->new_lchan, &info); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 6217ca3..cd3b749 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -276,9 +276,10 @@ lchan->tch_mode = GSM48_CMODE_SPEECH_V1; else if (!strcasecmp(codec, "EFR") && full_rate) lchan->tch_mode = GSM48_CMODE_SPEECH_EFR; - else if (!strcasecmp(codec, "AMR")) + else if (!strcasecmp(codec, "AMR")) { lchan->tch_mode = GSM48_CMODE_SPEECH_AMR; - else { + lchan->activate.info.s15_s0 = 0x0002; + } else { printf("Given codec unknown\n"); exit(EXIT_FAILURE); } -- To view, visit https://gerrit.osmocom.org/13200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifd470397e99985394634da1bb13ccfc5041984d2 Gerrit-Change-Number: 13200 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 16:47:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 16:47:56 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13204/1/src/gb/gprs_bssgp.c File src/gb/gprs_bssgp.c: https://gerrit.osmocom.org/#/c/13204/1/src/gb/gprs_bssgp.c at 1039 PS1, Line 1039: ns_nsei 1) we don't assign values to multiple variables in one line 2) the naming "ns_nsei" makes no sense at all. A NSEI only exists at NS level. The variable "NS_BVCI" makes sense, as there are BVCIs at BSSGP level and also a BVCI in (some) NS messages. And they can difer. But for NSEI, this is different and the variable should just be called nsei. -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 16:47:56 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 16:49:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 16:49:09 +0000 Subject: Change in libosmocore[master]: BSSGP: add logging macro wrappers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13205 ) Change subject: BSSGP: add logging macro wrappers ...................................................................... Patch Set 1: Without detailed re-study of the specs, I'm really not sure if logging the NSEI makes sense in all cases when logging at the BSSGP level. -- To view, visit https://gerrit.osmocom.org/13205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8cd2bdb12aa3a5a7dfcb7a85fee35ec3a3a9820b Gerrit-Change-Number: 13205 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Mon, 11 Mar 2019 16:49:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 16:52:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 11 Mar 2019 16:52:40 +0000 Subject: Change in libosmocore[master]: BSSGP: use BVCI and NSEI as rate counter index In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13206 ) Change subject: BSSGP: use BVCI and NSEI as rate counter index ...................................................................... Patch Set 1: Code-Review-1 I'm not sure here either. In osmocom, the BVCI must be globally unique for each entity. The SGSN cannot support the same BVCI on differen NS-VCs/NSEIs. Changing the rate counter index will not make that assumption/limitation go away. I'd prefer to keep it as-is (easily understandable counter index). If anyone ever wants to overhaul libosmogb to support the same BVCI in multiple NSVC, then this trivial change can then be made at that time. -- To view, visit https://gerrit.osmocom.org/13206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6a3ffe2fd147532f2469ec8120134ed69692fb41 Gerrit-Change-Number: 13206 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 11 Mar 2019 16:52:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 17:22:03 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 17:22:03 +0000 Subject: Change in osmo-bts[master]: oc2g: l1if: delay trx initialization to avoid race condition Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13208 Change subject: oc2g: l1if: delay trx initialization to avoid race condition ...................................................................... oc2g: l1if: delay trx initialization to avoid race condition On links with high latency it can happen that RADIO CARRIER OPSTART is carried out to early, even before SET BTS ATTRIBUTES is carried out. This means that important parameters for the initalization are not yet set and the TRX initalization failed. Lets delay the TRX initalization a bit in order to be sure that all BTS attributes are set before the initalization is carried out. Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Related: OS3782 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/13208/1 diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 52ec3e7..e834879 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1494,13 +1494,25 @@ return 0; } -int l1if_reset(struct oc2gl1_hdl *hdl) +/* FIXME: This delays the TRX initalization by 5 sec in order to avoid the + * occurrence of a race condition in the OML bringup. This a work around and + * should be fixed properly. See also OS#3782, OS#2470 and OS#2469 */ +void l1if_reset_cb(void *arg) { + struct oc2gl1_hdl *hdl = arg; struct msgb *msg = sysp_msgb_alloc(); Oc2g_Prim_t *sysp = msgb_sysprim(msg); sysp->id = Oc2g_PrimId_Layer1ResetReq; - return l1if_req_compl(hdl, msg, reset_compl_cb, NULL); + l1if_req_compl(hdl, msg, reset_compl_cb, NULL); +} + +int l1if_reset(struct oc2gl1_hdl *hdl) +{ + static struct osmo_timer_list T_l1if_reset; + osmo_timer_setup(&T_l1if_reset, l1if_reset_cb, hdl); + osmo_timer_schedule(&T_l1if_reset, 5, 0); + return 0; } /* set the trace flags within the DSP */ -- To view, visit https://gerrit.osmocom.org/13208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Gerrit-Change-Number: 13208 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 18:31:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 Mar 2019 18:31:41 +0000 Subject: Change in osmo-bts[master]: oc2g: l1if: delay trx initialization to avoid race condition In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13208 to look at the new patch set (#2). Change subject: oc2g: l1if: delay trx initialization to avoid race condition ...................................................................... oc2g: l1if: delay trx initialization to avoid race condition On links with high latency it can happen that RADIO CARRIER OPSTART is carried out to early, even before SET BTS ATTRIBUTES is carried out. This means that important parameters for the initalization are not yet set and the TRX initalization failed. Lets delay the TRX initalization a bit in order to be sure that all BTS attributes are set before the initalization is carried out. Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Related: OS#3782 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/13208/2 -- To view, visit https://gerrit.osmocom.org/13208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Gerrit-Change-Number: 13208 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 19:12:21 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 11 Mar 2019 19:12:21 +0000 Subject: Change in libosmocore[master]: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13207 ) Change subject: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id84021858dfb2f7d6a7cf81ae73bd94cd47f6776 Gerrit-Change-Number: 13207 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 19:12:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 19:35:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 11 Mar 2019 19:35:41 +0000 Subject: Change in osmo-bts[master]: oc2g: l1if: delay trx initialization to avoid race condition In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13208 ) Change subject: oc2g: l1if: delay trx initialization to avoid race condition ...................................................................... Patch Set 2: Code-Review-1 I think this commit is good as a proof of concept, but it's a hack rather than a fix, so I'd prefer having a better fix for this issue (like storing some state and delaying the opstat to a later point in time after receiving some event which triggers sending it). -- To view, visit https://gerrit.osmocom.org/13208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Gerrit-Change-Number: 13208 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 11 Mar 2019 19:35:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 20:21:36 2019 From: gerrit-no-reply at lists.osmocom.org (supersat) Date: Mon, 11 Mar 2019 20:21:36 +0000 Subject: Change in libosmocore[master]: Fix build on non-glibc systems Message-ID: supersat has uploaded this change for review. ( https://gerrit.osmocom.org/13209 Change subject: Fix build on non-glibc systems ...................................................................... Fix build on non-glibc systems Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 --- M src/gsm/gsm_utils.c 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/13209/1 diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 02cb3d5..c9c15d5 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -100,7 +100,12 @@ #if (!EMBEDDED) /* FIXME: this can be removed once we bump glibc requirements to 2.25: */ -#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2,25) +#ifdef __GLIBC_PREREQ +#if __GLIBC_PREREQ(2,25) +#define HAVE_GLIBC_GETRANDOM +#endif /* if __GLIBC_PREREQ(2,25) */ +#endif /* ifdef __GLIBC_PREREQ */ +#ifdef HAVE_GLIBC_GETRANDOM #pragma message ("glibc " OSMO_STRINGIFY_VAL(__GLIBC__) "." OSMO_STRINGIFY_VAL(__GLIBC_MINOR__) " random detected") #include #undef USE_GNUTLS @@ -109,7 +114,7 @@ #ifndef GRND_NONBLOCK #define GRND_NONBLOCK 0x0001 #endif /* ifndef GRND_NONBLOCK */ -#endif /* if __GLIBC_PREREQ */ +#endif /* ifdef HAVE_GLIBC_GETRANDOM */ #endif /* !EMBEDDED */ #if (USE_GNUTLS) @@ -447,7 +452,7 @@ if (len > OSMO_MAX_RAND_ID_LEN) return -E2BIG; #if (!EMBEDDED) -#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2,25) +#ifdef HAVE_GLIBC_GETRANDOM rc = getrandom(out, len, GRND_NONBLOCK); #elif HAVE_DECL_SYS_GETRANDOM #pragma message ("Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25") -- To view, visit https://gerrit.osmocom.org/13209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 Gerrit-Change-Number: 13209 Gerrit-PatchSet: 1 Gerrit-Owner: supersat -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 22:03:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 22:03:52 +0000 Subject: Change in libosmocore[master]: Fix build on non-glibc systems In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13209 ) Change subject: Fix build on non-glibc systems ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 Gerrit-Change-Number: 13209 Gerrit-PatchSet: 1 Gerrit-Owner: supersat Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 11 Mar 2019 22:03:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 11 22:04:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 11 Mar 2019 22:04:08 +0000 Subject: Change in libosmocore[master]: Fix build on non-glibc systems In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13209 ) Change subject: Fix build on non-glibc systems ...................................................................... Patch Set 1: Code-Review+1 Wrong button :) -- To view, visit https://gerrit.osmocom.org/13209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 Gerrit-Change-Number: 13209 Gerrit-PatchSet: 1 Gerrit-Owner: supersat Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 11 Mar 2019 22:04:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 02:50:25 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 12 Mar 2019 02:50:25 +0000 Subject: Change in libosmocore[master]: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13207 ) Change subject: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id84021858dfb2f7d6a7cf81ae73bd94cd47f6776 Gerrit-Change-Number: 13207 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Tue, 12 Mar 2019 02:50:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 08:29:38 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 Mar 2019 08:29:38 +0000 Subject: Change in libosmo-netif[master]: amr: cosmetic: correct sourcecode formatting Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13210 Change subject: amr: cosmetic: correct sourcecode formatting ...................................................................... amr: cosmetic: correct sourcecode formatting Change-Id: Ie4ad6b1a2382da4dc21e66a45c2a96224cab5752 --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/10/13210/1 diff --git a/src/amr.c b/src/amr.c index d3f7b38..9b423e8 100644 --- a/src/amr.c +++ b/src/amr.c @@ -165,7 +165,7 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - for (i = 0; i < frame_len -1; i++) { + for (i = 0; i < frame_len - 1; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } -- To view, visit https://gerrit.osmocom.org/13210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie4ad6b1a2382da4dc21e66a45c2a96224cab5752 Gerrit-Change-Number: 13210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 08:29:39 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 Mar 2019 08:29:39 +0000 Subject: Change in libosmo-netif[master]: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13211 Change subject: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf ...................................................................... amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf osmo_amr_bwe_to_oa() uses an internal buffer with static size to store intermediate results. The buffer is large enough for any real world situation, but the check that tests if the result would fit into the internal buffer is incorrect. It checks if there is enough room for the existing payload, but does not include the expected growth of the payload. Eventually the buffer could be overrun by one byte if one would put a 256 byte long AMR payload. Fixes: CID#195926 Change-Id: I4d7ac570a0b48368a82183673c46bca5f235f228 --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/11/13211/1 diff --git a/src/amr.c b/src/amr.c index 9b423e8..9c63f60 100644 --- a/src/amr.c +++ b/src/amr.c @@ -158,7 +158,7 @@ if (payload_len + 1 > payload_maxlen) return -1; - if (payload_len > sizeof(buf)) + if (payload_len + 1 > sizeof(buf)) return -1; buf[0] = payload[0] & 0xf0; -- To view, visit https://gerrit.osmocom.org/13211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4d7ac570a0b48368a82183673c46bca5f235f228 Gerrit-Change-Number: 13211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 08:29:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 Mar 2019 08:29:41 +0000 Subject: Change in libosmo-netif[master]: amr: make buffer in osmo_amr_bwe_to_oa() static Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13212 Change subject: amr: make buffer in osmo_amr_bwe_to_oa() static ...................................................................... amr: make buffer in osmo_amr_bwe_to_oa() static The function osmo_amr_bwe_to_oa() uses an internal buffer to store intermediate results. Since osmo_amr_bwe_to_oa() is called for every AMR packet that is processed, lets have the buffer static to save some overhead. Change-Id: I8ffbf3a4515e1c2385a0b6b2d5fe8e756056fb0d --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/12/13212/1 diff --git a/src/amr.c b/src/amr.c index 9c63f60..24e0ecb 100644 --- a/src/amr.c +++ b/src/amr.c @@ -149,7 +149,7 @@ int osmo_amr_bwe_to_oa(uint8_t *payload, unsigned int payload_len, unsigned int payload_maxlen) { - uint8_t buf[256]; + static uint8_t buf[256]; unsigned int frame_len = payload_len - 1; unsigned int i; -- To view, visit https://gerrit.osmocom.org/13212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8ffbf3a4515e1c2385a0b6b2d5fe8e756056fb0d Gerrit-Change-Number: 13212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 08:38:34 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 Mar 2019 08:38:34 +0000 Subject: Change in osmo-bts[master]: oc2g: l1if: delay trx initialization to avoid race condition In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13208 ) Change subject: oc2g: l1if: delay trx initialization to avoid race condition ...................................................................... Patch Set 2: > I think this commit is good as a proof of concept, but it's a hack > rather than a fix, so I'd prefer having a better fix for this issue > (like storing some state and delaying the opstat to a later point > in time after receiving some event which triggers sending it). We are aware of that, thats why we first decided not to put it into review at all. We then decided to submit it anyway because for now it is better than nothing and it does not affect other BTS implementations. See also the fixme note int the code. -- To view, visit https://gerrit.osmocom.org/13208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Gerrit-Change-Number: 13208 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 12 Mar 2019 08:38:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 09:56:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 Mar 2019 09:56:44 +0000 Subject: Change in osmo-mgw[master]: AMR: Add function to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13159 ) Change subject: AMR: Add function to convert between bw-effient and octet aligned mode ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Gerrit-Change-Number: 13159 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 12 Mar 2019 09:56:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 11:29:43 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 11:29:43 +0000 Subject: Change in libosmo-netif[master]: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13211 ) Change subject: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d7ac570a0b48368a82183673c46bca5f235f228 Gerrit-Change-Number: 13211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 12 Mar 2019 11:29:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 11:29:58 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 11:29:58 +0000 Subject: Change in libosmo-netif[master]: amr: cosmetic: correct sourcecode formatting In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13210 ) Change subject: amr: cosmetic: correct sourcecode formatting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie4ad6b1a2382da4dc21e66a45c2a96224cab5752 Gerrit-Change-Number: 13210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 12 Mar 2019 11:29:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 11:42:18 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 12 Mar 2019 11:42:18 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: clarify decoding of incomplete xCCH blocks In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13197 ) Change subject: trxcon/scheduler: clarify decoding of incomplete xCCH blocks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 Gerrit-Change-Number: 13197 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 12 Mar 2019 11:42:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 11:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 12 Mar 2019 11:44:12 +0000 Subject: Change in libosmocore[master]: Fix build on non-glibc systems In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13209 ) Change subject: Fix build on non-glibc systems ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 Gerrit-Change-Number: 13209 Gerrit-PatchSet: 1 Gerrit-Owner: supersat Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 12 Mar 2019 11:44:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 11:55:48 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 11:55:48 +0000 Subject: Change in osmo-pcu[master]: MS store: move test helper to unit test Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13213 Change subject: MS store: move test helper to unit test ...................................................................... MS store: move test helper to unit test It's confusing to have test-specific helper with the same name as tested function directly inside the GprsMsStorage class. Let's convert it into static function and move to the unit test. Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33 --- M src/gprs_ms_storage.cpp M src/gprs_ms_storage.h M tests/ms/MsTest.cpp 3 files changed, 18 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/13/13213/1 diff --git a/src/gprs_ms_storage.cpp b/src/gprs_ms_storage.cpp index c7de6d3..04518c5 100644 --- a/src/gprs_ms_storage.cpp +++ b/src/gprs_ms_storage.cpp @@ -106,20 +106,3 @@ return ms; } - -GprsMs *GprsMsStorage::create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir) -{ - GprsMs *ms = get_ms(tlli); - - if (ms) - return ms; - - ms = create_ms(); - - if (dir == GPRS_RLCMAC_UL_TBF) - ms->set_tlli(tlli); - else - ms->confirm_tlli(tlli); - - return ms; -} diff --git a/src/gprs_ms_storage.h b/src/gprs_ms_storage.h index 44ad0ed..14707f5 100644 --- a/src/gprs_ms_storage.h +++ b/src/gprs_ms_storage.h @@ -39,7 +39,6 @@ virtual void ms_active(class GprsMs *); GprsMs *get_ms(uint32_t tlli, uint32_t old_tlli = 0, const char *imsi = 0) const; - GprsMs *create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir); GprsMs *create_ms(); const LListHead& ms_list() const {return m_list;} diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 728daf6..2b0bc0f 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -337,6 +337,22 @@ printf("=== end %s ===\n", __func__); } +static GprsMs *prepare_ms(GprsMsStorage *st, uint32_t tlli, enum gprs_rlcmac_tbf_direction dir) +{ + GprsMs *ms = st->get_ms(tlli); + if (ms) + return ms; + + ms = st->create_ms(); + + if (dir == GPRS_RLCMAC_UL_TBF) + ms->set_tlli(tlli); + else + ms->confirm_tlli(tlli); + + return ms; +} + static void test_ms_storage() { uint32_t tlli = 0xffeeddbb; @@ -355,7 +371,7 @@ ms = store.get_ms(tlli + 0); OSMO_ASSERT(ms == NULL); - ms = store.create_ms(tlli + 0, GPRS_RLCMAC_UL_TBF); + ms = prepare_ms(&store, tlli + 0, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(ms != NULL); OSMO_ASSERT(ms->tlli() == tlli + 0); ms->set_imsi(imsi1); @@ -371,7 +387,7 @@ ms_tmp = store.get_ms(0, 0, imsi2); OSMO_ASSERT(ms_tmp == NULL); - ms = store.create_ms(tlli + 1, GPRS_RLCMAC_UL_TBF); + ms = prepare_ms(&store, tlli + 1, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(ms != NULL); OSMO_ASSERT(ms->tlli() == tlli + 1); ms->set_imsi(imsi2); -- To view, visit https://gerrit.osmocom.org/13213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33 Gerrit-Change-Number: 13213 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 12:08:26 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 12 Mar 2019 12:08:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA: log host:port on listen errors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13202 ) Change subject: IPA: log host:port on listen errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca Gerrit-Change-Number: 13202 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 12 Mar 2019 12:08:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 12:11:43 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 12:11:43 +0000 Subject: Change in libosmo-netif[master]: amr: make buffer in osmo_amr_bwe_to_oa() static In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13212 ) Change subject: amr: make buffer in osmo_amr_bwe_to_oa() static ...................................................................... Patch Set 1: Code-Review-1 I see no overhead in allocating that buffer in the stack, since anyway it has to modify the stack to allocate other local variables. Furthermore, making it static means that memory is in use all the time even if AMR is not being used. -- To view, visit https://gerrit.osmocom.org/13212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8ffbf3a4515e1c2385a0b6b2d5fe8e756056fb0d Gerrit-Change-Number: 13212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 12 Mar 2019 12:11:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 12:14:32 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 12:14:32 +0000 Subject: Change in libosmo-netif[master]: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13211 ) Change subject: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d7ac570a0b48368a82183673c46bca5f235f228 Gerrit-Change-Number: 13211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 12 Mar 2019 12:14:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 12:14:48 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 12:14:48 +0000 Subject: Change in libosmo-netif[master]: amr: cosmetic: correct sourcecode formatting In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13210 ) Change subject: amr: cosmetic: correct sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie4ad6b1a2382da4dc21e66a45c2a96224cab5752 Gerrit-Change-Number: 13210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 12 Mar 2019 12:14:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 12:16:27 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 12:16:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA: log host:port on listen errors In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13202 ) Change subject: IPA: log host:port on listen errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca Gerrit-Change-Number: 13202 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 12 Mar 2019 12:16:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 12:22:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 12:22:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: IPA: log host:port on listen errors In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13202 ) Change subject: IPA: log host:port on listen errors ...................................................................... IPA: log host:port on listen errors Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca --- M library/IPA_Emulation.ttcnpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index f556327..a2066ee 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -258,7 +258,7 @@ res := IPA_CodecPort_CtrlFunct.f_IPL4_listen(IPA_PORT, local_host, local_port, { tcp:={} }); if (not ispresent(res.connId)) { - setverdict(fail, "Could not listen IPA socket, check your configuration"); + setverdict(fail, "Could not listen IPA socket ", local_host, ":", local_port, ", check your configuration"); mtc.stop; } g_ipa_conn_id := res.connId; -- To view, visit https://gerrit.osmocom.org/13202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca Gerrit-Change-Number: 13202 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 13:16:17 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 12 Mar 2019 13:16:17 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: clarify decoding of incomplete xCCH blocks In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13197 ) Change subject: trxcon/scheduler: clarify decoding of incomplete xCCH blocks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 Gerrit-Change-Number: 13197 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 12 Mar 2019 13:16:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 13:16:33 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 12 Mar 2019 13:16:33 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: clarify decoding of incomplete xCCH blocks In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/13197 ) Change subject: trxcon/scheduler: clarify decoding of incomplete xCCH blocks ...................................................................... trxcon/scheduler: clarify decoding of incomplete xCCH blocks Inspired by Sylvain's message at #osmocom. Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 --- M src/host/trxcon/sched_lchan_xcch.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 71eb38d..2d2b1d9 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -92,6 +92,10 @@ (*first_fn) % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); + /* NOTE: xCCH has an insane amount of redundancy for error + * correction, so even just 2 valid bursts might be enough + * to reconstruct some L2 frames. This is why we do not + * abort here. */ } /* Attempt to decode */ -- To view, visit https://gerrit.osmocom.org/13197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3f499837413e1dbd0ca62229dc9cb6f0f7475a42 Gerrit-Change-Number: 13197 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 14:53:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 14:53:08 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13214 Change subject: MCS: add mcs_is_*() helpers ...................................................................... MCS: add mcs_is_*() helpers In preparation for Channel Coding Command encoder in follow-up patches let's add necessary helpers. Those are similar to previously used helpers from GprsCodingScheme class but without CamelCase and with less typo chances between Gprs and Egprs cases. Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e --- M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/encoding.cpp M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp 12 files changed, 65 insertions(+), 45 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/14/13214/1 diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 9e9df6f..28bd4fb 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -46,6 +46,24 @@ return get_value_string(mcs_names, val); } +bool mcs_is_gprs(enum CodingScheme cs) +{ + return CS1 <= cs && cs <= CS4; +} + +bool mcs_is_edge(enum CodingScheme cs) +{ + return MCS1 <= cs && cs <= MCS9; +} + +bool mcs_is_edge_gmsk(enum CodingScheme cs) +{ + if (mcs_is_edge(cs)) + return cs <= MCS4; + + return false; +} + static struct { struct { uint8_t data_header_bits; diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 2f56aec..561e2a4 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -33,6 +33,10 @@ extern const struct value_string mcs_names[]; const char *mcs_name(enum CodingScheme val); +bool mcs_is_gprs(enum CodingScheme cs); +bool mcs_is_edge(enum CodingScheme cs); +bool mcs_is_edge_gmsk(enum CodingScheme cs); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, diff --git a/src/decoding.cpp b/src/decoding.cpp index 1473ff7..d439e30 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -215,7 +215,7 @@ "but no more chunks possible\n"); return -ENOSPC; } - } else if (cs.isEgprs()) { + } else if (mcs_is_edge(cs)) { /* if E is not set (LI follows), EGPRS */ num_chunks = parse_extensions_egprs(data, data_len, &offs, is_last_block, @@ -240,7 +240,7 @@ } memcpy(&tlli_enc, data + offs, sizeof(tlli_enc)); - if (cs.isGprs()) + if (mcs_is_gprs(cs)) /* The TLLI is encoded in big endian for GPRS (see * TS 44.060, figure 10.2.2.1, note) */ *tlli = be32toh(tlli_enc); diff --git a/src/encoding.cpp b/src/encoding.cpp index ad53b0b..c2502b6 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1605,12 +1605,12 @@ gprs_llc *llc, int *offset, int *num_chunks, uint8_t *data_block, bool is_final, int *count_payload) { - if (cs.isGprs()) + if (mcs_is_gprs(cs)) return rlc_data_to_dl_append_gprs(rdbi, llc, offset, num_chunks, data_block, is_final, count_payload); - if (cs.isEgprs()) + if (mcs_is_edge(cs)) return rlc_data_to_dl_append_egprs(rdbi, llc, offset, num_chunks, data_block, is_final, count_payload); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index e94b4d8..e316097 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -228,10 +228,10 @@ void GprsCodingScheme::inc() { - if (isGprs() && m_scheme == CS4) + if (mcs_is_gprs(m_scheme) && m_scheme == CS4) return; - if (isEgprs() && m_scheme == MCS9) + if (mcs_is_edge(m_scheme) && m_scheme == MCS9) return; if (!isValid()) @@ -242,10 +242,10 @@ void GprsCodingScheme::dec() { - if (isGprs() && m_scheme == CS1) + if (mcs_is_gprs(m_scheme) && m_scheme == CS1) return; - if (isEgprs() && m_scheme == MCS1) + if (mcs_is_edge(m_scheme) && m_scheme == MCS1) return; if (!isValid()) diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index b65bf01..d6c0045 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -45,9 +45,7 @@ GprsCodingScheme& operator =(GprsCodingScheme o); bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;} - bool isGprs() const {return CS1 <= m_scheme && m_scheme <= CS4;} - bool isEgprs() const {return m_scheme >= MCS1;} - bool isEgprsGmsk() const {return isEgprs() && m_scheme <= MCS4;} + bool isCompatible(enum Mode mode) const; bool isCompatible(GprsCodingScheme o) const; bool isFamilyCompatible(GprsCodingScheme o) const; @@ -86,10 +84,10 @@ inline uint8_t GprsCodingScheme::to_num() const { - if (isGprs()) + if (mcs_is_gprs(m_scheme)) return (m_scheme - CS1) + 1; - if (isEgprs()) + if (mcs_is_edge(m_scheme)) return (m_scheme - MCS1) + 1; return 0; @@ -98,9 +96,9 @@ inline bool GprsCodingScheme::isCompatible(enum Mode mode) const { switch (mode) { - case GPRS: return isGprs(); - case EGPRS_GMSK: return isEgprsGmsk(); - case EGPRS: return isEgprs(); + case GPRS: return mcs_is_gprs(m_scheme); + case EGPRS_GMSK: return mcs_is_edge_gmsk(m_scheme); + case EGPRS: return mcs_is_edge(m_scheme); } return false; @@ -108,7 +106,7 @@ inline bool GprsCodingScheme::isCompatible(GprsCodingScheme o) const { - return (isGprs() && o.isGprs()) || (isEgprs() && o.isEgprs()); + return (mcs_is_gprs(m_scheme) && mcs_is_gprs(o)) || (mcs_is_edge(m_scheme) && mcs_is_edge(o)); } inline GprsCodingScheme::GprsCodingScheme(CodingScheme s) diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 0383680..08b94be 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -222,13 +222,13 @@ switch (m_mode) { case GPRS: - if (!m_current_cs_ul.isGprs()) { + if (!mcs_is_gprs(m_current_cs_ul)) { m_current_cs_ul = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_ul); if (!m_current_cs_ul.isValid()) m_current_cs_ul = CS1; } - if (!m_current_cs_dl.isGprs()) { + if (!mcs_is_gprs(m_current_cs_dl)) { m_current_cs_dl = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_dl); if (!m_current_cs_dl.isValid()) @@ -238,13 +238,13 @@ case EGPRS_GMSK: case EGPRS: - if (!m_current_cs_ul.isEgprs()) { + if (!mcs_is_edge(m_current_cs_ul)) { m_current_cs_ul = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_ul); if (!m_current_cs_ul.isValid()) m_current_cs_ul = MCS1; } - if (!m_current_cs_dl.isEgprs()) { + if (!mcs_is_edge(m_current_cs_dl)) { m_current_cs_dl = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_dl); if (!m_current_cs_dl.isValid()) @@ -564,14 +564,14 @@ OSMO_ASSERT(m_bts != NULL); bts_data = m_bts->bts_data(); - if (m_current_cs_ul.isGprs()) { + if (mcs_is_gprs(m_current_cs_ul)) { if (!bts_data->max_cs_ul) return GprsCodingScheme(CS4); return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul); } - if (!m_current_cs_ul.isEgprs()) + if (!mcs_is_edge(m_current_cs_ul)) return GprsCodingScheme(); /* UNKNOWN */ if (bts_data->max_mcs_ul) @@ -594,14 +594,14 @@ OSMO_ASSERT(m_bts != NULL); bts_data = m_bts->bts_data(); - if (m_current_cs_dl.isGprs()) { + if (mcs_is_gprs(m_current_cs_dl)) { if (!bts_data->max_cs_dl) return GprsCodingScheme(CS4); return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl); } - if (!m_current_cs_dl.isEgprs()) + if (!mcs_is_edge(m_current_cs_dl)) return GprsCodingScheme(); /* UNKNOWN */ if (bts_data->max_mcs_dl) @@ -650,12 +650,12 @@ old_link_qual = meas->link_qual; - if (m_current_cs_ul.isGprs()) { + if (mcs_is_gprs(m_current_cs_ul)) { if (current_cs_num > MAX_GPRS_CS) current_cs_num = MAX_GPRS_CS; low = bts_data->cs_lqual_ranges[current_cs_num-1].low; high = bts_data->cs_lqual_ranges[current_cs_num-1].high; - } else if (m_current_cs_ul.isEgprs()) { + } else if (mcs_is_edge(m_current_cs_ul)) { if (current_cs_num > MAX_EDGE_MCS) current_cs_num = MAX_EDGE_MCS; low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; diff --git a/src/pdch.cpp b/src/pdch.cpp index c6c677c..8003105 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -741,10 +741,10 @@ LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); - if (cs.isGprs()) + if (mcs_is_gprs(cs)) return rcv_block_gprs(data, len, fn, meas, cs); - if (cs.isEgprs()) + if (mcs_is_edge(cs)) return rcv_data_block(data, len, fn, meas, cs); bts()->decode_error(); @@ -765,7 +765,7 @@ /* These are always data blocks, since EGPRS still uses CS-1 for * control blocks (see 44.060, section 10.3, 1st par.) */ - if (cs.isEgprs()) { + if (mcs_is_edge(cs)) { if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", diff --git a/src/tbf.cpp b/src/tbf.cpp index 3d9b5c4..dc90dbb 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -952,8 +952,8 @@ static void setup_egprs_mode(gprs_rlcmac_bts *bts, GprsMs *ms) { - if (GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul).isEgprsGmsk() && - GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl).isEgprsGmsk() && + if (mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul)) && + mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl)) && ms->mode() != EGPRS) { ms->set_mode(EGPRS_GMSK); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index b621be0..00a4dec 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -363,7 +363,7 @@ if (previous_bsn >= 0) { force_cs = m_rlc.block(previous_bsn)->cs_current_trans; - if (!force_cs.isEgprs()) + if (!mcs_is_edge(force_cs)) return -1; force_data_len = m_rlc.block(previous_bsn)->len; } @@ -765,7 +765,7 @@ m_rlc.block(bsn)->next_ps, m_rlc.block(bsn)->cs_last, cs, spb); - if (cs.isEgprs()) { + if (mcs_is_edge(cs)) { OSMO_ASSERT(m_rlc.block(bsn)->next_ps >= EGPRS_PS_1); OSMO_ASSERT(m_rlc.block(bsn)->next_ps <= EGPRS_PS_3); } @@ -812,7 +812,7 @@ } /* Calculate CPS only for EGPRS case */ - if (cs.isEgprs()) + if (mcs_is_edge(cs)) rlc.cps = gprs_rlc_mcs_cps(cs, punct[0], punct[1], need_padding); /* If the TBF has just started, relate frames_since_last_poll to the @@ -1369,7 +1369,7 @@ uint8_t coding_scheme = 0; coding_scheme = CodingScheme(cs); - if (cs.isGprs()) { + if (mcs_is_gprs(cs)) { switch (coding_scheme) { case CS1 : bts->gprs_dl_cs1(); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 0bf5765..f40ec3d 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -530,7 +530,7 @@ uint8_t coding_scheme = 0; coding_scheme = CodingScheme(cs); - if (cs.isGprs()) { + if (mcs_is_gprs(cs)) { switch (coding_scheme) { case CS1 : bts->gprs_ul_cs1(); diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 7b301c9..723fe1e 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -59,14 +59,14 @@ /* Check static getBySizeUL() */ expected_size = cs.usedSizeUL(); - if (cs.spareBitsUL() > 0 && cs.isGprs()) + if (cs.spareBitsUL() > 0 && mcs_is_gprs(cs)) expected_size += 1; OSMO_ASSERT(expected_size == cs.sizeUL()); OSMO_ASSERT(cs == GprsCodingScheme::getBySizeUL(expected_size)); /* Check static sizeUL() */ expected_size = cs.usedSizeDL(); - if (cs.spareBitsDL() > 0 && cs.isGprs()) + if (cs.spareBitsDL() > 0 && mcs_is_gprs(cs)) expected_size += 1; OSMO_ASSERT(expected_size == cs.sizeDL()); @@ -157,9 +157,9 @@ for (i = 0; i < ARRAY_SIZE(gprs_schemes); i++) { GprsCodingScheme current_cs(gprs_schemes[i]); - OSMO_ASSERT(current_cs.isGprs()); - OSMO_ASSERT(!current_cs.isEgprs()); - OSMO_ASSERT(!current_cs.isEgprsGmsk()); + OSMO_ASSERT(mcs_is_gprs(current_cs)); + OSMO_ASSERT(!mcs_is_edge(current_cs)); + OSMO_ASSERT(!mcs_is_edge_gmsk(current_cs)); OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]); OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i])); @@ -179,9 +179,9 @@ for (i = 0; i < ARRAY_SIZE(egprs_schemes); i++) { GprsCodingScheme current_cs(egprs_schemes[i].s); - OSMO_ASSERT(!current_cs.isGprs()); - OSMO_ASSERT(current_cs.isEgprs()); - OSMO_ASSERT(!!current_cs.isEgprsGmsk() == !!egprs_schemes[i].is_gmsk); + OSMO_ASSERT(!mcs_is_gprs(current_cs)); + OSMO_ASSERT(mcs_is_edge(current_cs)); + OSMO_ASSERT(mcs_is_edge_gmsk(current_cs) == !!egprs_schemes[i].is_gmsk); OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s); OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s)); -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 14:53:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 14:53:09 +0000 Subject: Change in osmo-pcu[master]: MCS: add Channel Coding Command encoder Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13215 Change subject: MCS: add Channel Coding Command encoder ...................................................................... MCS: add Channel Coding Command encoder Add function to encode MCS value as proper EDGE or GPRS Channel Coding value according to 3GPP TS 44.060 and corresponding helpers. Use it for everything except IA Rest Octet encoding which is done in a follow-up patches to make sure that we distinguish between encoding-related changes to test output and unrelated changes. Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M tests/ms/MsTest.cpp M tests/tbf/TbfTest.cpp 7 files changed, 31 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/15/13215/1 diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 28bd4fb..372da66 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -64,6 +64,19 @@ return false; } +/* Return 3GPP TS 44.060 ?12.10d (EDGE) or Table 11.2.28.2 (GPRS) Channel Coding Command value */ +uint8_t mcs_chan_code(enum CodingScheme cs) +{ + if (mcs_is_gprs(cs)) + return cs - CS1; + + if (mcs_is_edge(cs)) + return cs - MCS1; + + /* Defaults to (M)CS1 */ + return 0; +} + static struct { struct { uint8_t data_header_bits; diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 561e2a4..2befa84 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -37,6 +37,8 @@ bool mcs_is_edge(enum CodingScheme cs); bool mcs_is_edge_gmsk(enum CodingScheme cs); +uint8_t mcs_chan_code(enum CodingScheme cs); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index e316097..23e4196 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -67,10 +67,7 @@ const GprsCodingScheme demanded_mcs, const unsigned arq_type) { - OSMO_ASSERT(mcs.to_num() > 0); - OSMO_ASSERT(demanded_mcs.to_num() > 0); - - return egprs_mcs_retx_tbl[arq_type][mcs.to_num() - 1][demanded_mcs.to_num() - 1]; + return egprs_mcs_retx_tbl[arq_type][mcs_chan_code(mcs)][mcs_chan_code(demanded_mcs)]; } static struct { diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index d6c0045..99a1d86 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -82,6 +82,7 @@ enum CodingScheme m_scheme; }; +// FIXME: remove once < comparison operator below is no longer necessary inline uint8_t GprsCodingScheme::to_num() const { if (mcs_is_gprs(m_scheme)) diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 08b94be..fdcfc3c 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -523,7 +523,7 @@ m_nack_rate_dl = error_rate; if (error_rate > bts_data->cs_adj_upper_limit) { - if (m_current_cs_dl.to_num() > 1) { + if (mcs_chan_code(m_current_cs_dl) > 0) { m_current_cs_dl.dec(mode()); LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): High error rate %d%%, " @@ -621,7 +621,7 @@ int low; int high; GprsCodingScheme new_cs_ul = m_current_cs_ul; - uint8_t current_cs_num = m_current_cs_ul.to_num(); + uint8_t current_cs = mcs_chan_code(m_current_cs_ul); bts_data = m_bts->bts_data(); @@ -632,8 +632,6 @@ return; } - OSMO_ASSERT(current_cs_num > 0); - if (!m_current_cs_ul) { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS because it's not set: %s\n", @@ -651,15 +649,15 @@ old_link_qual = meas->link_qual; if (mcs_is_gprs(m_current_cs_ul)) { - if (current_cs_num > MAX_GPRS_CS) - current_cs_num = MAX_GPRS_CS; - low = bts_data->cs_lqual_ranges[current_cs_num-1].low; - high = bts_data->cs_lqual_ranges[current_cs_num-1].high; + if (current_cs >= MAX_GPRS_CS) + current_cs = MAX_GPRS_CS - 1; + low = bts_data->cs_lqual_ranges[current_cs].low; + high = bts_data->cs_lqual_ranges[current_cs].high; } else if (mcs_is_edge(m_current_cs_ul)) { - if (current_cs_num > MAX_EDGE_MCS) - current_cs_num = MAX_EDGE_MCS; - low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; - high = bts_data->mcs_lqual_ranges[current_cs_num-1].high; + if (current_cs >= MAX_EDGE_MCS) + current_cs = MAX_EDGE_MCS - 1; + low = bts_data->mcs_lqual_ranges[current_cs].low; + high = bts_data->mcs_lqual_ranges[current_cs].high; } else { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS because it's neither GPRS nor EDGE: %s\n", diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 728daf6..f5d3fc0 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -504,11 +504,11 @@ dl_tbf->set_ms(ms); OSMO_ASSERT(!ms->is_idle()); - OSMO_ASSERT(ms->current_cs_dl().to_num() == 4); + OSMO_ASSERT(mcs_chan_code(ms->current_cs_dl()) == 3); bts->cs_downgrade_threshold = 200; - OSMO_ASSERT(ms->current_cs_dl().to_num() == 3); + OSMO_ASSERT(mcs_chan_code(ms->current_cs_dl()) == 2); talloc_free(dl_tbf); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 0d473a1..5145dd6 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -2742,12 +2742,12 @@ #define CHECK_UNACKED(tbf, cs, bsn) do { \ OSMO_ASSERT(tbf->window()->m_v_b.is_unacked(bsn)); \ - OSMO_ASSERT(tbf->m_rlc.block(bsn)->cs_current_trans.to_num() == cs); \ + OSMO_ASSERT(mcs_chan_code(tbf->m_rlc.block(bsn)->cs_current_trans) == cs - 1); \ } while(0) #define CHECK_NACKED(tbf, cs, bsn) do { \ OSMO_ASSERT(tbf->window()->m_v_b.is_nacked(bsn)); \ - OSMO_ASSERT(tbf->m_rlc.block(bsn)->cs_current_trans.to_num() == cs); \ + OSMO_ASSERT(mcs_chan_code(tbf->m_rlc.block(bsn)->cs_current_trans) == cs - 1); \ } while(0) #define MAKE_ACKED(m, tbf, fn, cs, check_unacked) do { \ -- To view, visit https://gerrit.osmocom.org/13215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d Gerrit-Change-Number: 13215 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 14:53:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 14:53:09 +0000 Subject: Change in osmo-pcu[master]: Fix Channel Coding Command for MCS Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13216 Change subject: Fix Channel Coding Command for MCS ...................................................................... Fix Channel Coding Command for MCS Previously result of ".to_num() - 1" was used without any checks which means that in case of to_num() returning zero we would effectively try to encode (uint8_t)(-1). Let's fix this by using proper mcs_chan_code() function which returns Channel Coding Command for MCS without the need to further correct it and adjust expected tests output accordingly. Change-Id: I868062a81fffe6714a811c032215f25a79259905 --- M src/encoding.cpp M tests/types/TypesTest.cpp M tests/types/TypesTest.ok 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/16/13216/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index c2502b6..b7bc3cb 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -268,7 +268,7 @@ bitvec_write_field(dest, &wp, usf, 3); // USF bitvec_write_field(dest, &wp, 0, 1); // USF_GRANULARITY bitvec_write_field(dest, &wp, 0, 1); // "0" power control: Not Present - bitvec_write_field(dest, &wp, tbf->current_cs().to_num() - 1, 2); // CHANNEL_CODING_COMMAND + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND bitvec_write_field(dest, &wp, 1, 1); // TLLI_BLOCK_CHANNEL_CODING if (alpha) { bitvec_write_field(dest, &wp, 0x1, 1); // ALPHA = present @@ -315,7 +315,7 @@ CHECK(rc); /* 3GPP TS 44.060 ?12.10d EGPRS Modulation and coding Scheme description: */ - rc = bitvec_set_u64(dest, tbf->current_cs().to_num() - 1, 4, false); /* EGPRS CHANNEL_CODING_COMMAND */ + rc = bitvec_set_u64(dest, mcs_chan_code(tbf->current_cs()), 4, false); /* EGPRS CHANNEL_CODING_COMMAND */ CHECK(rc); /* TLLI_BLOCK_CHANNEL_CODING */ @@ -571,7 +571,7 @@ if (!use_egprs) { bitvec_write_field(dest, &wp,0x0,1); // Message escape - bitvec_write_field(dest, &wp,tbf->current_cs().to_num()-1, 2); // CHANNEL_CODING_COMMAND + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING write_ta_ie(dest, wp,tbf->ta(), ta_idx, ta_ts); } else { /* EPGRS */ @@ -579,7 +579,7 @@ bitvec_write_field(dest, &wp,0x0,2); // EGPRS message contents bitvec_write_field(dest, &wp,0x0,1); // No CONTENTION_RESOLUTION_TLLI bitvec_write_field(dest, &wp,0x0,1); // No COMPACT reduced MA - bitvec_write_field(dest, &wp,tbf->current_cs().to_num()-1, 4); // EGPRS Modulation and Coding IE + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 4); // EGPRS Modulation and Coding IE /* 0: no RESEGMENT, 1: Segmentation*/ bitvec_write_field(dest, &wp, 0x1, 1); write_ws(dest, &wp, tbf->window_size()); // EGPRS Window Size @@ -809,7 +809,7 @@ struct gprs_rlcmac_ul_tbf *tbf, bool is_final) { - bitvec_write_field(dest, &wp, tbf->current_cs().to_num() - 1, 2); // CHANNEL_CODING_COMMAND + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND write_packet_ack_nack_desc_gprs(bts, dest, wp, tbf->window(), is_final); bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI @@ -991,7 +991,7 @@ bitvec_write_field(dest, &wp, 0, 2); // fixed 00 /* CHANNEL_CODING_COMMAND */ bitvec_write_field(dest, &wp, - tbf->current_cs().to_num() - 1, 4); + mcs_chan_code(tbf->current_cs()), 4); /* 0: no RESEGMENT, 1: Segmentation*/ bitvec_write_field(dest, &wp, 1, 1); bitvec_write_field(dest, &wp, 1, 1); // PRE_EMPTIVE_TRANSMISSION, TODO: This resembles GPRS, change it? diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 9c24ffe..4879424 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -497,7 +497,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0xc8, 0x02, 0x7b, 0xa0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0xc8, 0x02, 0x1b, 0xa0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_0, res, sizeof(res), "ia_rest_uplink(MBA)"); } @@ -537,7 +537,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0x46, 0xa0, 0x09, 0xe0, 0x17, 0x40, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0x46, 0xa0, 0x08, 0x00, 0x17, 0x40, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_1, res, sizeof(res), "ia_rest_egprs_uplink(SBA)"); } diff --git a/tests/types/TypesTest.ok b/tests/types/TypesTest.ok index d4cc255..dd7dc4c 100644 --- a/tests/types/TypesTest.ok +++ b/tests/types/TypesTest.ok @@ -9,13 +9,13 @@ [11] DL Immediate Assignment : 06 3f 30 0d 23 6d 7f 03 18 23 00 d0 00 00 00 08 17 47 08 0b 5b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 7b a0 2b 2b 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a0 2b 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 0d 03 18 23 00 c5 d1 08 0b 5b 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 7f 03 18 23 00 46 97 40 0b 58 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 09 e0 17 40 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 08 00 17 40 2b 2b 2b 2b 2b 2b assignment reject: 06 3a 10 7f 06 36 14 7f 06 36 14 7f 06 36 14 7f 06 36 14 c0 2b 2b assignment reject: 06 3a 10 70 06 36 14 70 06 36 14 70 06 36 14 70 06 36 14 0b 2b 2b Testing LBS utility... -- To view, visit https://gerrit.osmocom.org/13216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I868062a81fffe6714a811c032215f25a79259905 Gerrit-Change-Number: 13216 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 14:56:26 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 14:56:26 +0000 Subject: Change in libosmocore[master]: Fix build on non-glibc systems In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13209 ) Change subject: Fix build on non-glibc systems ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 Gerrit-Change-Number: 13209 Gerrit-PatchSet: 1 Gerrit-Owner: supersat Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 12 Mar 2019 14:56:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 14:56:46 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 14:56:46 +0000 Subject: Change in libosmocore[master]: Fix build on non-glibc systems In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13209 ) Change subject: Fix build on non-glibc systems ...................................................................... Fix build on non-glibc systems Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 --- M src/gsm/gsm_utils.c 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve Max: Looks good to me, approved diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 02cb3d5..c9c15d5 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -100,7 +100,12 @@ #if (!EMBEDDED) /* FIXME: this can be removed once we bump glibc requirements to 2.25: */ -#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2,25) +#ifdef __GLIBC_PREREQ +#if __GLIBC_PREREQ(2,25) +#define HAVE_GLIBC_GETRANDOM +#endif /* if __GLIBC_PREREQ(2,25) */ +#endif /* ifdef __GLIBC_PREREQ */ +#ifdef HAVE_GLIBC_GETRANDOM #pragma message ("glibc " OSMO_STRINGIFY_VAL(__GLIBC__) "." OSMO_STRINGIFY_VAL(__GLIBC_MINOR__) " random detected") #include #undef USE_GNUTLS @@ -109,7 +114,7 @@ #ifndef GRND_NONBLOCK #define GRND_NONBLOCK 0x0001 #endif /* ifndef GRND_NONBLOCK */ -#endif /* if __GLIBC_PREREQ */ +#endif /* ifdef HAVE_GLIBC_GETRANDOM */ #endif /* !EMBEDDED */ #if (USE_GNUTLS) @@ -447,7 +452,7 @@ if (len > OSMO_MAX_RAND_ID_LEN) return -E2BIG; #if (!EMBEDDED) -#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2,25) +#ifdef HAVE_GLIBC_GETRANDOM rc = getrandom(out, len, GRND_NONBLOCK); #elif HAVE_DECL_SYS_GETRANDOM #pragma message ("Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25") -- To view, visit https://gerrit.osmocom.org/13209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id5d577522a4889e152158f7e93ee1c99d3a21003 Gerrit-Change-Number: 13209 Gerrit-PatchSet: 1 Gerrit-Owner: supersat Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: fixeria Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 15:04:13 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 15:04:13 +0000 Subject: Change in osmo-msc[master]: vlr_subscr: use osmo_use_count In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13136 ) Change subject: vlr_subscr: use osmo_use_count ...................................................................... Patch Set 2: (1 comment) Not sure what's the status of libosmocore patch, but you can split this one into 2 patches: 1) update #define of macro wrappers with extra parameters 2) actually adding use_count bits and using extra parameters. That way patch will become significantly smaller (and hence easier to review) and the 1st part can be merged right away without waiting for libosmocore part. https://gerrit.osmocom.org/#/c/13136/2/include/osmocom/msc/vlr.h File include/osmocom/msc/vlr.h: https://gerrit.osmocom.org/#/c/13136/2/include/osmocom/msc/vlr.h at 361 PS2, Line 361: #define vlr_subscr_find_by_tmsi(vlr, tmsi, USE) \ This change is pretty-much independent from use_count API? -- To view, visit https://gerrit.osmocom.org/13136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475 Gerrit-Change-Number: 13136 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Tue, 12 Mar 2019 15:04:13 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 16:01:48 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 16:01:48 +0000 Subject: Change in osmo-ci[master]: TTCN-3: add PCU tests In-Reply-To: References: Message-ID: Max has abandoned this change. ( https://gerrit.osmocom.org/11603 ) Change subject: TTCN-3: add PCU tests ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/11603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: Ifee0373cd920e80486cb40cb872f2be1e736ef06 Gerrit-Change-Number: 11603 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 16:06:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 16:06:44 +0000 Subject: Change in mncc-python[master]: Add git-review config Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13217 Change subject: Add git-review config ...................................................................... Add git-review config Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 --- A .gitreview 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/17/13217/1 diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..c302438 --- /dev/null +++ b/.gitreview @@ -0,0 +1,3 @@ +[gerrit] +host=gerrit.osmocom.org +project=mncc-python -- To view, visit https://gerrit.osmocom.org/13217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 Gerrit-Change-Number: 13217 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 16:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 16:34:32 +0000 Subject: Change in mncc-python[master]: Add git-review config In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13217 ) Change subject: Add git-review config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 Gerrit-Change-Number: 13217 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 12 Mar 2019 16:34:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 16:34:57 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 16:34:57 +0000 Subject: Change in mncc-python[master]: Add git-review config In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13217 ) Change subject: Add git-review config ...................................................................... Patch Set 1: @max, looks like you need to verify it yourself? -- To view, visit https://gerrit.osmocom.org/13217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 Gerrit-Change-Number: 13217 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 12 Mar 2019 16:34:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 16:38:30 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 16:38:30 +0000 Subject: Change in mncc-python[master]: Add git-review config In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13217 ) Change subject: Add git-review config ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 Gerrit-Change-Number: 13217 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 12 Mar 2019 16:38:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 16:38:40 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 12 Mar 2019 16:38:40 +0000 Subject: Change in mncc-python[master]: Add git-review config In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13217 ) Change subject: Add git-review config ...................................................................... Add git-review config Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 --- A .gitreview 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Max: Verified diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..c302438 --- /dev/null +++ b/.gitreview @@ -0,0 +1,3 @@ +[gerrit] +host=gerrit.osmocom.org +project=mncc-python -- To view, visit https://gerrit.osmocom.org/13217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I80c69ce43b6c0ad36f709340c8184620caf1cbf0 Gerrit-Change-Number: 13217 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 17:09:28 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 17:09:28 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13218 Change subject: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep ...................................................................... ipaccess/Makefile.am: Remove unneeded libmgcp-client dep Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f --- M src/ipaccess/Makefile.am 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/13218/1 diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index d73aa4d..c504234 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -10,7 +10,6 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(COVERAGE_CFLAGS) \ - $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(NULL) @@ -22,7 +21,6 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOMGCPCLIENT_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ $(NULL) -- To view, visit https://gerrit.osmocom.org/13218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f Gerrit-Change-Number: 13218 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 17:09:28 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 17:09:28 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13219 Change subject: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep ...................................................................... ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep Change-Id: Idc26f178fa8942fe407ca01e23b0a21955727dca --- M src/ipaccess/Makefile.am 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/19/13219/1 diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index c504234..3578a40 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -10,7 +10,6 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(COVERAGE_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ $(NULL) AM_LDFLAGS = \ @@ -21,7 +20,6 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOSIGTRAN_LIBS) \ $(NULL) bin_PROGRAMS = \ -- To view, visit https://gerrit.osmocom.org/13219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idc26f178fa8942fe407ca01e23b0a21955727dca Gerrit-Change-Number: 13219 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 17:27:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 17:27:19 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13218 to look at the new patch set (#2). Change subject: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep ...................................................................... ipaccess/Makefile.am: Remove unneeded libmgcp-client dep Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f --- M src/ipaccess/Makefile.am M src/osmo-bsc/gsm_data.c 2 files changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/13218/2 -- To view, visit https://gerrit.osmocom.org/13218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f Gerrit-Change-Number: 13218 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 17:59:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 17:59:22 +0000 Subject: Change in osmo-bsc[master]: Move LCLS references from gsm_data to osmo_bsc_lcls Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13220 Change subject: Move LCLS references from gsm_data to osmo_bsc_lcls ...................................................................... Move LCLS references from gsm_data to osmo_bsc_lcls This commit aims at better ordering of content in order to get rid of sigtran stuff in gsm_data. This way we can avoid requiring libosmo-sigtran when building ipaccess utils. Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/osmo_bsc_lcls.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_lcls.c 4 files changed, 24 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/20/13220/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 0c2094e..9f2d7d8 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -29,6 +29,7 @@ #define _OSMO_MSC_DATA_H #include "debug.h" +#include "osmo_bsc_lcls.h" #include #include @@ -53,19 +54,6 @@ MSC_CON_TYPE_LOCAL, }; -enum bsc_lcls_mode { - BSC_LCLS_MODE_DISABLED, - BSC_LCLS_MODE_MGW_LOOP, - BSC_LCLS_MODE_BTS_LOOP, -}; - -extern const struct value_string bsc_lcls_mode_names[]; - -static inline const char *bsc_lcls_mode_name(enum bsc_lcls_mode m) -{ - return get_value_string(bsc_lcls_mode_names, m); -} - /*! /brief Information on a remote MSC for libbsc. */ struct bsc_msc_data { diff --git a/include/osmocom/bsc/osmo_bsc_lcls.h b/include/osmocom/bsc/osmo_bsc_lcls.h index d98fe98..8bbd552 100644 --- a/include/osmocom/bsc/osmo_bsc_lcls.h +++ b/include/osmocom/bsc/osmo_bsc_lcls.h @@ -1,4 +1,7 @@ #pragma once + +#include "gsm_data.h" + #include enum lcls_fsm_state { @@ -29,6 +32,19 @@ LCLS_EV_OTHER_DEAD, }; +enum bsc_lcls_mode { + BSC_LCLS_MODE_DISABLED, + BSC_LCLS_MODE_MGW_LOOP, + BSC_LCLS_MODE_BTS_LOOP, +}; + +extern const struct value_string bsc_lcls_mode_names[]; + +static inline const char *bsc_lcls_mode_name(enum bsc_lcls_mode m) +{ + return get_value_string(bsc_lcls_mode_names, m); +} + enum gsm0808_lcls_status lcls_get_status(const struct gsm_subscriber_connection *conn); void lcls_update_config(struct gsm_subscriber_connection *conn, diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0492571..0198fcf 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -46,13 +47,6 @@ void *tall_bsc_ctx = NULL; -const struct value_string bsc_lcls_mode_names[] = { - { BSC_LCLS_MODE_DISABLED, "disabled" }, - { BSC_LCLS_MODE_MGW_LOOP, "mgw-loop" }, - { BSC_LCLS_MODE_BTS_LOOP, "bts-loop" }, - { 0, NULL } -}; - static LLIST_HEAD(bts_models); void set_ts_e1link(struct gsm_bts_trx_ts *ts, uint8_t e1_nr, diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index f7b84e1..c1f62dc 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -42,6 +42,12 @@ { 0, NULL } }; +const struct value_string bsc_lcls_mode_names[] = { + { BSC_LCLS_MODE_DISABLED, "disabled" }, + { BSC_LCLS_MODE_MGW_LOOP, "mgw-loop" }, + { BSC_LCLS_MODE_BTS_LOOP, "bts-loop" }, + { 0, NULL } +}; /*********************************************************************** * Utility functions -- To view, visit https://gerrit.osmocom.org/13220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d Gerrit-Change-Number: 13220 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 17:59:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 17:59:22 +0000 Subject: Change in osmo-bsc[master]: Move msc related code from gsm_data to bsc_msc Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13221 Change subject: Move msc related code from gsm_data to bsc_msc ...................................................................... Move msc related code from gsm_data to bsc_msc This way ipaccess utils can be built without requiring libosmo-sigtran. Change-Id: I508188896be58ddc3bd4e9c3c661c258c06866f4 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_msc.c M tests/handover/Makefile.am 5 files changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/13221/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 9f2d7d8..5202174 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -161,6 +161,9 @@ struct bsc_msc_data *osmo_msc_data_find(struct gsm_network *, int); struct bsc_msc_data *osmo_msc_data_alloc(struct gsm_network *, int); + +struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts); + /* Helper function to calculate the port number for a given * timeslot/multiplex. This functionality is needed to support * the sccp-lite scenario where the MGW is handled externally */ diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c4315c0..47ca5e8 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1687,6 +1687,4 @@ int bts_count_free_ts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan); -struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts); - #endif /* _GSM_DATA_H */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0198fcf..a128216 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -38,7 +38,6 @@ #include #include -#include #include #include #include @@ -1694,19 +1693,3 @@ OSMO_VALUE_STRING(FOR_VTY), {} }; - -struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts) -{ - static struct osmo_cell_global_id cgi; - cgi.lai.plmn = msc->network->plmn; - if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID) - cgi.lai.plmn.mcc = msc->core_plmn.mcc; - if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID) { - cgi.lai.plmn.mnc = msc->core_plmn.mnc; - cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits; - } - cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code; - cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity; - - return &cgi; -} diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 71931e6..4df1ce4 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -119,3 +119,18 @@ return msc_data; } +struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts) +{ + static struct osmo_cell_global_id cgi; + cgi.lai.plmn = msc->network->plmn; + if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID) + cgi.lai.plmn.mcc = msc->core_plmn.mcc; + if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID) { + cgi.lai.plmn.mnc = msc->core_plmn.mnc; + cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits; + } + cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code; + cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity; + + return &cgi; +} diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 5e9af04..5e4440c 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -69,6 +69,7 @@ $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ $(top_builddir)/src/osmo-bsc/net_init.o \ $(top_builddir)/src/osmo-bsc/osmo_bsc_lcls.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc_msc.o \ $(top_builddir)/src/osmo-bsc/paging.o \ $(top_builddir)/src/osmo-bsc/pcu_sock.o \ $(top_builddir)/src/osmo-bsc/penalty_timers.o \ -- To view, visit https://gerrit.osmocom.org/13221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I508188896be58ddc3bd4e9c3c661c258c06866f4 Gerrit-Change-Number: 13221 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 17:59:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 17:59:22 +0000 Subject: Change in osmo-bsc[master]: configure.ac: Add flag to enable/disable build of ipaccess related utils Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13222 Change subject: configure.ac: Add flag to enable/disable build of ipaccess related utils ...................................................................... configure.ac: Add flag to enable/disable build of ipaccess related utils Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89 --- M configure.ac M src/Makefile.am 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/13222/1 diff --git a/configure.ac b/configure.ac index eafe4d6..cdee90c 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,11 @@ AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) +# Enable/disable ipaccess-utils (src/ipacces/)? +AC_ARG_ENABLE([ipaccess-utils], [AS_HELP_STRING([--enable-ipaccess-utils], [Build ipaccess utils: abisip-find, ipaccess-config, ...])], + [osmo_ac_ipa_utils="$enableval"],[osmo_ac_ipa_utils="yes"]) +AM_CONDITIONAL(BUILD_IPA_UTILS, test "x$osmo_ac_ipa_utils" = "xyes") +AC_SUBST(osmo_ac_ipa_utils) PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.12.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.12.0) diff --git a/src/Makefile.am b/src/Makefile.am index 6c63eea..62ae4dd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,5 +23,8 @@ libfilter \ osmo-bsc \ utils \ - ipaccess \ $(NULL) + +if BUILD_IPA_UTILS +SUBDIRS += ipaccess +endif -- To view, visit https://gerrit.osmocom.org/13222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89 Gerrit-Change-Number: 13222 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 18:01:29 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 18:01:29 +0000 Subject: Change in osmo-bsc[master]: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13223 Change subject: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps ...................................................................... src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c --- M src/utils/Makefile.am 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/13223/1 diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index 914a604..24cd230 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -11,8 +11,6 @@ $(LIBOSMOABIS_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(SQLITE3_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(NULL) AM_LDFLAGS = \ @@ -132,4 +130,3 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(NULL) - -- To view, visit https://gerrit.osmocom.org/13223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c Gerrit-Change-Number: 13223 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 20:27:58 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 20:27:58 +0000 Subject: Change in osmo-bsc[master]: net_init.c: remove unneeded header Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13224 Change subject: net_init.c: remove unneeded header ...................................................................... net_init.c: remove unneeded header Change-Id: I9c2d07914bb19429bfc1f2c5a38a513749068304 --- M src/osmo-bsc/net_init.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/13224/1 diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c index 5ea564d..b4ff489 100644 --- a/src/osmo-bsc/net_init.c +++ b/src/osmo-bsc/net_init.c @@ -18,7 +18,6 @@ */ #include -#include #include #include #include -- To view, visit https://gerrit.osmocom.org/13224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9c2d07914bb19429bfc1f2c5a38a513749068304 Gerrit-Change-Number: 13224 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 20:39:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 20:39:14 +0000 Subject: Change in osmo-bsc[master]: Build BTS related code in a library Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13225 Change subject: Build BTS related code in a library ...................................................................... Build BTS related code in a library It will allow build ipaccess util tools and so without building whole osmo-bsc (and requiring its extra deps). Change-Id: I30bf10660f4710523ca7bdde1b392a8c2b334b23 --- M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am M src/utils/Makefile.am M tests/abis/Makefile.am M tests/bsc/Makefile.am M tests/codec_pref/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/subscr/Makefile.am 10 files changed, 94 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/13225/1 diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index 3578a40..3964e00 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -44,14 +44,8 @@ stubs.c \ $(NULL) -# FIXME: resolve the bogus dependencies patched around here: ipaccess_config_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(OSMO_LIBS) \ $(NULL) @@ -62,6 +56,6 @@ $(NULL) ipaccess_proxy_LDADD = \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(OSMO_LIBS) \ $(NULL) diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 364228d..0fabe51 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -13,18 +13,53 @@ $(LIBOSMONETIF_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(NULL) AM_LDFLAGS = \ $(COVERAGE_LDFLAGS) \ $(NULL) +noinst_LTLIBRARIES = \ + libbscbts.la \ + $(NULL) + +libbscbts_la_SOURCES = \ + abis_nm.c \ + bts_ipaccess_nanobts.c \ + bts_ipaccess_nanobts_omlattr.c \ + bts_siemens_bs11.c \ + e1_config.c \ + gsm_data.c \ + gsm_timers.c \ + net_init.c \ + $(NULL) + +libbscbts_la_LIBADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(LIBOSMOABIS_LIBS) \ + $(NULL) + bin_PROGRAMS = \ osmo-bsc \ $(NULL) +osmo_bsc_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(LIBOSMOMGCPCLIENT_CFLAGS) \ + $(NULL) + osmo_bsc_SOURCES = \ a_reset.c \ abis_nm.c \ @@ -45,19 +80,13 @@ bsc_vty.c \ bts_ericsson_rbs2000.c \ bts_init.c \ - bts_ipaccess_nanobts.c \ - bts_ipaccess_nanobts_omlattr.c \ bts_nokia_site.c \ - bts_siemens_bs11.c \ bts_sysmobts.c \ bts_unknown.c \ chan_alloc.c \ codec_pref.c \ - e1_config.c \ gsm_04_08_rr.c \ gsm_04_80_utils.c \ - gsm_data.c \ - gsm_timers.c \ gsm_timers_vty.c \ handover_cfg.c \ handover_decision.c \ @@ -73,7 +102,6 @@ mgw_endpoint_fsm.c \ neighbor_ident.c \ neighbor_ident_vty.c \ - net_init.c \ gsm_08_08.c \ osmo_bsc_bssap.c \ osmo_bsc_ctrl.c \ @@ -93,7 +121,8 @@ $(NULL) osmo_bsc_LDADD = \ - $(top_builddir)/src/libfilter/libfilter.a \ + libbscbts.la \ + $(abs_top_builddir)/src/libfilter/libfilter.a \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index 24cd230..445cc2e 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -47,12 +47,7 @@ $(NULL) bs11_config_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/bts_siemens_bs11.o \ - $(top_builddir)/src/osmo-bsc/e1_config.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ @@ -118,8 +113,7 @@ $(NULL) meas_json_LDADD = \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am index 4fc3605..e89b9c9 100644 --- a/tests/abis/Makefile.am +++ b/tests/abis/Makefile.am @@ -25,10 +25,7 @@ $(NULL) abis_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index c8ad0e4..fa4b5e4 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -33,16 +33,13 @@ $(NULL) bsc_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_filter.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ - $(top_builddir)/src/osmo-bsc/handover_cfg.o \ - $(top_builddir)/src/osmo-bsc/handover_logic.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-arfcn_range_encode.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-osmo_bsc_filter.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bsc_subscriber.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_cfg.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_logic.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-neighbor_ident.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/tests/codec_pref/Makefile.am b/tests/codec_pref/Makefile.am index e000252..724d6ed 100644 --- a/tests/codec_pref/Makefile.am +++ b/tests/codec_pref/Makefile.am @@ -27,7 +27,7 @@ $(NULL) codec_pref_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/codec_pref.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-codec_pref.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -lrt \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index b207f8b..77a9502 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -23,14 +23,12 @@ $(NULL) gsm0408_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/rest_octets.o \ - $(top_builddir)/src/osmo-bsc/system_information.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-gsm_04_08_rr.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-arfcn_range_encode.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-rest_octets.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-system_information.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-neighbor_ident.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 5e4440c..7a288da 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -38,44 +38,39 @@ $(NULL) handover_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/a_reset.o \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_rsl.o \ - $(top_builddir)/src/osmo-bsc/arfcn_range_encode.o \ - $(top_builddir)/src/osmo-bsc/assignment_fsm.o \ - $(top_builddir)/src/osmo-bsc/bsc_init.o \ - $(top_builddir)/src/osmo-bsc/bsc_rll.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscr_conn_fsm.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sysmobts.o \ - $(top_builddir)/src/osmo-bsc/chan_alloc.o \ - $(top_builddir)/src/osmo-bsc/codec_pref.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_80_utils.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ - $(top_builddir)/src/osmo-bsc/handover_cfg.o \ - $(top_builddir)/src/osmo-bsc/handover_decision.o \ - $(top_builddir)/src/osmo-bsc/handover_decision_2.o \ - $(top_builddir)/src/osmo-bsc/handover_fsm.o \ - $(top_builddir)/src/osmo-bsc/handover_logic.o \ - $(top_builddir)/src/osmo-bsc/lchan_fsm.o \ - $(top_builddir)/src/osmo-bsc/lchan_rtp_fsm.o \ - $(top_builddir)/src/osmo-bsc/lchan_select.o \ - $(top_builddir)/src/osmo-bsc/meas_rep.o \ - $(top_builddir)/src/osmo-bsc/mgw_endpoint_fsm.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_lcls.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_msc.o \ - $(top_builddir)/src/osmo-bsc/paging.o \ - $(top_builddir)/src/osmo-bsc/pcu_sock.o \ - $(top_builddir)/src/osmo-bsc/penalty_timers.o \ - $(top_builddir)/src/osmo-bsc/rest_octets.o \ - $(top_builddir)/src/osmo-bsc/system_information.o \ - $(top_builddir)/src/osmo-bsc/timeslot_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-a_reset.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-abis_rsl.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-arfcn_range_encode.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-assignment_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bsc_init.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bsc_rll.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bsc_subscr_conn_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bsc_subscriber.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bts_sysmobts.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-chan_alloc.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-codec_pref.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-gsm_04_08_rr.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-gsm_04_80_utils.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_cfg.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_decision.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_decision_2.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-handover_logic.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-lchan_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-lchan_rtp_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-lchan_select.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-meas_rep.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-mgw_endpoint_fsm.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-neighbor_ident.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-osmo_bsc_lcls.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-osmo_bsc_msc.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-paging.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-pcu_sock.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-penalty_timers.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-rest_octets.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-system_information.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-timeslot_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ @@ -88,7 +83,7 @@ $(NULL) neighbor_ident_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-neighbor_ident.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(NULL) diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am index 312cf7d..a5ee7f9 100644 --- a/tests/nanobts_omlattr/Makefile.am +++ b/tests/nanobts_omlattr/Makefile.am @@ -23,10 +23,7 @@ $(NULL) nanobts_omlattr_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/gsm_timers.o \ + $(top_builddir)/src/osmo-bsc/libbscbts.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/subscr/Makefile.am b/tests/subscr/Makefile.am index e56d142..fad6569 100644 --- a/tests/subscr/Makefile.am +++ b/tests/subscr/Makefile.am @@ -31,7 +31,7 @@ $(NULL) bsc_subscr_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc-bsc_subscriber.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ -- To view, visit https://gerrit.osmocom.org/13225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I30bf10660f4710523ca7bdde1b392a8c2b334b23 Gerrit-Change-Number: 13225 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 20:39:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 20:39:15 +0000 Subject: Change in osmo-bsc[master]: Add configure flag to disable build of osmo-bsc Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13226 Change subject: Add configure flag to disable build of osmo-bsc ...................................................................... Add configure flag to disable build of osmo-bsc This way only ipaccess utils can be built without requiring osmo-bsc specific dependencies. Change-Id: I39783245a11aacaecf0873b3b74b60b559256f79 --- M configure.ac M contrib/jenkins.sh M src/osmo-bsc/Makefile.am M tests/Makefile.am M tests/atlocal.in M tests/testsuite.at 6 files changed, 91 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/13226/1 diff --git a/configure.ac b/configure.ac index cdee90c..539d64d 100644 --- a/configure.ac +++ b/configure.ac @@ -44,15 +44,25 @@ AM_CONDITIONAL(BUILD_IPA_UTILS, test "x$osmo_ac_ipa_utils" = "xyes") AC_SUBST(osmo_ac_ipa_utils) +# Enable/disable osmo-bsc build? +AC_ARG_ENABLE([osmo-bsc], [AS_HELP_STRING([--enable-osmo-bsc], [Build osmo-bsc])], + [build_osmo_bsc="$enableval"],[build_osmo_bsc="yes"]) +AM_CONDITIONAL(BUILD_OSMO_BSC, test "x$build_osmo_bsc" = "xyes") +AC_SUBST(build_osmo_bsc) + PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.12.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.12.0) PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 0.12.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.12.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.5.1) -PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.3.0) -PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.10.0) -PKG_CHECK_MODULES(LIBOSMOSCCP, libosmo-sccp >= 0.10.0) -PKG_CHECK_MODULES(LIBOSMOMGCPCLIENT, libosmo-mgcp-client >= 1.4.0) + + +if test "x$build_osmo_bsc" = "xyes" ; then + PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.3.0) + PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.10.0) + PKG_CHECK_MODULES(LIBOSMOSCCP, libosmo-sccp >= 0.10.0) + PKG_CHECK_MODULES(LIBOSMOMGCPCLIENT, libosmo-mgcp-client >= 1.4.0) +fi dnl checks for header files AC_HEADER_STDC diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index a47935f..e288820 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -31,7 +31,36 @@ export LD_LIBRARY_PATH="$inst/lib" export PATH="$inst/bin:$PATH" +do_build() { + configure_flags="$1" + distcheck_flags="$2" + set +x + echo + echo + echo + echo " =============================== osmo-bsc ===============================" + echo + set -x + + cd "$base" + autoreconf --install --force + ./configure $configure_flags + $MAKE $PARALLEL_MAKE + LD_LIBRARY_PATH="$inst/lib" $MAKE check \ + || cat-testlogs.sh + LD_LIBRARY_PATH="$inst/lib" \ + DISTCHECK_CONFIGURE_FLAGS="$distcheck_flags" \ + $MAKE distcheck \ + || cat-testlogs.sh + $MAKE maintainer-clean +} + osmo-build-dep.sh libosmo-abis + +# To build ipaccess-utils we just need libosmocore and libosmo-abis: +ipacess_utils_flags="--enable-sanitize --disable-external-tests --disable-vty-tests --disable-osmo-bsc --enable-ipaccess-utils --enable-werror $CONFIG" +do_build "$ipacess_utils_flags" "$ipacess_utils_flags" + osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp osmo-build-dep.sh osmo-mgw @@ -43,27 +72,10 @@ CONFIG="--enable-manuals" fi -set +x -echo -echo -echo -echo " =============================== osmo-bsc ===============================" -echo -set -x - -cd "$base" -autoreconf --install --force -./configure --enable-sanitize --enable-external-tests --enable-werror $CONFIG -$MAKE $PARALLEL_MAKE -LD_LIBRARY_PATH="$inst/lib" $MAKE check \ - || cat-testlogs.sh -LD_LIBRARY_PATH="$inst/lib" \ - DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \ - $MAKE distcheck \ - || cat-testlogs.sh - if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then make -C "$base/doc/manuals" publish fi +do_build "--enable-sanitize --enable-external-tests --enable-werror $CONFIG" "--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" + osmo-clean-workspace.sh diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 0fabe51..eff8a67 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -43,6 +43,8 @@ $(LIBOSMOABIS_LIBS) \ $(NULL) +if BUILD_OSMO_BSC + bin_PROGRAMS = \ osmo-bsc \ $(NULL) @@ -132,3 +134,5 @@ $(LIBOSMOSIGTRAN_LIBS) \ $(LIBOSMOMGCPCLIENT_LIBS) \ $(NULL) + +endif # BUILD_OSMO_BSC diff --git a/tests/Makefile.am b/tests/Makefile.am index 446276b..4efdafa 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,12 +1,17 @@ SUBDIRS = \ + abis \ + nanobts_omlattr \ + $(NULL) + +if BUILD_OSMO_BSC +SUBDIRS += \ bsc \ codec_pref \ gsm0408 \ - abis \ subscr \ - nanobts_omlattr \ handover \ $(NULL) +endif # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac diff --git a/tests/atlocal.in b/tests/atlocal.in index e69de29..c76d9c8 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -0,0 +1 @@ +build_osmo_bsc='@build_osmo_bsc@' diff --git a/tests/testsuite.at b/tests/testsuite.at index 1a190dd..3f01141 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -3,12 +3,14 @@ AT_SETUP([gsm0408]) AT_KEYWORDS([gsm0408]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/gsm0408/gsm0408_test.ok > expout AT_CHECK([$abs_top_builddir/tests/gsm0408/gsm0408_test], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([bsc_subscr]) AT_KEYWORDS([bsc_subscr]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/subscr/bsc_subscr_test.ok > expout cat $abs_srcdir/subscr/bsc_subscr_test.err > experr AT_CHECK([$abs_top_builddir/tests/subscr/bsc_subscr_test], [], [expout], [experr]) @@ -22,12 +24,14 @@ AT_SETUP([bsc]) AT_KEYWORDS([bsc]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/bsc/bsc_test.ok > expout AT_CHECK([$abs_top_builddir/tests/bsc/bsc_test], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([codec_pref]) AT_KEYWORDS([codec_pref]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/codec_pref/codec_pref_test.ok > expout AT_CHECK([$abs_top_builddir/tests/codec_pref/codec_pref_test], [], [expout], [ignore]) AT_CLEANUP @@ -40,6 +44,7 @@ AT_SETUP([neighbor_ident]) AT_KEYWORDS([neighbor_ident]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/neighbor_ident_test.ok > expout cat $abs_srcdir/handover/neighbor_ident_test.err > experr AT_CHECK([$abs_top_builddir/tests/handover/neighbor_ident_test], [], [expout], [experr]) @@ -47,174 +52,203 @@ AT_SETUP([handover test 0]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 0], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 1]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 1], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 2]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 2], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 3]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 3], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 4]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 4], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 5]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 5], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 6]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 6], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 7]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 7], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 8]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 8], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 9]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 9], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 10]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 10], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 11]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 11], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 12]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 12], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 13]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 13], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 14]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 14], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 15]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 15], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 16]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 16], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 17]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 17], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 18]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 18], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 19]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 19], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 20]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 20], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 21]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 21], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 22]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 22], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 23]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 23], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 24]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 24], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 25]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 25], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 26]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 26], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 27]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 27], [], [expout], [ignore]) AT_CLEANUP AT_SETUP([handover test 28]) AT_KEYWORDS([handover]) +AT_SKIP_IF([! test "x$build_osmo_bsc" = "xyes"]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 28], [], [expout], [ignore]) AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/13226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I39783245a11aacaecf0873b3b74b60b559256f79 Gerrit-Change-Number: 13226 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 20:39:52 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 12 Mar 2019 20:39:52 +0000 Subject: Change in osmo-bsc[master]: Build BTS related code in a library In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13225 ) Change subject: Build BTS related code in a library ...................................................................... Patch Set 1: This commit and next one work fine, but it's more like an RFC whether it's desirable to have or not. -- To view, visit https://gerrit.osmocom.org/13225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I30bf10660f4710523ca7bdde1b392a8c2b334b23 Gerrit-Change-Number: 13225 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 12 Mar 2019 20:39:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 21:29:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 12 Mar 2019 21:29:17 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13218 ) Change subject: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f Gerrit-Change-Number: 13218 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 12 Mar 2019 21:29:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 21:30:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 12 Mar 2019 21:30:37 +0000 Subject: Change in osmo-bsc[master]: Move LCLS references from gsm_data to osmo_bsc_lcls In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13220 ) Change subject: Move LCLS references from gsm_data to osmo_bsc_lcls ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13220/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13220/1//COMMIT_MSG at 10 PS1, Line 10: This way we can avoid requiring : libosmo-sigtran when building ipaccess utils why is that worthwhile? Why do we care what kind of build requirements we have? Why not build all of osmo-bsc.git, as long as the ipacess utils don't have any unwanted runtime dependency? -- To view, visit https://gerrit.osmocom.org/13220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d Gerrit-Change-Number: 13220 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 12 Mar 2019 21:30:37 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 12 21:31:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 12 Mar 2019 21:31:31 +0000 Subject: Change in osmo-bsc[master]: Add configure flag to disable build of osmo-bsc In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13226 ) Change subject: Add configure flag to disable build of osmo-bsc ...................................................................... Patch Set 1: Code-Review-1 I'm really not even inclined to review this entire patch series, sorry. Why is it such a problem to have all build-time dependencies, even if at runtime you don't want to run osmo-bsc, fine. But why worry about build dependencies? -- To view, visit https://gerrit.osmocom.org/13226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I39783245a11aacaecf0873b3b74b60b559256f79 Gerrit-Change-Number: 13226 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 12 Mar 2019 21:31:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Mar 13 02:45:34 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 13 Mar 2019 02:45:34 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5c886ee537fc7_19efa985f832157c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 56s] [204/217] installing dpkg-dev-1.17.25 [ 57s] Processing triggers for man-db (2.7.0.2-5) ... [ 58s] [205/217] installing build-essential-11.7 [ 58s] [206/217] installing initscripts-2.88dsf-59 [ 58s] /usr/sbin/invoke-rc.d: 1: /usr/sbin/invoke-rc.d: /sbin/runlevel: not found [ 58s] invoke-rc.d: policy-rc.d denied execution of start. [ 58s] Processing triggers for man-db (2.7.0.2-5) ... [ 59s] [207/217] installing debhelper-9.20150101 [ 59s] Processing triggers for man-db (2.7.0.2-5) ... [ 60s] [208/217] installing dh-autoreconf-10 [ 60s] Processing triggers for man-db (2.7.0.2-5) ... [ 60s] [209/217] installing procps-2:3.3.9-9 [ 61s] update-alternatives: using /usr/bin/w.procps to provide /usr/bin/w (w) in auto mode [ 61s] /usr/sbin/invoke-rc.d: 1: /usr/sbin/invoke-rc.d: /sbin/runlevel: not found [ 61s] invoke-rc.d: policy-rc.d denied execution of start. [ 61s] Processing triggers for man-db (2.7.0.2-5) ... [ 61s] dpkg: ../../../lib/dpkg/dump.c:299: varbufdependency: Assertion `dop->up == dep' failed. [ 61s] /.build/build-pkg-deb: line 31: 15450 Aborted (core dumped) DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot $* [ 61s] exit ... [ 61s] [ 61s] lamb72 failed "build libosmo-netif_0.4.0.19.fa7d.dsc" at Wed Mar 13 02:45:24 UTC 2019. [ 61s] [ 61s] ### VM INTERACTION START ### [ 64s] [ 53.105590] sysrq: SysRq : Power Off [ 64s] [ 53.111849] reboot: Power down [ 64s] ### VM INTERACTION END ### [ 64s] [ 64s] lamb72 failed "build libosmo-netif_0.4.0.19.fa7d.dsc" at Wed Mar 13 02:45:27 UTC 2019. [ 64s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Mar 13 03:48:43 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 13 Mar 2019 03:48:43 +0000 Subject: Change in osmo-bsc[master]: incoming connect: don't crash if calling addr is missing Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13227 Change subject: incoming connect: don't crash if calling addr is missing ...................................................................... incoming connect: don't crash if calling addr is missing The idea was to guard the logging, though actually that can handle a NULL ss7 quite well. Change-Id: Ib028432b37a5c48b677bb21b869cc722575dce92 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/13227/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 4b2c4ae..2ff5d80 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -122,7 +122,6 @@ } ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); - OSMO_ASSERT(ss7); LOGP(DMSC, LOGL_ERROR, "Unable to find MSC data under address: %s\n", osmo_sccp_addr_name(ss7, msc_addr)); return NULL; } -- To view, visit https://gerrit.osmocom.org/13227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib028432b37a5c48b677bb21b869cc722575dce92 Gerrit-Change-Number: 13227 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 03:48:44 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 13 Mar 2019 03:48:44 +0000 Subject: Change in osmo-bsc[master]: log N-CONNECT from MSC Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13228 Change subject: log N-CONNECT from MSC ...................................................................... log N-CONNECT from MSC Change-Id: I83f15c7231b2b766aba4d25339d08acbbca3a47e --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/13228/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 2ff5d80..f2a6d08 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -179,6 +179,10 @@ goto refuse; } + LOGP(DMSC, LOGL_DEBUG, "(calling_addr=%s conn_id=%u) N-CONNECT.ind from MSC %d\n", + osmo_sccp_addr_dump(&scu_prim->u.connect.calling_addr), + scu_prim->u.connect.conn_id, msc->nr); + conn = bsc_subscr_con_allocate(bsc_gsmnet); if (!conn) return -ENOMEM; -- To view, visit https://gerrit.osmocom.org/13228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I83f15c7231b2b766aba4d25339d08acbbca3a47e Gerrit-Change-Number: 13228 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 03:58:45 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Wed, 13 Mar 2019 03:58:45 +0000 Subject: Change in libosmo-sccp[master]: improve logging for rejected AS in xua_rkm.c Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13229 Change subject: improve logging for rejected AS in xua_rkm.c ...................................................................... improve logging for rejected AS in xua_rkm.c Change a loglevel from NOTICE to ERROR, for when a routing key gets re-purposed. Add another error log for insufficient resources case. Change-Id: Id22e3c6bab5f7b597df3514eedb162277ce0ef7d --- M src/xua_rkm.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/29/13229/1 diff --git a/src/xua_rkm.c b/src/xua_rkm.c index a77460d..4b760ee 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -214,7 +214,7 @@ if (as) { LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Found existing AS for RCTX %u\n", rctx); if (as->cfg.routing_key.pc != dpc) { - LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: DPC doesn't match (%u != %u)\n", + LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: DPC doesn't match, rejecting AS (%u != %u)\n", as->cfg.routing_key.pc, dpc); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INVAL_RKEY, 0); return -1; @@ -250,6 +250,8 @@ if (*nas_idx >= max_nas_idx) { osmo_ss7_route_destroy(rt); osmo_ss7_as_destroy(as); + LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: not enough room for newly assigned AS (max %u AS)\n", + max_nas_idx+1); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INSUFF_RESRC, 0); return -1; } -- To view, visit https://gerrit.osmocom.org/13229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id22e3c6bab5f7b597df3514eedb162277ce0ef7d Gerrit-Change-Number: 13229 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 06:59:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 06:59:52 +0000 Subject: Change in osmo-gsm-manuals[master]: fix typo: SIGTAN->SIGTRAN Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13230 Change subject: fix typo: SIGTAN->SIGTRAN ...................................................................... fix typo: SIGTAN->SIGTRAN Change-Id: I4b9ed7d61a23cf327889b3e513af74e8c86b161c --- M common/chapters/sigtran.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/30/13230/1 diff --git a/common/chapters/sigtran.adoc b/common/chapters/sigtran.adoc index 371801a..fd7d3cc 100644 --- a/common/chapters/sigtran.adoc +++ b/common/chapters/sigtran.adoc @@ -221,7 +221,7 @@ Despite first being specified in October 2000 as IETF RFC 2960, it took a long time until solid implementations of SCTP ended up in general-purpose operating systems. SCTP is not used much outside the -context of SIGTAN, which means implementations often suffer from bugs, +context of SIGTRAN, which means implementations often suffer from bugs, and many parts of the public Internet do not carry SCTP traffic due to restrictive firewalls and/or ignorant network administrators. -- To view, visit https://gerrit.osmocom.org/13230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4b9ed7d61a23cf327889b3e513af74e8c86b161c Gerrit-Change-Number: 13230 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:15:02 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 13 Mar 2019 10:15:02 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13218 ) Change subject: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f Gerrit-Change-Number: 13218 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 13 Mar 2019 10:15:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:19:51 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:19:51 +0000 Subject: Change in osmo-pcu[master]: MCS: move Coding Scheme enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13064 ) Change subject: MCS: move Coding Scheme enum outside of class definition ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I993b49d9a82b8c7ad677d52d11003794aeabe117 Gerrit-Change-Number: 13064 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 10:19:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:19:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:19:56 +0000 Subject: Change in osmo-pcu[master]: Make get_retx_mcs() into regular function In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13066 ) Change subject: Make get_retx_mcs() into regular function ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95258d1558a3b918ae83f1a69e7c3de2b97e5627 Gerrit-Change-Number: 13066 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 10:19:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:20:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:20:07 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 10:20:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:20:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:20:11 +0000 Subject: Change in osmo-pcu[master]: MCS: move Coding Scheme enum outside of class definition In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13064 ) Change subject: MCS: move Coding Scheme enum outside of class definition ...................................................................... MCS: move Coding Scheme enum outside of class definition Move generic MCS enum to C header file to simplify further modifications to GprsCodingScheme class in follow-up patches. This also allows us to use standard libosmocore value_sting functions in upcoming patches for IA Rest Octet encoding/decoding. Related: OS#3014 Change-Id: I993b49d9a82b8c7ad677d52d11003794aeabe117 --- M debian/copyright M src/Makefile.am A src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/rlc.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp M tests/tbf/TbfTest.cpp 12 files changed, 248 insertions(+), 230 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/debian/copyright b/debian/copyright index 853cd6e..5bb2110 100644 --- a/debian/copyright +++ b/debian/copyright @@ -15,6 +15,7 @@ src/gprs_ms.h src/gprs_coding_scheme.cpp src/gprs_coding_scheme.h + src/coding_scheme.h src/cxx_linuxlist.h src/pcu_vty_functions.cpp src/pcu_vty_functions.h diff --git a/src/Makefile.am b/src/Makefile.am index 50e0eda..eb4a2bb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -97,6 +97,7 @@ cxx_linuxlist.h \ gprs_codel.h \ gprs_coding_scheme.h \ + coding_scheme.h \ egprs_rlc_compression.h osmo_pcu_SOURCES = pcu_main.cpp diff --git a/src/coding_scheme.h b/src/coding_scheme.h new file mode 100644 index 0000000..3705ea4 --- /dev/null +++ b/src/coding_scheme.h @@ -0,0 +1,29 @@ +/* coding_scheme.h + * + * Copyright (C) 2015-2019 by sysmocom s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#pragma once + +enum CodingScheme { + UNKNOWN, + /* GPRS Coding Schemes: */ + CS1, CS2, CS3, CS4, + /* EDGE/EGPRS Modulation and Coding Schemes: */ + MCS1, MCS2, MCS3, MCS4, MCS5, MCS6, MCS7, MCS8, MCS9, + NUM_SCHEMES +}; diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index bbac6e7..990e278 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -27,7 +27,7 @@ * 1st level is Original MCS( index 0 corresponds to MCS1 and so on) * 2nd level is MS MCS (index 0 corresponds to MCS1 and so on) */ -enum GprsCodingScheme::Scheme GprsCodingScheme::egprs_mcs_retx_tbl[MAX_NUM_ARQ] +enum CodingScheme GprsCodingScheme::egprs_mcs_retx_tbl[MAX_NUM_ARQ] [MAX_NUM_MCS][MAX_NUM_MCS] = { { {MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1}, @@ -71,7 +71,7 @@ const char *name; GprsCodingScheme::HeaderType data_hdr; enum Family family; -} mcs_info[GprsCodingScheme::NUM_SCHEMES] = { +} mcs_info[NUM_SCHEMES] = { {{0, 0}, {0, 0}, 0, 0, "UNKNOWN", GprsCodingScheme::HEADER_INVALID, FAMILY_INVALID}, {{23, 0}, {23, 0}, 20, 0, "CS-1", @@ -233,7 +233,7 @@ /* This should not happen. TODO: Use assert? */ return; - Scheme new_cs(Scheme(m_scheme + 1)); + CodingScheme new_cs(CodingScheme(m_scheme + 1)); if (!GprsCodingScheme(new_cs).isCompatible(mode)) /* Clipping, do not change the value */ return; @@ -247,7 +247,7 @@ /* This should not happen. TODO: Use assert? */ return; - Scheme new_cs(Scheme(m_scheme - 1)); + CodingScheme new_cs(CodingScheme(m_scheme - 1)); if (!GprsCodingScheme(new_cs).isCompatible(mode)) /* Clipping, do not change the value */ return; @@ -266,7 +266,7 @@ if (!isValid()) return; - m_scheme = Scheme(m_scheme + 1); + m_scheme = CodingScheme(m_scheme + 1); } void GprsCodingScheme::dec() @@ -280,7 +280,7 @@ if (!isValid()) return; - m_scheme = Scheme(m_scheme - 1); + m_scheme = CodingScheme(m_scheme - 1); } const char *GprsCodingScheme::modeName(Mode mode) diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 31f0940..045d34a 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -25,6 +25,7 @@ extern "C" { #include + #include "coding_scheme.h" } class GprsCodingScheme { @@ -35,14 +36,6 @@ #define EGPRS_ARQ1 0x0 #define EGPRS_ARQ2 0x1 - enum Scheme { - UNKNOWN, - CS1, CS2, CS3, CS4, - MCS1, MCS2, MCS3, MCS4, - MCS5, MCS6, MCS7, MCS8, MCS9, - NUM_SCHEMES - }; - enum Mode { GPRS, EGPRS_GMSK, @@ -59,14 +52,14 @@ NUM_HEADER_TYPES }; - GprsCodingScheme(Scheme s = UNKNOWN); + GprsCodingScheme(CodingScheme s = UNKNOWN); operator bool() const {return m_scheme != UNKNOWN;} - operator Scheme() const {return m_scheme;} + operator CodingScheme() const {return m_scheme;} uint8_t to_num() const; - GprsCodingScheme& operator =(Scheme s); - bool operator == (Scheme s) const; + GprsCodingScheme& operator =(CodingScheme s); + bool operator == (CodingScheme s) const; GprsCodingScheme& operator =(GprsCodingScheme o); bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;} @@ -106,16 +99,16 @@ static GprsCodingScheme getEgprsByNum(unsigned num); static const char *modeName(Mode mode); - static Scheme get_retx_mcs(const GprsCodingScheme mcs, + static CodingScheme get_retx_mcs(const GprsCodingScheme mcs, const GprsCodingScheme retx_mcs, const unsigned arq_type); - static enum Scheme egprs_mcs_retx_tbl[MAX_NUM_ARQ] + static enum CodingScheme egprs_mcs_retx_tbl[MAX_NUM_ARQ] [MAX_NUM_MCS][MAX_NUM_MCS]; private: GprsCodingScheme(int s); /* fail on use */ GprsCodingScheme& operator =(int s); /* fail on use */ - enum Scheme m_scheme; + enum CodingScheme m_scheme; }; inline uint8_t GprsCodingScheme::to_num() const @@ -145,14 +138,14 @@ return (isGprs() && o.isGprs()) || (isEgprs() && o.isEgprs()); } -inline GprsCodingScheme::GprsCodingScheme(Scheme s) +inline GprsCodingScheme::GprsCodingScheme(CodingScheme s) : m_scheme(s) { if (!isValid()) m_scheme = UNKNOWN; } -inline GprsCodingScheme& GprsCodingScheme::operator =(Scheme s) +inline GprsCodingScheme& GprsCodingScheme::operator =(CodingScheme s) { m_scheme = s; @@ -173,7 +166,7 @@ if (num < 1 || num > 4) return GprsCodingScheme(); - return GprsCodingScheme(Scheme(CS1 + (num - 1))); + return GprsCodingScheme(CodingScheme(CS1 + (num - 1))); } inline GprsCodingScheme GprsCodingScheme::getEgprsByNum(unsigned num) @@ -181,16 +174,11 @@ if (num < 1 || num > 9) return GprsCodingScheme(); - return GprsCodingScheme(Scheme(MCS1 + (num - 1))); + return GprsCodingScheme(CodingScheme(MCS1 + (num - 1))); } /* The coding schemes form a partial ordering */ -inline bool operator ==(GprsCodingScheme a, GprsCodingScheme b) -{ - return GprsCodingScheme::Scheme(a) == GprsCodingScheme::Scheme(b); -} - -inline bool GprsCodingScheme::operator == (Scheme scheme) const +inline bool GprsCodingScheme::operator == (CodingScheme scheme) const { return this->m_scheme == scheme; } @@ -202,11 +190,10 @@ inline bool operator <(GprsCodingScheme a, GprsCodingScheme b) { - return a.isCompatible(b) && - GprsCodingScheme::Scheme(a) < GprsCodingScheme::Scheme(b); + return a.isCompatible(b) && a.to_num() < b.to_num(); } -inline GprsCodingScheme::Scheme GprsCodingScheme::get_retx_mcs( +inline CodingScheme GprsCodingScheme::get_retx_mcs( const GprsCodingScheme mcs, const GprsCodingScheme demanded_mcs, const unsigned arq_type) diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 8855053..77a8f2e 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -225,13 +225,13 @@ m_current_cs_ul = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_ul); if (!m_current_cs_ul.isValid()) - m_current_cs_ul = GprsCodingScheme::CS1; + m_current_cs_ul = CS1; } if (!m_current_cs_dl.isGprs()) { m_current_cs_dl = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_dl); if (!m_current_cs_dl.isValid()) - m_current_cs_dl = GprsCodingScheme::CS1; + m_current_cs_dl = CS1; } break; @@ -241,13 +241,13 @@ m_current_cs_ul = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_ul); if (!m_current_cs_ul.isValid()) - m_current_cs_ul = GprsCodingScheme::MCS1; + m_current_cs_ul = MCS1; } if (!m_current_cs_dl.isEgprs()) { m_current_cs_dl = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_dl); if (!m_current_cs_dl.isValid()) - m_current_cs_dl = GprsCodingScheme::MCS1; + m_current_cs_dl = MCS1; } break; } @@ -565,7 +565,7 @@ if (m_current_cs_ul.isGprs()) { if (!bts_data->max_cs_ul) - return GprsCodingScheme(GprsCodingScheme::CS4); + return GprsCodingScheme(CS4); return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul); } @@ -578,10 +578,10 @@ else if (bts_data->max_cs_ul) return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_ul); - return GprsCodingScheme(GprsCodingScheme::MCS4); + return GprsCodingScheme(MCS4); } -void GprsMs::set_current_cs_dl(GprsCodingScheme::Scheme scheme) +void GprsMs::set_current_cs_dl(CodingScheme scheme) { m_current_cs_dl = scheme; } @@ -595,7 +595,7 @@ if (m_current_cs_dl.isGprs()) { if (!bts_data->max_cs_dl) - return GprsCodingScheme(GprsCodingScheme::CS4); + return GprsCodingScheme(CS4); return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl); } @@ -608,7 +608,7 @@ else if (bts_data->max_cs_dl) return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_dl); - return GprsCodingScheme(GprsCodingScheme::MCS4); + return GprsCodingScheme(MCS4); } void GprsMs::update_cs_ul(const pcu_l1_meas *meas) @@ -746,7 +746,7 @@ cs.dec(mode()); /* CS-2 doesn't gain throughput with small packets, further reduce to CS-1 */ - if (cs == GprsCodingScheme(GprsCodingScheme::CS2)) + if (cs == GprsCodingScheme(CS2)) cs.dec(mode()); return cs; diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 857f0c9..0a9efb8 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -86,7 +86,7 @@ uint8_t egprs_ms_class() const; void set_ms_class(uint8_t ms_class); void set_egprs_ms_class(uint8_t ms_class); - void set_current_cs_dl(GprsCodingScheme::Scheme scheme); + void set_current_cs_dl(CodingScheme scheme); GprsCodingScheme current_cs_ul() const; GprsCodingScheme current_cs_dl() const; diff --git a/src/rlc.cpp b/src/rlc.cpp index ee88bd9..323fde4 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -391,27 +391,27 @@ enum egprs_puncturing_values punct2, bool with_padding) { /* validate that punct and punct2 are as expected */ - switch (GprsCodingScheme::Scheme(cs)) { - case GprsCodingScheme::MCS9: - case GprsCodingScheme::MCS8: - case GprsCodingScheme::MCS7: + switch (CodingScheme(cs)) { + case MCS9: + case MCS8: + case MCS7: if (punct2 == EGPRS_PS_INVALID) { LOGP(DRLCMACDL, LOGL_ERROR, "Invalid punct2 value for coding scheme %d: %d\n", - GprsCodingScheme::Scheme(cs), punct2); + CodingScheme(cs), punct2); return -1; } /* fall through */ - case GprsCodingScheme::MCS6: - case GprsCodingScheme::MCS5: - case GprsCodingScheme::MCS4: - case GprsCodingScheme::MCS3: - case GprsCodingScheme::MCS2: - case GprsCodingScheme::MCS1: + case MCS6: + case MCS5: + case MCS4: + case MCS3: + case MCS2: + case MCS1: if (punct == EGPRS_PS_INVALID) { LOGP(DRLCMACDL, LOGL_ERROR, "Invalid punct value for coding scheme %d: %d\n", - GprsCodingScheme::Scheme(cs), punct); + CodingScheme(cs), punct); return -1; } break; @@ -420,26 +420,26 @@ } /* See 3GPP TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 */ - switch (GprsCodingScheme::Scheme(cs)) { - case GprsCodingScheme::MCS1: return 0b1011 + + switch (CodingScheme(cs)) { + case MCS1: return 0b1011 + punct % EGPRS_MAX_PS_NUM_2; - case GprsCodingScheme::MCS2: return 0b1001 + + case MCS2: return 0b1001 + punct % EGPRS_MAX_PS_NUM_2; - case GprsCodingScheme::MCS3: return (with_padding ? 0b0110 : 0b0011) + + case MCS3: return (with_padding ? 0b0110 : 0b0011) + punct % EGPRS_MAX_PS_NUM_3; - case GprsCodingScheme::MCS4: return 0b0000 + + case MCS4: return 0b0000 + punct % EGPRS_MAX_PS_NUM_3; - case GprsCodingScheme::MCS5: return 0b100 + + case MCS5: return 0b100 + punct % EGPRS_MAX_PS_NUM_2; - case GprsCodingScheme::MCS6: return (with_padding ? 0b010 : 0b000) + + case MCS6: return (with_padding ? 0b010 : 0b000) + punct % EGPRS_MAX_PS_NUM_2; - case GprsCodingScheme::MCS7: return 0b10100 + + case MCS7: return 0b10100 + 3 * (punct % EGPRS_MAX_PS_NUM_3) + punct2 % EGPRS_MAX_PS_NUM_3; - case GprsCodingScheme::MCS8: return 0b01011 + + case MCS8: return 0b01011 + 3 * (punct % EGPRS_MAX_PS_NUM_3) + punct2 % EGPRS_MAX_PS_NUM_3; - case GprsCodingScheme::MCS9: return 0b00000 + + case MCS9: return 0b00000 + 4 * (punct % EGPRS_MAX_PS_NUM_3) + punct2 % EGPRS_MAX_PS_NUM_3; default: ; @@ -454,24 +454,24 @@ *punct2 = -1; *with_padding = 0; - switch (GprsCodingScheme::Scheme(cs)) { - case GprsCodingScheme::MCS1: + switch (CodingScheme(cs)) { + case MCS1: cps -= 0b1011; *punct = cps % 2; break; - case GprsCodingScheme::MCS2: + case MCS2: cps -= 0b1001; *punct = cps % 2; break; - case GprsCodingScheme::MCS3: + case MCS3: cps -= 0b0011; *punct = cps % 3; *with_padding = cps >= 3; break; - case GprsCodingScheme::MCS4: + case MCS4: cps -= 0b0000; *punct = cps % 3; break; - case GprsCodingScheme::MCS5: + case MCS5: cps -= 0b100; *punct = cps % 2; break; - case GprsCodingScheme::MCS6: + case MCS6: cps -= 0b000; *punct = cps % 2; *with_padding = cps >= 2; break; - case GprsCodingScheme::MCS7: + case MCS7: cps -= 0b10100; *punct = cps / 3; *punct2 = cps % 3; break; - case GprsCodingScheme::MCS8: + case MCS8: cps -= 0b01011; *punct = cps / 3; *punct2 = cps % 3; break; - case GprsCodingScheme::MCS9: + case MCS9: cps -= 0b00000; *punct = cps / 4; *punct2 = cps % 3; break; default: ; } @@ -501,23 +501,23 @@ return punct; /* TS 44.060 9.3.2.1.1 */ - if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS9) && - (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS6)) { + if ((CodingScheme(cs) == MCS9) && + (CodingScheme(cs_current) == MCS6)) { if ((punct == EGPRS_PS_1) || (punct == EGPRS_PS_3)) return EGPRS_PS_1; else if (punct == EGPRS_PS_2) return EGPRS_PS_2; - } else if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS6) && - (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS9)) { + } else if ((CodingScheme(cs) == MCS6) && + (CodingScheme(cs_current) == MCS9)) { if (punct == EGPRS_PS_1) return EGPRS_PS_3; else if (punct == EGPRS_PS_2) return EGPRS_PS_2; - } else if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS7) && - (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS5)) + } else if ((CodingScheme(cs) == MCS7) && + (CodingScheme(cs_current) == MCS5)) return EGPRS_PS_1; - else if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS5) && - (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS7)) + else if ((CodingScheme(cs) == MCS5) && + (CodingScheme(cs_current) == MCS7)) return EGPRS_PS_2; else if (cs != cs_current) return EGPRS_PS_1; @@ -540,19 +540,19 @@ void gprs_update_punct_scheme(enum egprs_puncturing_values *punct, const GprsCodingScheme &cs) { - switch (GprsCodingScheme::Scheme(cs)) { - case GprsCodingScheme::MCS1 : - case GprsCodingScheme::MCS2 : - case GprsCodingScheme::MCS5 : - case GprsCodingScheme::MCS6 : + switch (CodingScheme(cs)) { + case MCS1 : + case MCS2 : + case MCS5 : + case MCS6 : *punct = ((enum egprs_puncturing_values)((*punct + 1) % EGPRS_MAX_PS_NUM_2)); break; - case GprsCodingScheme::MCS3 : - case GprsCodingScheme::MCS4 : - case GprsCodingScheme::MCS7 : - case GprsCodingScheme::MCS8 : - case GprsCodingScheme::MCS9 : + case MCS3 : + case MCS4 : + case MCS7 : + case MCS8 : + case MCS9 : *punct = ((enum egprs_puncturing_values)((*punct + 1) % EGPRS_MAX_PS_NUM_3)); break; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 0ef3032..7b0052f 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -395,9 +395,9 @@ * transistion is handled. * Refer commit be881c028fc4da00c4046ecd9296727975c206a3 */ - if (m_rlc.block(bsn)->cs_init == GprsCodingScheme::MCS8) + if (m_rlc.block(bsn)->cs_init == MCS8) m_rlc.block(bsn)->cs_current_trans = - GprsCodingScheme::MCS8; + MCS8; } else m_rlc.block(bsn)->cs_current_trans = m_rlc.block(bsn)->cs_last; @@ -701,9 +701,9 @@ * if the intial mcs is 8 and retransmission mcs is either 6 or 3 * we have to include the padding of 6 octets in first segment */ - if ((GprsCodingScheme::Scheme(cs_init) == GprsCodingScheme::MCS8) && - (GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS6 || - GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS3)) { + if ((CodingScheme(cs_init) == MCS8) && + (CodingScheme(cs) == MCS6 || + CodingScheme(cs) == MCS3)) { if (spb_status == EGPRS_RESEG_DL_DEFAULT || spb_status == EGPRS_RESEG_SECOND_SEG_SENT) need_padding = true; @@ -715,7 +715,7 @@ * Refer commit be881c028fc4da00c4046ecd9296727975c206a3 * dated 2016-02-07 23:45:40 (UTC) */ - if (cs != GprsCodingScheme(GprsCodingScheme::MCS8)) + if (cs != GprsCodingScheme(MCS8)) cs.decToSingleBlock(&need_padding); } @@ -1261,19 +1261,19 @@ if (cs_current_trans.headerTypeData() == GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3) { if (*block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { - switch (GprsCodingScheme::Scheme(cs_init)) { - case GprsCodingScheme::MCS6 : - case GprsCodingScheme::MCS9 : + switch (CodingScheme(cs_init)) { + case MCS6 : + case MCS9 : *block_data = &rlc_data->block[37]; break; - case GprsCodingScheme::MCS7 : - case GprsCodingScheme::MCS5 : + case MCS7 : + case MCS5 : *block_data = &rlc_data->block[28]; break; - case GprsCodingScheme::MCS8 : + case MCS8 : *block_data = &rlc_data->block[31]; break; - case GprsCodingScheme::MCS4 : + case MCS4 : *block_data = &rlc_data->block[22]; break; default: @@ -1291,10 +1291,10 @@ (cs_init.headerTypeData() == GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2)) { return EGPRS_RESEG_FIRST_SEG_SENT; - } else if ((GprsCodingScheme::Scheme(cs_init) == - GprsCodingScheme::MCS4) && - (GprsCodingScheme::Scheme(cs_current_trans) == - GprsCodingScheme::MCS1)) { + } else if ((CodingScheme(cs_init) == + MCS4) && + (CodingScheme(cs_current_trans) == + MCS1)) { return EGPRS_RESEG_FIRST_SEG_SENT; } } @@ -1343,10 +1343,10 @@ GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; - } else if ((GprsCodingScheme::Scheme(cs_init) == - GprsCodingScheme::MCS4) && - (GprsCodingScheme::Scheme(cs_current_trans) == - GprsCodingScheme::MCS1)) { + } else if ((CodingScheme(cs_init) == + MCS4) && + (CodingScheme(cs_current_trans) == + MCS1)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; } @@ -1367,61 +1367,61 @@ { uint8_t coding_scheme = 0; - coding_scheme = GprsCodingScheme::Scheme(cs); + coding_scheme = CodingScheme(cs); if (cs.isGprs()) { switch (coding_scheme) { - case GprsCodingScheme::CS1 : + case CS1 : bts->gprs_dl_cs1(); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); break; - case GprsCodingScheme::CS2 : + case CS2 : bts->gprs_dl_cs2(); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); break; - case GprsCodingScheme::CS3 : + case CS3 : bts->gprs_dl_cs3(); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); break; - case GprsCodingScheme::CS4 : + case CS4 : bts->gprs_dl_cs4(); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); break; } } else { switch (coding_scheme) { - case GprsCodingScheme::MCS1 : + case MCS1 : bts->egprs_dl_mcs1(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); break; - case GprsCodingScheme::MCS2 : + case MCS2 : bts->egprs_dl_mcs2(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); break; - case GprsCodingScheme::MCS3 : + case MCS3 : bts->egprs_dl_mcs3(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); break; - case GprsCodingScheme::MCS4 : + case MCS4 : bts->egprs_dl_mcs4(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); break; - case GprsCodingScheme::MCS5 : + case MCS5 : bts->egprs_dl_mcs5(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); break; - case GprsCodingScheme::MCS6 : + case MCS6 : bts->egprs_dl_mcs6(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); break; - case GprsCodingScheme::MCS7 : + case MCS7 : bts->egprs_dl_mcs7(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); break; - case GprsCodingScheme::MCS8 : + case MCS8 : bts->egprs_dl_mcs8(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); break; - case GprsCodingScheme::MCS9 : + case MCS9 : bts->egprs_dl_mcs9(); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); break; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 7937f8b..bc36733 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -501,18 +501,18 @@ * upgrade the MCS to the type 2 */ if (assemble_status == EGPRS_RESEG_DEFAULT) { - switch (GprsCodingScheme::Scheme(rlc->cs)) { - case GprsCodingScheme::MCS3 : - block->cs_last = GprsCodingScheme::MCS6; + switch (CodingScheme(rlc->cs)) { + case MCS3 : + block->cs_last = MCS6; LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS6\n"); break; - case GprsCodingScheme::MCS2 : - block->cs_last = GprsCodingScheme::MCS5; + case MCS2 : + block->cs_last = MCS5; LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS5\n"); break; - case GprsCodingScheme::MCS1 : + case MCS1 : LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS4\n"); - block->cs_last = GprsCodingScheme::MCS4; + block->cs_last = MCS4; break; default: LOGPTBFUL(this, LOGL_ERROR, @@ -528,61 +528,61 @@ { uint8_t coding_scheme = 0; - coding_scheme = GprsCodingScheme::Scheme(cs); + coding_scheme = CodingScheme(cs); if (cs.isGprs()) { switch (coding_scheme) { - case GprsCodingScheme::CS1 : + case CS1 : bts->gprs_ul_cs1(); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); break; - case GprsCodingScheme::CS2 : + case CS2 : bts->gprs_ul_cs2(); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); break; - case GprsCodingScheme::CS3 : + case CS3 : bts->gprs_ul_cs3(); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); break; - case GprsCodingScheme::CS4 : + case CS4 : bts->gprs_ul_cs4(); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); break; } } else { switch (coding_scheme) { - case GprsCodingScheme::MCS1 : + case MCS1 : bts->egprs_ul_mcs1(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); break; - case GprsCodingScheme::MCS2 : + case MCS2 : bts->egprs_ul_mcs2(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); break; - case GprsCodingScheme::MCS3 : + case MCS3 : bts->egprs_ul_mcs3(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); break; - case GprsCodingScheme::MCS4 : + case MCS4 : bts->egprs_ul_mcs4(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); break; - case GprsCodingScheme::MCS5 : + case MCS5 : bts->egprs_ul_mcs5(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); break; - case GprsCodingScheme::MCS6 : + case MCS6 : bts->egprs_ul_mcs6(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); break; - case GprsCodingScheme::MCS7 : + case MCS7 : bts->egprs_ul_mcs7(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); break; - case GprsCodingScheme::MCS8 : + case MCS8 : bts->egprs_ul_mcs8(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); break; - case GprsCodingScheme::MCS9 : + case MCS9 : bts->egprs_ul_mcs9(); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); break; diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 0cb123e..9db90ca 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -121,33 +121,33 @@ unsigned i; uint8_t last_size_UL; uint8_t last_size_DL; - GprsCodingScheme::Scheme gprs_schemes[] = { - GprsCodingScheme::CS1, - GprsCodingScheme::CS2, - GprsCodingScheme::CS3, - GprsCodingScheme::CS4 + CodingScheme gprs_schemes[] = { + CS1, + CS2, + CS3, + CS4 }; struct { - GprsCodingScheme::Scheme s; + CodingScheme s; bool is_gmsk; } egprs_schemes[] = { - {GprsCodingScheme::MCS1, true}, - {GprsCodingScheme::MCS2, true}, - {GprsCodingScheme::MCS3, true}, - {GprsCodingScheme::MCS4, true}, - {GprsCodingScheme::MCS5, false}, - {GprsCodingScheme::MCS6, false}, - {GprsCodingScheme::MCS7, false}, - {GprsCodingScheme::MCS8, false}, - {GprsCodingScheme::MCS9, false}, + { MCS1, true}, + { MCS2, true}, + { MCS3, true}, + { MCS4, true}, + { MCS5, false}, + { MCS6, false}, + { MCS7, false}, + { MCS8, false}, + { MCS9, false}, }; printf("=== start %s ===\n", __func__); GprsCodingScheme cs; OSMO_ASSERT(!cs); - OSMO_ASSERT(GprsCodingScheme::Scheme(cs) == GprsCodingScheme::UNKNOWN); - OSMO_ASSERT(cs == GprsCodingScheme(GprsCodingScheme::UNKNOWN)); + OSMO_ASSERT(CodingScheme(cs) == UNKNOWN); + OSMO_ASSERT(cs == GprsCodingScheme(UNKNOWN)); OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::GPRS)); OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS_GMSK)); OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS)); @@ -160,7 +160,7 @@ OSMO_ASSERT(current_cs.isGprs()); OSMO_ASSERT(!current_cs.isEgprs()); OSMO_ASSERT(!current_cs.isEgprsGmsk()); - OSMO_ASSERT(GprsCodingScheme::Scheme(current_cs) == gprs_schemes[i]); + OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]); OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i])); OSMO_ASSERT(check_strong_monotonicity(¤t_cs, last_size_UL, last_size_DL)); @@ -183,7 +183,7 @@ OSMO_ASSERT(!current_cs.isGprs()); OSMO_ASSERT(current_cs.isEgprs()); OSMO_ASSERT(!!current_cs.isEgprsGmsk() == !!egprs_schemes[i].is_gmsk); - OSMO_ASSERT(GprsCodingScheme::Scheme(current_cs) == egprs_schemes[i].s); + OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s); OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s)); OSMO_ASSERT(check_strong_monotonicity(¤t_cs, last_size_UL, last_size_DL)); @@ -213,7 +213,7 @@ printf("=== start %s ===\n", __func__); /* TS 44.060, B.1 */ - cs = GprsCodingScheme::CS4; + cs = CS4; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 0; @@ -237,7 +237,7 @@ OSMO_ASSERT(!chunks[2].is_complete); /* TS 44.060, B.2 */ - cs = GprsCodingScheme::CS1; + cs = CS1; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 0; @@ -271,7 +271,7 @@ OSMO_ASSERT(!chunks[1].is_complete); /* TS 44.060, B.3 */ - cs = GprsCodingScheme::CS1; + cs = CS1; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 0; @@ -292,7 +292,7 @@ OSMO_ASSERT(chunks[1].is_complete); /* TS 44.060, B.4 */ - cs = GprsCodingScheme::CS1; + cs = CS1; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 1; rdbi.ti = 0; @@ -308,7 +308,7 @@ OSMO_ASSERT(!chunks[0].is_complete); /* TS 44.060, B.6 */ - cs = GprsCodingScheme::CS1; + cs = CS1; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 1; rdbi.ti = 0; @@ -324,7 +324,7 @@ OSMO_ASSERT(chunks[0].is_complete); /* TS 44.060, B.8.1 */ - cs = GprsCodingScheme::MCS4; + cs = MCS4; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 0; @@ -353,7 +353,7 @@ * includes the FBI/E header bits into the N2 octet count which * is not consistent with Section 10.3a.1 & 10.3a.2. */ - cs = GprsCodingScheme::MCS2; + cs = MCS2; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 0; @@ -417,7 +417,7 @@ /* Note that the spec confuses the byte numbering here, too (see above) */ - cs = GprsCodingScheme::MCS2; + cs = MCS2; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 1; rdbi.ti = 0; @@ -433,7 +433,7 @@ OSMO_ASSERT(chunks[0].is_complete); /* CS-1, TLLI, last block, single chunk until the end of the block */ - cs = GprsCodingScheme::CS1; + cs = CS1; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 1; rdbi.ti = 1; @@ -454,7 +454,7 @@ OSMO_ASSERT(chunks[0].is_complete); /* Like TS 44.060, B.2, first RLC block but with TLLI */ - cs = GprsCodingScheme::CS1; + cs = CS1; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 1; @@ -476,7 +476,7 @@ OSMO_ASSERT(!chunks[0].is_complete); /* Like TS 44.060, B.8.1 but with TLLI */ - cs = GprsCodingScheme::MCS4; + cs = MCS4; rdbi.data_len = cs.maxDataBlockBytes(); rdbi.e = 0; rdbi.ti = 1; @@ -543,7 +543,7 @@ llc.init(); /* TS 44.060, B.1 */ - cs = GprsCodingScheme::CS4; + cs = CS4; gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); num_chunks = 0; write_offset = 0; @@ -594,7 +594,7 @@ OSMO_ASSERT(data[2] == 0); /* TS 44.060, B.2 */ - cs = GprsCodingScheme::CS1; + cs = CS1; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -654,7 +654,7 @@ OSMO_ASSERT(data[1] == 0); /* TS 44.060, B.3 */ - cs = GprsCodingScheme::CS1; + cs = CS1; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -693,7 +693,7 @@ OSMO_ASSERT(data[2] == 0); /* TS 44.060, B.4 */ - cs = GprsCodingScheme::CS1; + cs = CS1; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -718,7 +718,7 @@ OSMO_ASSERT(data[0] == 0); /* TS 44.060, B.5 */ - cs = GprsCodingScheme::CS1; + cs = CS1; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -743,7 +743,7 @@ OSMO_ASSERT(data[0] == 0); /* TS 44.060, B.7 */ - cs = GprsCodingScheme::CS1; + cs = CS1; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -801,7 +801,7 @@ OSMO_ASSERT(data[1] == 0); /* TS 44.060, B.8.1 */ - cs = GprsCodingScheme::MCS4; + cs = MCS4; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -859,7 +859,7 @@ * includes the FBI/E header bits into the N2 octet count which * is not consistent with Section 10.3a.1 & 10.3a.2. */ - cs = GprsCodingScheme::MCS2; + cs = MCS2; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -991,7 +991,7 @@ /* Note that the spec confuses the byte numbering here, too (see above) */ - cs = GprsCodingScheme::MCS2; + cs = MCS2; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -1017,7 +1017,7 @@ /* Final block with an LLC of size data_len-1 */ - cs = GprsCodingScheme::MCS2; + cs = MCS2; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -1045,7 +1045,7 @@ /* Final block with an LLC of size data_len-2 */ - cs = GprsCodingScheme::MCS2; + cs = MCS2; /* Block 1 */ gprs_rlc_data_block_info_init(&rdbi, cs, false, 0); @@ -1081,13 +1081,13 @@ uint8_t saved_block[256]; uint8_t test_block[256]; uint8_t out_block[256]; - GprsCodingScheme::Scheme scheme; + CodingScheme scheme; int pattern; volatile unsigned int block_idx, i; - for (scheme = GprsCodingScheme::CS1; - scheme < GprsCodingScheme::NUM_SCHEMES; - scheme = GprsCodingScheme::Scheme(scheme + 1)) + for (scheme = CS1; + scheme < NUM_SCHEMES; + scheme = CodingScheme(scheme + 1)) { GprsCodingScheme cs(scheme); @@ -1148,13 +1148,13 @@ printf("=== start %s ===\n", __func__); gprs_rlc_data_info_init_dl(&rlc, - GprsCodingScheme(GprsCodingScheme::CS1), false, 0); + GprsCodingScheme(CS1), false, 0); OSMO_ASSERT(rlc.num_data_blocks == 1); OSMO_ASSERT(rlc.data_offs_bits[0] == 24); OSMO_ASSERT(rlc.block_info[0].data_len == 20); gprs_rlc_data_info_init_dl(&rlc, - GprsCodingScheme(GprsCodingScheme::MCS1), false, 0); + GprsCodingScheme(MCS1), false, 0); OSMO_ASSERT(rlc.num_data_blocks == 1); OSMO_ASSERT(rlc.data_offs_bits[0] == 33); OSMO_ASSERT(rlc.block_info[0].data_len == 22); @@ -1193,7 +1193,7 @@ int rc, offs; /*without padding*/ - cs = GprsCodingScheme::MCS5; + cs = MCS5; egprs2 = (struct gprs_rlc_ul_header_egprs_2 *) data; egprs2->r = 1; egprs2->si = 1; @@ -1218,7 +1218,7 @@ OSMO_ASSERT(rlc.block_info[0].bsn == 0); /* with padding case */ - cs = GprsCodingScheme::MCS6; + cs = MCS6; egprs2 = (struct gprs_rlc_ul_header_egprs_2 *) data; egprs2->r = 1; egprs2->si = 1; @@ -1298,7 +1298,7 @@ tfi = 1; /* MCS 7 */ - cs = GprsCodingScheme::MCS7; + cs = MCS7; egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data; egprs1->si = 1; egprs1->r = 1; @@ -1326,7 +1326,7 @@ OSMO_ASSERT(rlc.tfi == 1); /* MCS 8 */ - cs = GprsCodingScheme::MCS8; + cs = MCS8; egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data; egprs1->si = 1; egprs1->r = 1; @@ -1354,7 +1354,7 @@ OSMO_ASSERT(rlc.tfi == 1); /* MCS 9 */ - cs = GprsCodingScheme::MCS9; + cs = MCS9; egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data; egprs1->si = 1; egprs1->r = 1; diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index d78a4ab..0d473a1 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -720,7 +720,7 @@ * TS 44.060, B.8.1 * first seg received first, later second seg */ - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 0; egprs3->r = 1; @@ -872,7 +872,7 @@ * TS 44.060, B.8.1 * first seg received first, later second seg */ - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -917,7 +917,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_DEFAULT); OSMO_ASSERT(block->cs_last == - GprsCodingScheme::MCS6); + MCS6); /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); @@ -927,7 +927,7 @@ */ memset(data_msg, 0, sizeof(data_msg)); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -972,7 +972,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_DEFAULT); OSMO_ASSERT(block->cs_last == - GprsCodingScheme::MCS6); + MCS6); /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); @@ -980,7 +980,7 @@ * TS 44.060, B.8.1 * Error scenario with spb as 1 */ - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1017,7 +1017,7 @@ for (i = 0; i < 42; i++) data_msg[i] = i; - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1041,7 +1041,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1067,9 +1067,9 @@ /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); OSMO_ASSERT(block->cs_last == - GprsCodingScheme::MCS6); + MCS6); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1093,7 +1093,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1117,7 +1117,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1141,11 +1141,11 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_DEFAULT); OSMO_ASSERT(block->cs_last == - GprsCodingScheme::MCS6); + MCS6); /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1169,7 +1169,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_SECOND_SEG_RXD); - cs = GprsCodingScheme::MCS3; + cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1194,7 +1194,7 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_DEFAULT); OSMO_ASSERT(block->cs_last == - GprsCodingScheme::MCS6); + MCS6); /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); @@ -2407,7 +2407,7 @@ OSMO_ASSERT(ms->ta() == qta/4); OSMO_ASSERT(ms->ul_tbf() == ul_tbf); - cs = GprsCodingScheme::MCS4; + cs = MCS4; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 0; egprs3->r = 1; @@ -2793,8 +2793,8 @@ OSMO_ASSERT(bsn1 == 0); dl_tbf->ms()->set_current_cs_dl - (static_cast < GprsCodingScheme::Scheme > - (GprsCodingScheme::CS4 + demanded_mcs)); + (static_cast < CodingScheme > + (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); @@ -2825,8 +2825,8 @@ /* Handle (MCS3, MCS3) -> MCS6 case */ dl_tbf->ms()->set_current_cs_dl - (static_cast < GprsCodingScheme::Scheme > - (GprsCodingScheme::CS4 + mcs)); + (static_cast < CodingScheme > + (CS4 + mcs)); NACK(dl_tbf, 0); @@ -2874,8 +2874,8 @@ NACK(dl_tbf, 0); dl_tbf->ms()->set_current_cs_dl - (static_cast < GprsCodingScheme::Scheme > - (GprsCodingScheme::CS4 + demanded_mcs)); + (static_cast < CodingScheme > + (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); @@ -2961,8 +2961,8 @@ /* Set the demanded MCS to demanded_mcs */ dl_tbf->ms()->set_current_cs_dl - (static_cast < GprsCodingScheme::Scheme > - (GprsCodingScheme::CS4 + demanded_mcs)); + (static_cast < CodingScheme > + (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); /* Retransmit the first RLC data block with demanded_mcs */ @@ -2988,8 +2988,8 @@ NACK(dl_tbf, 1); dl_tbf->ms()->set_current_cs_dl - (static_cast < GprsCodingScheme::Scheme > - (GprsCodingScheme::CS4 + demanded_mcs)); + (static_cast < CodingScheme > + (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); /* Send first, second RLC data blocks with demanded_mcs */ -- To view, visit https://gerrit.osmocom.org/13064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I993b49d9a82b8c7ad677d52d11003794aeabe117 Gerrit-Change-Number: 13064 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:20:12 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:20:12 +0000 Subject: Change in osmo-pcu[master]: Make get_retx_mcs() into regular function In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13066 ) Change subject: Make get_retx_mcs() into regular function ...................................................................... Make get_retx_mcs() into regular function Moving from header-defined inline function allows us to hide egprs_mcs_retx_tbl definition and simplify further changes. Change-Id: I95258d1558a3b918ae83f1a69e7c3de2b97e5627 --- M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h 2 files changed, 14 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index 990e278..bcbb893 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -21,13 +21,16 @@ #include "gprs_coding_scheme.h" +#define MAX_NUM_ARQ 2 /* max. number of ARQ */ +#define MAX_NUM_MCS 9 /* max. number of MCS */ + /* * 44.060 Table 8.1.1.1 and Table 8.1.1.2 * It has 3 level indexing. 0th level is ARQ type * 1st level is Original MCS( index 0 corresponds to MCS1 and so on) * 2nd level is MS MCS (index 0 corresponds to MCS1 and so on) */ -enum CodingScheme GprsCodingScheme::egprs_mcs_retx_tbl[MAX_NUM_ARQ] +static enum CodingScheme egprs_mcs_retx_tbl[MAX_NUM_ARQ] [MAX_NUM_MCS][MAX_NUM_MCS] = { { {MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1}, @@ -60,6 +63,16 @@ FAMILY_C, }; +CodingScheme GprsCodingScheme::get_retx_mcs(const GprsCodingScheme mcs, + const GprsCodingScheme demanded_mcs, + const unsigned arq_type) +{ + OSMO_ASSERT(mcs.to_num() > 0); + OSMO_ASSERT(demanded_mcs.to_num() > 0); + + return egprs_mcs_retx_tbl[arq_type][mcs.to_num() - 1][demanded_mcs.to_num() - 1]; +} + static struct { struct { uint8_t bytes; diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 045d34a..d97df08 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -31,8 +31,6 @@ class GprsCodingScheme { public: -#define MAX_NUM_ARQ 2 /* max. number of ARQ */ -#define MAX_NUM_MCS 9 /* max. number of MCS */ #define EGPRS_ARQ1 0x0 #define EGPRS_ARQ2 0x1 @@ -102,9 +100,6 @@ static CodingScheme get_retx_mcs(const GprsCodingScheme mcs, const GprsCodingScheme retx_mcs, const unsigned arq_type); - - static enum CodingScheme egprs_mcs_retx_tbl[MAX_NUM_ARQ] - [MAX_NUM_MCS][MAX_NUM_MCS]; private: GprsCodingScheme(int s); /* fail on use */ GprsCodingScheme& operator =(int s); /* fail on use */ @@ -192,15 +187,3 @@ { return a.isCompatible(b) && a.to_num() < b.to_num(); } - -inline CodingScheme GprsCodingScheme::get_retx_mcs( - const GprsCodingScheme mcs, - const GprsCodingScheme demanded_mcs, - const unsigned arq_type) -{ - OSMO_ASSERT(mcs.to_num() > 0); - OSMO_ASSERT(demanded_mcs.to_num() > 0); - - return egprs_mcs_retx_tbl[arq_type][mcs.to_num() - 1] - [demanded_mcs.to_num() - 1]; -} -- To view, visit https://gerrit.osmocom.org/13066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I95258d1558a3b918ae83f1a69e7c3de2b97e5627 Gerrit-Change-Number: 13066 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:20:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:20:20 +0000 Subject: Change in osmo-pcu[master]: MCS: use value_string for conversion In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13069 ) Change subject: MCS: use value_string for conversion ...................................................................... Patch Set 6: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I212ebb892ab162821633974d5a6c7e315d308370 Gerrit-Change-Number: 13069 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 10:20:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:20:29 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:20:29 +0000 Subject: Change in osmo-pcu[master]: TBF-DL: log MCS as string In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13149 ) Change subject: TBF-DL: log MCS as string ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3e1925a010a6def5fd14da63b73e0b75feddfafc Gerrit-Change-Number: 13149 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 10:20:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:20:35 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:20:35 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 10:20:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:24:46 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 10:24:46 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 2: > do we actually need this outside of the context of the class? Why are we worried how those strings are being generated? That's pretty much cosmetic change. Having this in .c rather than .cpp makes it easier to use from both .c and .cpp code but that's just convenience. If you're absolutely against it than I can rewrite follow-up patches to not depend on this change. -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 10:24:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 10:56:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 10:56:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13231 Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... ggsn: add tests to validate IPv4v6 pdp ctx Add related templates based on 3GPP TS 29.060 Figure 37A and create tests based on existing IPv4 and v6 ones. Related: OS#2900 Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 --- M ggsn_tests/GGSN_Tests.ttcn M library/GTP_Templates.ttcn 2 files changed, 201 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/13231/1 diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 3c99fd9..20a7367 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -257,6 +257,10 @@ not match(cpr.endUserAddress, tr_EuaIPv6(?))) { setverdict(fail); } + if (match(ctx.eua, t_EuaIPv4v6(?, ?)) and + not match(cpr.endUserAddress, tr_EuaIPv4v6(?, ?))) { + setverdict(fail); + } /* Check if PCO response corresponds to request */ if (ispresent(ctx.pco_req)) { if (match(ctx.pco_req, ts_PCO_IPv4_DNS_CONT) and @@ -697,6 +701,21 @@ f_wait_icmp6(ctx, (tr_ICMPv6_ERP,tr_ICMPv6_DU)); } + /* create ICMPv6 router solicitation deriving link-id from PDP Context EUA */ + function f_icmpv6_rs_for_pdp46(in PdpContext ctx) return octetstring { + var OCT16 interface_id := ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address; + return f_gen_icmpv6_router_solicitation(interface_id); + } + + /* generate and encode ICMPv6 neighbor solicitation for PDP Context */ + function f_gen_icmpv6_neigh_solicit_for_pdp46(in PdpContext ctx) return octetstring { + var OCT16 interface_id := ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address; + var OCT16 link_local := f_ipv6_link_local(interface_id); + var OCT16 daddr := f_ipv6_sol_node_mcast(link_local); + + return f_gen_icmpv6_neigh_solicit(link_local, daddr, link_local); + } + /* Assert we don't receive a ICMPv4/6 echo reply (or unreachable) from GTP */ function f_wait_gtpu_fail(PdpContext ctx) runs on GT_CT { T_default.start; @@ -1028,6 +1047,157 @@ f_pdp_ctx_del(ctx, '1'B); } + /* Test IPv4v6 context activation for dynamic IPv4v6 EUA without DNS request */ + testcase TC_pdp46_act_deact() runs on GT_CT { + f_init(); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + f_pdp_ctx_act(ctx); + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test PDP context activation for dynamic IPv4v6 EUA with IPv4 DNS in IPCP */ + testcase TC_pdp46_act_deact_ipcp() runs on GT_CT { + f_init(); + var OCT4 ggsn_ip4_dns1 := f_inet_addr(m_ggsn_ip4_dns1); + var OCT4 ggsn_ip4_dns2 := f_inet_addr(m_ggsn_ip4_dns2); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv4_DNS_IPCP); + f_pdp_ctx_act(ctx); + /* verify IPCP is at all contained */ + if (not match(ctx.pco_neg, tr_PCO_Contains('8021'O))) { + setverdict(fail, "IPCP not found in PCO"); + } + /* verify IPCP contains both primary and secondary IPv4 DNS */ + var IpcpPacket ipcp := dec_IpcpPacket(f_PCO_extract_proto(ctx.pco_neg, '8021'O)); + if (not match(ipcp, tr_IPCP_Ack_DNS(0, ggsn_ip4_dns1, ggsn_ip4_dns2))) { + if (not match(ipcp, tr_IPCP_Ack_DNS(0))) { + setverdict(fail, "Primary/Secondary DNS PCO IPCP option not found"); + } else { + setverdict(fail, "Primary/Secondary DNS PCO IPCP option found but not matching expected values"); + } + } + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test PDP context activation for dynamic IPv4v6 EUA with IPv6 DNS in PCO and router solicitation/advertisement */ + testcase TC_pdp46_act_deact_icmp6() runs on GT_CT { + f_init(); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv6_DNS); + f_pdp_ctx_act(ctx); + + //f_send_gtpu(ctx, c_router_solicit); + //f_send_gtpu(ctx, c_neigh_solicit); + + f_send_gtpu(ctx, f_icmpv6_rs_for_pdp46(ctx)); + f_wait_rtr_adv(ctx); + f_send_gtpu(ctx, f_gen_icmpv6_neigh_solicit_for_pdp46(ctx)); + + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test IPv4v6 context activation for dynamic IPv4v6 EUA with request of IPv4 DNS in PCO */ + testcase TC_pdp46_act_deact_pcodns4() runs on GT_CT { + f_init(); + + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv4_DNS_CONT); + f_pdp_ctx_act(ctx); + + /* verify PCO contains both primary and secondary IPv4 DNS */ + var OCT4 ggsn_ip4_dns1 := f_inet_addr(m_ggsn_ip4_dns1); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '000d'O, 1), ggsn_ip4_dns1)) { + setverdict(fail, "Primary DNS IPv4 PCO option not found"); + } + + var OCT4 ggsn_ip4_dns2 := f_inet_addr(m_ggsn_ip4_dns2); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '000d'O, 2), ggsn_ip4_dns2)) { + setverdict(fail, "Secondary DNS IPv4 PCO option not found"); + } + + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test IPv4v6 context activation for dynamic IPv4v6 EUA with request of IPv6 DNS in PCO */ + testcase TC_pdp46_act_deact_pcodns6() runs on GT_CT { + f_init(); + + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv6_DNS); + f_pdp_ctx_act(ctx); + + /* verify PCO contains both primary and secondary IPv6 DNS */ + var OCT4 ggsn_ip6_dns1 := f_inet6_addr(m_ggsn_ip6_dns1); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '0003'O, 1), ggsn_ip6_dns1)) { + setverdict(fail, "Primary DNS IPv6 PCO option not found"); + } + + var OCT4 ggsn_ip6_dns2 := f_inet6_addr(m_ggsn_ip6_dns2); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '0003'O, 2), ggsn_ip6_dns2)) { + setverdict(fail, "Secondary DNS IPv6 PCO option not found"); + } + + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test PDP context activation for dynamic IPv4v6 EUA. + Test we can send ICMPv6 ping over GTPU to DNS server. */ + testcase TC_pdp46_act_deact_gtpu_access() runs on GT_CT { + f_init(); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv4_DNS_CONT); + f_pdp_ctx_act(ctx); + + var OCT4 dns1_addr := f_PCO_extract_proto(ctx.pco_neg, '000d'O); + + /* Check if we can use valid global src addr, should work */ + var OCT4 saddr := ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv4_address; + f_send_gtpu(ctx, f_gen_icmpv4_echo(saddr, dns1_addr)); + f_wait_icmp4_echo_reply(ctx); + + /* Assert that packets with wrong global src addr are dropped by GGSN */ + var OCT4 saddr_wrong := substr(saddr, 0, 3) & (saddr[3] xor4b '11'O); + f_send_gtpu(ctx, f_gen_icmpv4_echo(saddr_wrong, dns1_addr)); + f_wait_gtpu_fail(ctx); + + /* Send an IPv6 RA to APN4, should fail (packet dropped) */ + var OCT16 saddr_v6 := f_inet6_addr("fde4:8dba:82e1:2000:1:2:3:4"); + f_send_gtpu(ctx, f_gen_icmpv6_router_solicitation(saddr_v6)); + f_wait_gtpu_fail(ctx); + f_pdp_ctx_del(ctx, '1'B); + } + + /* Validate if different clients (pdp ctx) can reach one another through GGSN. */ + testcase TC_pdp46_clients_interact() runs on GT_CT { + f_init(); + var PdpContext ctxA := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + var PdpContext ctxB := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + f_pdp_ctx_act(ctxA); + f_send_gtpu(ctxA, f_icmpv6_rs_for_pdp46(ctxA)); + f_wait_rtr_adv(ctxA); + f_send_gtpu(ctxA, f_gen_icmpv6_neigh_solicit_for_pdp46(ctxA)); + + f_pdp_ctx_act(ctxB); + f_send_gtpu(ctxB, f_icmpv6_rs_for_pdp46(ctxB)); + f_wait_rtr_adv(ctxB); + f_send_gtpu(ctxB, f_gen_icmpv6_neigh_solicit_for_pdp46(ctxB)); + + var OCT16 addrA_ll := f_ipv6_link_local(ctxA.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + var OCT16 addrB_ll := f_ipv6_link_local(ctxB.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + var OCT16 addrA_glob := f_ipv6_global(ctxA.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + var OCT16 addrB_glob := f_ipv6_global(ctxB.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + + /* Validate if clients can interact using ll addr. */ + f_send_gtpu(ctxA, f_gen_icmpv6_echo(addrA_ll, addrB_ll)); + f_wait_gtpu_fail(ctxB); + + /* Validate if clients can interact using global addr. */ + f_send_gtpu(ctxA, f_gen_icmpv6_echo(addrA_glob, addrB_glob)); + f_wait_gtpu_fail(ctxB); + + f_pdp_ctx_del(ctxA, '1'B); + } + control { execute(TC_pdp4_act_deact()); execute(TC_pdp4_act_deact_ipcp()); @@ -1044,6 +1214,14 @@ execute(TC_pdp6_act_deact_gtpu_access()); execute(TC_pdp6_clients_interact()); + execute(TC_pdp46_act_deact()); + execute(TC_pdp46_act_deact_ipcp()); + execute(TC_pdp46_act_deact_icmp6()); + execute(TC_pdp46_act_deact_pcodns4()); + execute(TC_pdp46_act_deact_pcodns6()); + execute(TC_pdp46_act_deact_gtpu_access()); + execute(TC_pdp46_clients_interact()); + execute(TC_echo_req_resp()); } } diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn index 018f6da..bd39e27 100644 --- a/library/GTP_Templates.ttcn +++ b/library/GTP_Templates.ttcn @@ -161,6 +161,29 @@ } } + /* 3GPP TS 29.060 Figure 37A: End User Address Information Element for IPv4v6 (both static) */ + template EndUserAddress t_EuaIPv4v6(template OCT4 ip_addr4, template OCT16 ip_addr6) := { + type_gtpc := '80'O, + endUserAddress := { + endUserAddressIPv4andIPv6 := { + lengthf := 2, + pdp_typeorg := '0001'B, + spare := '1111'B, + pdp_typenum := '8D'O, + ipv4_address := ip_addr4, + ipv6_address := ip_addr6 + } + } + } + template EndUserAddress t_EuaIPv4Dynv6Dyn := t_EuaIPv4v6(omit, omit); + template EndUserAddress tr_EuaIPv4v6(template OCT4 ip_addr4, template OCT16 ip_addr6) modifies t_EuaIPv4v6 := { + endUserAddress := { + endUserAddressIPv4andIPv6 := { + lengthf := 2+lengthof(ip_addr4)+lengthof(ip_addr6) + } + } + } + template AccessPointName ts_APN(octetstring apn) := { type_gtpc := '83'O, lengthf := lengthof(apn), -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:20:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:20:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:20:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:24:07 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:24:07 +0000 Subject: Change in osmo-bsc[master]: incoming connect: don't crash if calling addr is missing In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13227 ) Change subject: incoming connect: don't crash if calling addr is missing ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib028432b37a5c48b677bb21b869cc722575dce92 Gerrit-Change-Number: 13227 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:24:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:26:04 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 11:26:04 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13214 ) Change subject: MCS: add mcs_is_*() helpers ...................................................................... Patch Set 1: (1 comment) I don't have a strong opinion on this though and we use 'egprs' way more often than 'edge' throughout the code so I can rename it. https://gerrit.osmocom.org/#/c/13214/1/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13214/1/src/coding_scheme.c at 54 PS1, Line 54: edge > EGPRS would be the more correct term here. [?] Technically you're right: EDGE is more than just gprs-specific bits (which EGPRS is) - the spec usually talks about 'GSM/EDGE'. The reasoning behind this change is that in the context of PCU, we only deal with PS-related parts of EDGE anyway, so 'edge' and 'egprs' could be used interchangeably in this context - and "_edge" is slightly easier to read and has slightly lower chance of typos due to bigger dissimilarity between strings. -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 11:26:04 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 11:28:20 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and maks when writing Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13232 Change subject: vty: Ensure to properly save route pointcode and maks when writing ...................................................................... vty: Ensure to properly save route pointcode and maks when writing As osmo_ss7_route_print() returns a static buffer, we cannot use it twice within a single log/print statement. Rather, we must use osmo_ss7_route_print2() for the second call, as it uses a separate static buffer. Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 --- M src/osmo_ss7_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/32/13232/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 1b7bcb9..950eb08 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -362,7 +362,7 @@ llist_for_each_entry(rt, &rtable->routes, list) { vty_out(vty, " update route %s %s linkset %s", osmo_ss7_pointcode_print(rtable->inst, rt->cfg.pc), - osmo_ss7_pointcode_print(rtable->inst, rt->cfg.mask), + osmo_ss7_pointcode_print2(rtable->inst, rt->cfg.mask), rt->cfg.linkset_name); if (rt->cfg.priority) vty_out(vty, " priority %u", rt->cfg.priority); -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 11:28:20 +0000 Subject: Change in libosmo-sccp[master]: Fix output of route destination in 'show ss7 instance <0-15> route' Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13233 Change subject: Fix output of route destination in 'show ss7 instance <0-15> route' ...................................................................... Fix output of route destination in 'show ss7 instance <0-15> route' We were printing the mask of the route, but not the point code itself. Best would probably be to print both? Closes: OS#3835 Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M tests/ss7/ss7_test.c M tests/ss7/ss7_test.ok 5 files changed, 53 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/33/13233/1 diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index a97e236..f448ce7 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -238,6 +238,7 @@ osmo_ss7_route_create(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask, const char *linkset_name); void osmo_ss7_route_destroy(struct osmo_ss7_route *rt); +const char *osmo_ss7_route_print(const struct osmo_ss7_route *rt); const char *osmo_ss7_route_name(struct osmo_ss7_route *rt, bool list_asps); diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 39d92fa..4bb8fc8 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -838,6 +838,48 @@ talloc_free(rt); } +/* count number of consecutive leading (MSB) bits that are '1' */ +static unsigned int count_leading_one_bits(uint32_t inp, unsigned int nbits) +{ + unsigned int i; + + for (i = 0; i < nbits; i++) { + if (!(inp & (1 << (nbits-1-i)))) + return i; + } + return i; +} + +/* determine the mask length in number of bits; negative if non-consecutive mask */ +static int u32_masklen(uint32_t mask, unsigned int nbits) +{ + unsigned int i; + unsigned int leading_one_bits = count_leading_one_bits(mask, nbits); + + /* are there any bits set after the initial bits? */ + for (i = leading_one_bits; i < nbits; i++) { + if (mask & (1 << (nbits-1-i))) + return -1; /* not a simple prefix mask */ + } + return leading_one_bits; +} + +const char *osmo_ss7_route_print(const struct osmo_ss7_route *rt) +{ + const struct osmo_ss7_instance *inst = rt->rtable->inst; + unsigned int pc_width = osmo_ss7_pc_width(&inst->cfg.pc_fmt); + static char buf[64]; + int rc = u32_masklen(rt->cfg.mask, pc_width); + + if (rc < 0) + snprintf(buf, sizeof(buf), "%s/%s", osmo_ss7_pointcode_print(inst, rt->cfg.pc), + osmo_ss7_pointcode_print2(inst, rt->cfg.mask)); + else + snprintf(buf, sizeof(buf), "%s/%u", osmo_ss7_pointcode_print(inst, rt->cfg.pc), rc); + return buf; +} + + /*********************************************************************** * SS7 Application Server ***********************************************************************/ diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 950eb08..cc53b05 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -384,7 +384,7 @@ llist_for_each_entry(rt, &rtbl->routes, list) { vty_out(vty, "%-22s %c %c %u %-19s %-7s %-7s %-7s%s", - osmo_ss7_pointcode_print(rtbl->inst, rt->cfg.mask), + osmo_ss7_route_print(rt), ' ', ' ', rt->cfg.priority, rt->cfg.linkset_name, "?", "?", "?", VTY_NEWLINE); } } diff --git a/tests/ss7/ss7_test.c b/tests/ss7/ss7_test.c index 0c0cf25..a3f47b6 100644 --- a/tests/ss7/ss7_test.c +++ b/tests/ss7/ss7_test.c @@ -162,12 +162,14 @@ /* route with full mask */ OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 12) == NULL); rt = osmo_ss7_route_create(rtbl, 12, 0xffff, "a"); + printf("route with full mask: %s\n", osmo_ss7_route_print(rt)); OSMO_ASSERT(rt); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 12) == rt); osmo_ss7_route_destroy(rt); /* route with partial mask */ rt = osmo_ss7_route_create(rtbl, 8, 0xfff8, "a"); + printf("route with partial mask: %s\n", osmo_ss7_route_print(rt)); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 8) == rt); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 9) == rt); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 12) == rt); @@ -189,6 +191,10 @@ osmo_ss7_route_destroy(rt12); osmo_ss7_route_destroy(rt); + rt = osmo_ss7_route_create(rtbl, 8, 0xfff9, "a"); + printf("route with non-consecutive mask: %s\n", osmo_ss7_route_print(rt)); + osmo_ss7_route_destroy(rt); + osmo_ss7_linkset_destroy(lset_a); osmo_ss7_linkset_destroy(lset_b); } diff --git a/tests/ss7/ss7_test.ok b/tests/ss7/ss7_test.ok index 8aea63d..1f8c0d8 100644 --- a/tests/ss7/ss7_test.ok +++ b/tests/ss7/ss7_test.ok @@ -24,4 +24,7 @@ mask /24 => 16777215 (0xffffff) 255-255-255 Testing SS7 user Testing SS7 routing +route with full mask: 0.1.4/14 +route with partial mask: 0.1.0/11 +route with non-consecutive mask: 0.1.0/7.255.1 Testing SS7 linkset/link -- To view, visit https://gerrit.osmocom.org/13233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef Gerrit-Change-Number: 13233 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:28:52 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:28:52 +0000 Subject: Change in osmo-bsc[master]: log N-CONNECT from MSC In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13228 ) Change subject: log N-CONNECT from MSC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83f15c7231b2b766aba4d25339d08acbbca3a47e Gerrit-Change-Number: 13228 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:28:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:29:03 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:29:03 +0000 Subject: Change in osmo-gsm-manuals[master]: fix typo: SIGTAN->SIGTRAN In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13230 ) Change subject: fix typo: SIGTAN->SIGTRAN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b9ed7d61a23cf327889b3e513af74e8c86b161c Gerrit-Change-Number: 13230 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:29:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:29:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:29:14 +0000 Subject: Change in osmo-gsm-manuals[master]: fix typo: SIGTAN->SIGTRAN In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13230 ) Change subject: fix typo: SIGTAN->SIGTRAN ...................................................................... fix typo: SIGTAN->SIGTRAN Change-Id: I4b9ed7d61a23cf327889b3e513af74e8c86b161c --- M common/chapters/sigtran.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/common/chapters/sigtran.adoc b/common/chapters/sigtran.adoc index 371801a..fd7d3cc 100644 --- a/common/chapters/sigtran.adoc +++ b/common/chapters/sigtran.adoc @@ -221,7 +221,7 @@ Despite first being specified in October 2000 as IETF RFC 2960, it took a long time until solid implementations of SCTP ended up in general-purpose operating systems. SCTP is not used much outside the -context of SIGTAN, which means implementations often suffer from bugs, +context of SIGTRAN, which means implementations often suffer from bugs, and many parts of the public Internet do not carry SCTP traffic due to restrictive firewalls and/or ignorant network administrators. -- To view, visit https://gerrit.osmocom.org/13230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4b9ed7d61a23cf327889b3e513af74e8c86b161c Gerrit-Change-Number: 13230 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:37:52 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:37:52 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 5: (4 comments) https://gerrit.osmocom.org/#/c/13067/5/debian/copyright File debian/copyright: https://gerrit.osmocom.org/#/c/13067/5/debian/copyright at 9 PS5, Line 9: 2016-2017 sysmocom s.m.f.c. GmbH Update copyright year https://gerrit.osmocom.org/#/c/13067/5/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/5/src/coding_scheme.h at 43 PS5, Line 43: uint8_t numDataBlocks(enum HeaderType ht); What about using usual C style code in new functions we add? num_data_blocks() This way when looking at it being called it's easier to understand it's an external function and not a function of the class instance (since you can ommit "this->"). https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.h File src/gprs_coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.h at a70 PS5, Line 70: This one looks non-related, I didn't see it being moved somewhere else like other stuff. https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.cpp File src/gprs_coding_scheme.cpp: https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.cpp at a320 PS5, Line 320: Same. If it's really not used, drop it in another commit. -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:37:52 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:40:29 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:40:29 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and maks when writing In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13232 ) Change subject: vty: Ensure to properly save route pointcode and maks when writing ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13232/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13232/1//COMMIT_MSG at 7 PS1, Line 7: vty: Ensure to properly save route pointcode and maks when writing maks? -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:40:29 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:48:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 11:48:48 +0000 Subject: Change in libosmo-sccp[master]: Store + show remote ip/port in dynamically created ASPs Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13234 Change subject: Store + show remote ip/port in dynamically created ASPs ...................................................................... Store + show remote ip/port in dynamically created ASPs "show cs7 instance 0 asp" before this patch would not display the remote IP/port information about dynamically-added ASPs but instead: Effect Primary ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------ ------------ ------------- ---- -------- --------------- ---------- asp-dyn-0 ? ASP_ACTIVE m3ua 0 (null) With this patch it is now correctly displayed: Effect Primary ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------ ------------ ------------- ---- -------- --------------- ---------- asp-dyn-0 ? ASP_ACTIVE m3ua 24905 127.0.0.1 Change-Id: I39a1c57bc72e8aff607f3a551811a2f6372adab4 Closes: OS#3836 --- M src/osmo_ss7.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/34/13234/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 4bb8fc8..acd8e6b 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1732,9 +1732,15 @@ asp = osmo_ss7_asp_find_or_create(oxs->inst, namebuf, 0, 0, oxs->cfg.proto); if (asp) { + char hostbuf[INET6_ADDRSTRLEN]; + char portbuf[16]; + + osmo_sock_get_ip_and_port(fd, hostbuf, sizeof(hostbuf), portbuf, sizeof(portbuf), false); LOGP(DLSS7, LOGL_INFO, "%s: created dynamicASP %s\n", sock_name, asp->cfg.name); asp->cfg.is_server = true; + asp->cfg.remote.port = atoi(portbuf); + asp->cfg.remote.host = talloc_strdup(asp, hostbuf); asp->dyn_allocated = true; asp->server = srv; osmo_ss7_asp_restart(asp); -- To view, visit https://gerrit.osmocom.org/13234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I39a1c57bc72e8aff607f3a551811a2f6372adab4 Gerrit-Change-Number: 13234 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:49:24 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:49:24 +0000 Subject: Change in libosmo-sccp[master]: Fix output of route destination in 'show ss7 instance <0-15> route' In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13233 ) Change subject: Fix output of route destination in 'show ss7 instance <0-15> route' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef Gerrit-Change-Number: 13233 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:49:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:53:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 11:53:13 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and mask when writing In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13232 to look at the new patch set (#2). Change subject: vty: Ensure to properly save route pointcode and mask when writing ...................................................................... vty: Ensure to properly save route pointcode and mask when writing As osmo_ss7_route_print() returns a static buffer, we cannot use it twice within a single log/print statement. Rather, we must use osmo_ss7_route_print2() for the second call, as it uses a separate static buffer. Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 --- M src/osmo_ss7_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/32/13232/2 -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:53:16 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:53:16 +0000 Subject: Change in libosmo-sccp[master]: Store + show remote ip/port in dynamically created ASPs In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13234 ) Change subject: Store + show remote ip/port in dynamically created ASPs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I39a1c57bc72e8aff607f3a551811a2f6372adab4 Gerrit-Change-Number: 13234 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:53:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:53:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 11:53:21 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and mask when writing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13232 ) Change subject: vty: Ensure to properly save route pointcode and mask when writing ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13232/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13232/1//COMMIT_MSG at 7 PS1, Line 7: vty: Ensure to properly save route pointcode and mask when writing > maks? I'm of course referring to "Maksim" which is IIRC closer to the cyrillic original of Maxim. Just kidding. -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:53:21 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:55:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:55:31 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and mask when writing In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13232 ) Change subject: vty: Ensure to properly save route pointcode and mask when writing ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13232/2/src/osmo_ss7_vty.c File src/osmo_ss7_vty.c: https://gerrit.osmocom.org/#/c/13232/2/src/osmo_ss7_vty.c at 365 PS2, Line 365: osmo_ss7_pointcode_print2(rtable->inst, rt->cfg.mask), I really don't like having this "2" API with a different static buffer instead of simply copying it it a local buffer in the caller, but not directly related to this commit I since it seems the API is already there. -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 11:55:31 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:57:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:57:19 +0000 Subject: Change in osmo-bsc[master]: Build BTS related code in a library In-Reply-To: References: Message-ID: Pau Espin Pedrol has abandoned this change. ( https://gerrit.osmocom.org/13225 ) Change subject: Build BTS related code in a library ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I30bf10660f4710523ca7bdde1b392a8c2b334b23 Gerrit-Change-Number: 13225 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 11:57:25 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 11:57:25 +0000 Subject: Change in osmo-bsc[master]: Add configure flag to disable build of osmo-bsc In-Reply-To: References: Message-ID: Pau Espin Pedrol has abandoned this change. ( https://gerrit.osmocom.org/13226 ) Change subject: Add configure flag to disable build of osmo-bsc ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I39783245a11aacaecf0873b3b74b60b559256f79 Gerrit-Change-Number: 13226 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 13:24:40 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 13:24:40 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/13091 ) Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on MSC level ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I8b2a62879755a8a5edfa1aa36c748968a56aad0d Gerrit-Change-Number: 13091 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 13:27:13 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 13:27:13 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13092 to look at the new patch set (#4). Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on BTS level The current configuration for permittet AMR rates on BTS level are very limited. Lets extend the possible rates so that they match the "Config-NB-Code = 1" as defined in 3GPP TS 28.062 Table 7.11.3.1.3-2. (The current default behavior is not changed since the MSC level configuration only permits 5.90k by default.) Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Related: SYS#4470 --- M src/osmo-bsc/gsm_data.c 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/13092/4 -- To view, visit https://gerrit.osmocom.org/13092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Gerrit-Change-Number: 13092 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:19:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 14:19:07 +0000 Subject: Change in osmo-dev[master]: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13235 Change subject: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage ...................................................................... run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage Add curly braces around both variables, so they get replaced properly again. Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 --- M net/templates/run.sh 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/35/13235/1 diff --git a/net/templates/run.sh b/net/templates/run.sh index 804262a..3244b11 100755 --- a/net/templates/run.sh +++ b/net/templates/run.sh @@ -27,14 +27,14 @@ sudo ip link set $apn up fi -if [ -z "$(ip addr show | grep "$TO_RAN_IP")" ]; then - echo "No interface has IP address $TO_RAN_IP! Hit enter to continue anyway." +if [ -z "$(ip addr show | grep "${TO_RAN_IP}")" ]; then + echo "No interface has IP address ${TO_RAN_IP}! Hit enter to continue anyway." read enter_to_continue fi -if [ -z "$(ip addr show | grep "$TO_RAN_IU_IP")" ]; then - echo "No interface has IP address $TO_RAN_IU_IP! Hit enter to 'ip addr add $TO_RAN_IU_IP/32 dev $dev'" +if [ -z "$(ip addr show | grep "${TO_RAN_IU_IP}")" ]; then + echo "No interface has IP address ${TO_RAN_IU_IP}! Hit enter to 'ip addr add ${TO_RAN_IU_IP}/32 dev $dev'" read enter_to_continue - sudo ip addr add $TO_RAN_IU_IP/32 dev $dev + sudo ip addr add ${TO_RAN_IU_IP}/32 dev $dev fi logdir="current_log" -- To view, visit https://gerrit.osmocom.org/13235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 Gerrit-Change-Number: 13235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:21:22 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:21:22 +0000 Subject: Change in libosmo-netif[master]: amr: make buffer in osmo_amr_bwe_to_oa() static In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/13212 ) Change subject: amr: make buffer in osmo_amr_bwe_to_oa() static ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I8ffbf3a4515e1c2385a0b6b2d5fe8e756056fb0d Gerrit-Change-Number: 13212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:23:36 +0000 Subject: Change in libosmo-netif[master]: amr: cosmetic: correct sourcecode formatting In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13210 ) Change subject: amr: cosmetic: correct sourcecode formatting ...................................................................... amr: cosmetic: correct sourcecode formatting Change-Id: Ie4ad6b1a2382da4dc21e66a45c2a96224cab5752 --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/amr.c b/src/amr.c index d3f7b38..9b423e8 100644 --- a/src/amr.c +++ b/src/amr.c @@ -165,7 +165,7 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - for (i = 0; i < frame_len -1; i++) { + for (i = 0; i < frame_len - 1; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } -- To view, visit https://gerrit.osmocom.org/13210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie4ad6b1a2382da4dc21e66a45c2a96224cab5752 Gerrit-Change-Number: 13210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:24:11 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:24:11 +0000 Subject: Change in libosmo-netif[master]: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13211 ) Change subject: amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf ...................................................................... amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf osmo_amr_bwe_to_oa() uses an internal buffer with static size to store intermediate results. The buffer is large enough for any real world situation, but the check that tests if the result would fit into the internal buffer is incorrect. It checks if there is enough room for the existing payload, but does not include the expected growth of the payload. Eventually the buffer could be overrun by one byte if one would put a 256 byte long AMR payload. Fixes: CID#195926 Change-Id: I4d7ac570a0b48368a82183673c46bca5f235f228 --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/amr.c b/src/amr.c index 9b423e8..9c63f60 100644 --- a/src/amr.c +++ b/src/amr.c @@ -158,7 +158,7 @@ if (payload_len + 1 > payload_maxlen) return -1; - if (payload_len > sizeof(buf)) + if (payload_len + 1 > sizeof(buf)) return -1; buf[0] = payload[0] & 0xf0; -- To view, visit https://gerrit.osmocom.org/13211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4d7ac570a0b48368a82183673c46bca5f235f228 Gerrit-Change-Number: 13211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:29:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:29:56 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make sure multi rate configuration is valid In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13094 to look at the new patch set (#7). Change subject: lchan_fsm: make sure multi rate configuration is valid ...................................................................... lchan_fsm: make sure multi rate configuration is valid When gsm48_mr_cfg_from_gsm0808_sc_cfg() is used to generate the AMR multirate configuration IE, make sure that lchan allocation fails in cases where the multirate configuration IE can not be generated. Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Depends: libosmocore I6fd7f4073b84093742c322752f2fd878d1071e15 Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/13094/7 -- To view, visit https://gerrit.osmocom.org/13094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Gerrit-Change-Number: 13094 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:29:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:29:56 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: do not include 12.2k in active set on HR channels In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13095 to look at the new patch set (#7). Change subject: lchan_fsm: do not include 12.2k in active set on HR channels ...................................................................... lchan_fsm: do not include 12.2k in active set on HR channels When "Config-NB-Code = 1" is set via the S-bits, then the resulting multirate configuration IE will contain 12.2K. Since the generator function is not aware if the lchan is activated for HR or FR it sets the flag for 12.2k always. We have to add a check here in order to set the 12.2k flag in the IE back to 0 so that the active set contains a set of useable rates. Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/13095/7 -- To view, visit https://gerrit.osmocom.org/13095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Gerrit-Change-Number: 13095 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:29:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:29:56 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13199 to look at the new patch set (#6). Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC MGCP/SDP provides fmtp parameters in order to signal which of the two available AMR framing modes (octet-aligned or bandwith-efficient) should be used on the link between BSS and core network. osmo-bsc currently does not set up this mode which means that the RTP packets from the BTS are forwared without inspection/modification, which may lead to malfunction when a BTS is using a framing mode that is not supported by the other end. - Add VTY option to setup the framing mode - Generate related fmtp parameters in SDP Depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Related OS#3807 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/mgw_endpoint_fsm.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/13199/6 -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:45:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:45:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_assignment_codec_amr_f/h Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13236 Change subject: BSC_Tests: fix TC_assignment_codec_amr_f/h ...................................................................... BSC_Tests: fix TC_assignment_codec_amr_f/h The testcase TC_assignment_codec_amr_f uses a combination of S-Bits that has S1 which configures a set of four rates at once. This is quite a complex situation and since the BSC was upgraded with new features affecting the behavior in this special case lets implify this testcase for now. depends: osmo-bsc Ie52376b51fe07ed07056e8df2e9557293ff67a78 Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Related: SYS#4470 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/13236/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5d8f375..58001e5 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2045,7 +2045,7 @@ }; pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F})); - pars.ass_codec_list.codecElements[0].s0_7 := '00000110'B; + pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */ pars.ass_codec_list.codecElements[0].s8_15 := '01010111'B; pars.expect_mr_conf_ie := mr_conf; @@ -2069,7 +2069,7 @@ }; pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H})); - pars.ass_codec_list.codecElements[0].s0_7 := '00000110'B; + pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */ pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B; pars.expect_mr_conf_ie := mr_conf; -- To view, visit https://gerrit.osmocom.org/13236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Gerrit-Change-Number: 13236 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 14:45:56 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 14:45:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add testcases to verify S15-S0 handling Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13237 Change subject: BSC_Tests: add testcases to verify S15-S0 handling ...................................................................... BSC_Tests: add testcases to verify S15-S0 handling The handling of the AMR rate configuration bits S15-S0 is currently only superficially checked. Lets add more some more elaborated testcases to check through varios different situations. Also make sure that the resulting mr configuration IE is verified Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Related: SYS#4470 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/Osmocom_VTY_Functions.ttcn 3 files changed, 230 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/37/13237/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 58001e5..659b3f6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1953,6 +1953,10 @@ ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } } ass_cmd.pdu.bssmap.assignmentRequest.channelType := f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); @@ -1994,6 +1998,22 @@ } } +private function f_TC_assignment_codec_fail(charstring id) runs on MSC_ConnHdlr { + + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS FAIL like this: ", exp_fail); + + f_establish_fully(ass_cmd, exp_fail); +} + testcase TC_assignment_codec_fr() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; @@ -2030,6 +2050,37 @@ vc_conn.done; } +/* Allow 5,90k only (current default config) */ +private function f_allow_amr_rate_5_90k() runs on test_CT { + f_vty_enter_cfg_msc(BSCVTY, 0); + f_vty_transceive(BSCVTY, "amr-config 12_2k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 10_2k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_95k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_40k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 6_70k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 5_90k allowed"); + f_vty_transceive(BSCVTY, "amr-config 5_15k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 4_75k forbidden"); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + +/* Allow 4,75k, 5,90k, 4,70k and 12,2k, which are the most common rates + * ("Config-NB-Code = 1") */ +private function f_allow_amr_rate_4_75k_5_90k_7_40k_12_20k() runs on test_CT { + f_vty_enter_cfg_msc(BSCVTY, 0); + f_vty_transceive(BSCVTY, "amr-config 12_2k allowed"); + f_vty_transceive(BSCVTY, "amr-config 10_2k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_95k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_40k allowed"); + f_vty_transceive(BSCVTY, "amr-config 6_70k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 5_90k allowed"); + f_vty_transceive(BSCVTY, "amr-config 5_15k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 4_75k allowed"); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + testcase TC_assignment_codec_amr_f() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; @@ -2080,6 +2131,160 @@ vc_conn.done; } +function f_TC_assignment_codec_amr(boolean fr, octetstring mrconf, bitstring s8_s0, bitstring exp_s8_s0) +runs on test_CT { + + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + /* See note above */ + var RSL_IE_Body mr_conf := { + other := { + len := lengthof(mrconf), + payload := mrconf + } + }; + + if (fr) { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F})); + } else { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H})); + } + pars.ass_codec_list.codecElements[0].s0_7 := s8_s0; + pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B; + pars.expect_mr_conf_ie := mr_conf; + pars.expect_mr_s0_s7 := exp_s8_s0; + + f_init(1, true); + f_allow_amr_rate_4_75k_5_90k_7_40k_12_20k(); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars); + vc_conn.done; + f_allow_amr_rate_5_90k(); +} + +function f_TC_assignment_codec_amr_fail(boolean fr, bitstring s8_s0) +runs on test_CT { + + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + if (fr) { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F})); + } else { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H})); + } + pars.ass_codec_list.codecElements[0].s0_7 := s8_s0; + pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B; + + f_init(1, true); + f_allow_amr_rate_4_75k_5_90k_7_40k_12_20k(); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_assignment_codec_fail), pars); + vc_conn.done; + f_allow_amr_rate_5_90k(); +} + + +/* Set S1, we expect an AMR multirate configuration IE with all four rates + * set. */ +testcase TC_assignment_codec_amr_f_S1() runs on test_CT { + f_TC_assignment_codec_amr(true, '289520882208'O, '00000010'B, '00000010'B); +} + +/* Set S1, we expect an AMR multirate configuration IE with the lower three + * rates set. */ +testcase TC_assignment_codec_amr_h_S1() runs on test_CT { + f_TC_assignment_codec_amr(false, '2815208820'O, '00000010'B, '00000010'B); +} + +/* Set S1 and two other rates, we expect an AMR MULTIRATE CONFIGURATION IE with + * all four rates (and only S1 set in the ASSIGNMENT COMPLETE) */ +testcase TC_assignment_codec_amr_f_S124() runs on test_CT { + f_TC_assignment_codec_amr(true, '289520882208'O, '00010110'B, '00000010'B); +} + +/* Set S1 and two other rates, we expect an AMR MULTIRATE CONFIGURATION IE with + * all four rates (and only S1 set in the ASSIGNMENT COMPLETE) */ +testcase TC_assignment_codec_amr_h_S124() runs on test_CT { + f_TC_assignment_codec_amr(false, '2815208820'O, '00010110'B, '00000010'B); +} + +/* The following block of tests selects more and more rates until all four + * possible rates are in the active set (full rate) */ +testcase TC_assignment_codec_amr_f_S0() runs on test_CT { + f_TC_assignment_codec_amr(true, '2801'O, '00000001'B, '00000001'B); +} + +testcase TC_assignment_codec_amr_f_S02() runs on test_CT { + f_TC_assignment_codec_amr(true, '28052080'O, '00000101'B, '00000101'B); +} + +testcase TC_assignment_codec_amr_f_S024() runs on test_CT { + f_TC_assignment_codec_amr(true, '2815208820'O, '00010101'B, '00010101'B); +} + +testcase TC_assignment_codec_amr_f_S0247() runs on test_CT { + f_TC_assignment_codec_amr(true, '289520882208'O, '10010101'B, '10010101'B); +} + +/* The following block of tests selects more and more rates until all three + * possible rates are in the active set (half rate) */ +testcase TC_assignment_codec_amr_h_S0() runs on test_CT { + f_TC_assignment_codec_amr(false, '2801'O, '00000001'B, '00000001'B); +} + +testcase TC_assignment_codec_amr_h_S02() runs on test_CT { + f_TC_assignment_codec_amr(false, '28052080'O, '00000101'B, '00000101'B); +} + +testcase TC_assignment_codec_amr_h_S024() runs on test_CT { + f_TC_assignment_codec_amr(false, '2815208820'O, '00010101'B, '00010101'B); +} + +/* The following block tests what happens when the MSC does offer rate + * configurations that are not supported by the BSC. Normally such situations + * should not happen because the MSC gets informed by the BSC in advance via + * the L3 COMPLETE message which rates are applicable. The MSC should not try + * to offer rates that are not applicable anyway. */ + +testcase TC_assignment_codec_amr_h_S0247() runs on test_CT { + /* Try to include 12,2k in into the active set even though the channel + * is half rate only. The BSC is expected to remove the 12,0k */ + f_TC_assignment_codec_amr(false, '2815208820'O, '10010101'B, '00010101'B); +} + +testcase TC_assignment_codec_amr_f_S01234567() runs on test_CT { + /* See what happens when all rates are selected at once. Since then + * Also S1 is selected, this setting will be prefered and we should + * get 12.2k, 7,40k, 5,90k, and 4,75k in the active set. */ + f_TC_assignment_codec_amr(true, '289520882208'O, '11111111'B, '00000010'B); +} + +testcase TC_assignment_codec_amr_f_S0234567() runs on test_CT { + /* Same as above, but with S1 missing, the MSC is then expected to + * select the currently supported rates, which are also 12.2k, 7,40k, + * 5,90k, and 4,75k, into the active set. */ + f_TC_assignment_codec_amr(true, '289520882208'O, '11111101'B, '10010101'B); +} + +testcase TC_assignment_codec_amr_f_zero() runs on test_CT { + /* Try to select no rates at all */ + f_TC_assignment_codec_amr_fail(true, '00000000'B); +} + +testcase TC_assignment_codec_amr_f_unsupp() runs on test_CT { + /* Try to select only unsupported rates */ + f_TC_assignment_codec_amr_fail(true, '01101000'B); +} + +testcase TC_assignment_codec_amr_h_S7() runs on test_CT { + /* Try to select 12,2k for half rate */ + f_TC_assignment_codec_amr_fail(false, '10000000'B); +} + private function f_disable_all_tch_f() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 2 sub-slot 0 borken"); @@ -3753,6 +3958,23 @@ execute( TC_assignment_codec_efr() ); execute( TC_assignment_codec_amr_f() ); execute( TC_assignment_codec_amr_h() ); + execute( TC_assignment_codec_amr_f_S1() ); + execute( TC_assignment_codec_amr_h_S1() ); + execute( TC_assignment_codec_amr_f_S124() ); + execute( TC_assignment_codec_amr_h_S124() ); + execute( TC_assignment_codec_amr_f_S0() ); + execute( TC_assignment_codec_amr_f_S02() ); + execute( TC_assignment_codec_amr_f_S024() ); + execute( TC_assignment_codec_amr_f_S0247() ); + execute( TC_assignment_codec_amr_h_S0() ); + execute( TC_assignment_codec_amr_h_S02() ); + execute( TC_assignment_codec_amr_h_S024() ); + execute( TC_assignment_codec_amr_h_S0247() ); + execute( TC_assignment_codec_amr_f_S01234567() ); + execute( TC_assignment_codec_amr_f_S0234567() ); + execute( TC_assignment_codec_amr_f_zero() ); + execute( TC_assignment_codec_amr_f_unsupp() ); + execute( TC_assignment_codec_amr_h_S7() ); execute( TC_assignment_codec_fr_exhausted_req_hr() ); execute( TC_assignment_codec_fr_exhausted_req_fr() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 0ea73a0..96797c9 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -426,6 +426,7 @@ integer media_nr, /* determins MGCP EP, port numbers */ BSSMAP_IE_SpeechCodecList ass_codec_list optional, RSL_IE_Body expect_mr_conf_ie optional, /* typically present for AMR codecs */ + bitstring expect_mr_s0_s7 optional, /* typically present for AMR codecs */ TestHdlrEncrParams encr optional, TestHdlrParamsLcls lcls, TestHdlrParamsHandover handover optional, @@ -443,6 +444,7 @@ media_nr := 1, ass_codec_list := omit, expect_mr_conf_ie := omit, + expect_mr_s0_s7 := omit, encr := omit, lcls := { gcr := omit, diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index 4f795ad..fde05b3 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -90,6 +90,7 @@ type integer BtsNr (0..255); type integer BtsTrxNr (0..255); type integer BtsTimeslotNr (0..7); + type integer MscNr (0..255); type charstring BtsGprsMode ("none", "gprs", "egrps"); @@ -118,6 +119,11 @@ f_vty_transceive(pt, "timeslot " & int2str(ts)); } + function f_vty_enter_cfg_msc(TELNETasp_PT pt, MscNr msc := 0) { + f_vty_enter_config(pt); + f_vty_transceive(pt, "msc " & int2str(msc)); + } + type record of charstring rof_charstring; function f_vty_config2(TELNETasp_PT pt, rof_charstring config_nodes, charstring cmd) { -- To view, visit https://gerrit.osmocom.org/13237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Gerrit-Change-Number: 13237 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:01:41 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:01:41 +0000 Subject: Change in osmo-pcu[master]: Fix TA index encoder Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13238 Change subject: Fix TA index encoder ...................................................................... Fix TA index encoder The TAI is described as { 0 | 1 < TIMING_ADVANCE_INDEX : bit (4) > } in 3GPP TS 44.018 ?10.5.2.16.1 so it should be encoded with if-else. Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf --- M src/encoding.cpp 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/38/13238/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index e81ff42..55838fb 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -117,13 +117,13 @@ { int rc; - if (tai < 0) /* No TIMING_ADVANCE_INDEX: */ + if (tai < 0) { /* No TIMING_ADVANCE_INDEX: */ SET_0(dest); - - /* TIMING_ADVANCE_INDEX: */ - SET_1(dest); - rc = bitvec_set_u64(dest, tai, 4, false); - CHECK(rc); + } else { /* TIMING_ADVANCE_INDEX: */ + SET_1(dest); + rc = bitvec_set_u64(dest, tai, 4, false); + CHECK(rc); + } return 0; } -- To view, visit https://gerrit.osmocom.org/13238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf Gerrit-Change-Number: 13238 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:26:28 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 15:26:28 +0000 Subject: Change in osmo-bsc[master]: codec_pref: fix special handling for AMR rate configuration (S15-S0) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13093 ) Change subject: codec_pref: fix special handling for AMR rate configuration (S15-S0) ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 13 Mar 2019 15:26:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:40:37 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:40:37 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13067 to look at the new patch set (#6). Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... MCS: move HeaderType enum outside of class definition Move functions which compute number of blocks or bits depending on header type and corresponding enum outside of GprsCodingScheme class. This will allows us to use standard libosmocore value_sting functions in upcoming patches for IA Rest Octet encoding/decoding. Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f --- M debian/copyright M src/Makefile.am A src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/encoding.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/rlc.cpp M src/tbf_dl.cpp M tests/edge/EdgeTest.cpp 12 files changed, 122 insertions(+), 92 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/67/13067/6 -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:40:37 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:40:37 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13163 to look at the new patch set (#3). Change subject: MCS: move Mode enum outside of class definition ...................................................................... MCS: move Mode enum outside of class definition Move Mode (EDGE/GPRS) definition and related functions outside of GprsCodingScheme class. This allows us to use standard libosmocore value_sting functions. Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_vty_functions.cpp M src/tbf.cpp M tests/edge/EdgeTest.cpp 9 files changed, 50 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/63/13163/3 -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:40:38 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:40:38 +0000 Subject: Change in osmo-pcu[master]: MCS: remove unused function Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13239 Change subject: MCS: remove unused function ...................................................................... MCS: remove unused function Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b --- M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h 2 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/39/13239/1 diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index bcbb893..c0955d3 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -317,11 +317,6 @@ return mcs_info[m_scheme].family == mcs_info[o.m_scheme].family; } -bool GprsCodingScheme::isCombinable(GprsCodingScheme o) const -{ - return numDataBlocks() == o.numDataBlocks(); -} - void GprsCodingScheme::decToSingleBlock(bool *needStuffing) { switch (m_scheme) { diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index d97df08..80f8502 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -67,7 +67,6 @@ bool isCompatible(Mode mode) const; bool isCompatible(GprsCodingScheme o) const; bool isFamilyCompatible(GprsCodingScheme o) const; - bool isCombinable(GprsCodingScheme o) const; void inc(Mode mode); void dec(Mode mode); -- To view, visit https://gerrit.osmocom.org/13239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b Gerrit-Change-Number: 13239 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:40:39 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:40:39 +0000 Subject: Change in osmo-pcu[master]: Debian: update copyright file Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13240 Change subject: Debian: update copyright file ...................................................................... Debian: update copyright file * add missing header * bump copyright year Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 --- M debian/copyright 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/40/13240/1 diff --git a/debian/copyright b/debian/copyright index 5bb2110..ca64f2b 100644 --- a/debian/copyright +++ b/debian/copyright @@ -6,13 +6,14 @@ Files: * Copyright: 2009-2015 Holger Hans Peter Freyther 2013 Jacob Erlbeck - 2016-2017 sysmocom s.m.f.c. GmbH + 2016-2019 sysmocom s.m.f.c. GmbH 2015 by Yves Godin License: AGPL-3.0+ Files: src/gprs_ms_storage.h src/gprs_ms_storage.cpp src/gprs_ms.h + src/coding_scheme.h src/gprs_coding_scheme.cpp src/gprs_coding_scheme.h src/coding_scheme.h -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:41:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:41:06 +0000 Subject: Change in osmo-pcu[master]: Fix TA index encoder In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13238 ) Change subject: Fix TA index encoder ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf Gerrit-Change-Number: 13238 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 15:41:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:44:16 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:44:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13231/1/ggsn_tests/GGSN_Tests.ttcn File ggsn_tests/GGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/13231/1/ggsn_tests/GGSN_Tests.ttcn at 1090 PS1, Line 1090: //f_send_gtpu(ctx, c_neigh_solicit); Comment clarifying why this is commented out might be helpful. Or maybe simply drop it? -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 15:44:16 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:51:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:51:11 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and mask when writing In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13232 ) Change subject: vty: Ensure to properly save route pointcode and mask when writing ...................................................................... Patch Set 2: Code-Review+2 (1 comment) I agree that *2() is confusing as it's used for both '2nd version' and '2nd call' but cleaning that is out of scope of this patch indeed. https://gerrit.osmocom.org/#/c/13232/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13232/1//COMMIT_MSG at 7 PS1, Line 7: vty: Ensure to properly save route pointcode and mask when writing > I'm of course referring to "Maksim" which is IIRC closer to the cyrillic original of Maxim. [?] Yepp, ?????? it is :) -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 15:51:11 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:51:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 15:51:36 +0000 Subject: Change in osmo-pcu[master]: Debian: update copyright file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13240 ) Change subject: Debian: update copyright file ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/13240/1/debian/copyright File debian/copyright: https://gerrit.osmocom.org/#/c/13240/1/debian/copyright at 16 PS1, Line 16: src/coding_scheme.h this file is already in line 19 https://gerrit.osmocom.org/#/c/13240/1/debian/copyright at 26 PS1, Line 26: 7 Update to 2019, too? -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 15:51:36 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:51:59 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:51:59 +0000 Subject: Change in libosmo-sccp[master]: Store + show remote ip/port in dynamically created ASPs In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13234 ) Change subject: Store + show remote ip/port in dynamically created ASPs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I39a1c57bc72e8aff607f3a551811a2f6372adab4 Gerrit-Change-Number: 13234 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 15:51:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:53:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 15:53:02 +0000 Subject: Change in osmo-pcu[master]: MCS: remove unused function In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13239 ) Change subject: MCS: remove unused function ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b Gerrit-Change-Number: 13239 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 15:53:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:54:38 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:54:38 +0000 Subject: Change in libosmo-sccp[master]: Fix output of route destination in 'show ss7 instance <0-15> route' In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13233 ) Change subject: Fix output of route destination in 'show ss7 instance <0-15> route' ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13233/1/src/osmo_ss7.c File src/osmo_ss7.c: https://gerrit.osmocom.org/#/c/13233/1/src/osmo_ss7.c at 852 PS1, Line 852: Those look rather generic? Maybe make it part of libosmocore bits.h? -- To view, visit https://gerrit.osmocom.org/13233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef Gerrit-Change-Number: 13233 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 15:54:38 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:55:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:55:11 +0000 Subject: Change in osmo-bsc[master]: log N-CONNECT from MSC In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13228 ) Change subject: log N-CONNECT from MSC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83f15c7231b2b766aba4d25339d08acbbca3a47e Gerrit-Change-Number: 13228 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 15:55:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:55:39 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:55:39 +0000 Subject: Change in osmo-bsc[master]: incoming connect: don't crash if calling addr is missing In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13227 ) Change subject: incoming connect: don't crash if calling addr is missing ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib028432b37a5c48b677bb21b869cc722575dce92 Gerrit-Change-Number: 13227 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 15:55:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:57:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 15:57:07 +0000 Subject: Change in libosmo-sccp[master]: improve logging for rejected AS in xua_rkm.c In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13229 ) Change subject: improve logging for rejected AS in xua_rkm.c ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id22e3c6bab5f7b597df3514eedb162277ce0ef7d Gerrit-Change-Number: 13229 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 15:57:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:57:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 15:57:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13231 to look at the new patch set (#2). Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... ggsn: add tests to validate IPv4v6 pdp ctx Add related templates based on 3GPP TS 29.060 Figure 37A and create tests based on existing IPv4 and v6 ones. Related: OS#2900 Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 --- M ggsn_tests/GGSN_Tests.ttcn M library/GTP_Templates.ttcn 2 files changed, 198 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/13231/2 -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 15:58:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 15:58:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13231/1/ggsn_tests/GGSN_Tests.ttcn File ggsn_tests/GGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/13231/1/ggsn_tests/GGSN_Tests.ttcn at 1090 PS1, Line 1090: //f_send_gtpu(ctx, c_neigh_solicit); > Comment clarifying why this is commented out might be helpful. [?] Done -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 15:58:07 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:00:24 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:00:24 +0000 Subject: Change in osmo-bsc[master]: Move LCLS references from gsm_data to osmo_bsc_lcls In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13220 ) Change subject: Move LCLS references from gsm_data to osmo_bsc_lcls ...................................................................... Patch Set 1: Code-Review+1 I don't really get how moving stuff unrelated to sigtran helps to get rid of sigtran dependency but the change itself seems rather harmless. -- To view, visit https://gerrit.osmocom.org/13220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d Gerrit-Change-Number: 13220 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 16:00:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:00:46 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:00:46 +0000 Subject: Change in osmo-bsc[master]: net_init.c: remove unneeded header In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13224 ) Change subject: net_init.c: remove unneeded header ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9c2d07914bb19429bfc1f2c5a38a513749068304 Gerrit-Change-Number: 13224 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 16:00:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:01:25 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:01:25 +0000 Subject: Change in osmo-bsc[master]: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13223 ) Change subject: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13223/2/src/utils/Makefile.am File src/utils/Makefile.am: https://gerrit.osmocom.org/#/c/13223/2/src/utils/Makefile.am at a135 PS2, Line 135: That doesn't seem related. -- To view, visit https://gerrit.osmocom.org/13223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c Gerrit-Change-Number: 13223 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 16:01:25 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:03:02 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:03:02 +0000 Subject: Change in osmo-bsc[master]: configure.ac: Add flag to enable/disable build of ipaccess related utils In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13222 ) Change subject: configure.ac: Add flag to enable/disable build of ipaccess related utils ...................................................................... Patch Set 2: Is there particular use-case or setup where we don't want ipaccess utils built? Would be nice to expand commit message with additional information. -- To view, visit https://gerrit.osmocom.org/13222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89 Gerrit-Change-Number: 13222 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 16:03:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:04:32 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:04:32 +0000 Subject: Change in osmo-bsc[master]: Move msc related code from gsm_data to bsc_msc In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13221 ) Change subject: Move msc related code from gsm_data to bsc_msc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I508188896be58ddc3bd4e9c3c661c258c06866f4 Gerrit-Change-Number: 13221 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 16:04:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:05:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:05:08 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13219 ) Change subject: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc26f178fa8942fe407ca01e23b0a21955727dca Gerrit-Change-Number: 13219 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 16:05:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:11:43 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 16:11:43 +0000 Subject: Change in osmo-dev[master]: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13235 ) Change subject: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 Gerrit-Change-Number: 13235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 16:11:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:13:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 16:13:15 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13199 ) Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... Patch Set 6: mgw_endpoint_fsm.c: In function ?mgcp_pick_codec?: mgw_endpoint_fsm.c:781:12: error: ?struct mgcp_conn_peer? has no member named ?param_present? verb_info->param_present = true; -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 16:13:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 13 Mar 2019 16:14:06 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13241 Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... amr_test: add to .gitignore, use -noinstall flag Do not link the test against already installed libraries: https://osmocom.org/issues/3812#note-10 Related: OS#3812 Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d --- M .gitignore M tests/Makefile.am 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/41/13241/1 diff --git a/.gitignore b/.gitignore index e2f2fb9..23d5b42 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ jibuf_tool osmux_test2 stream_test +amr_test diff --git a/tests/Makefile.am b/tests/Makefile.am index 36447be..a86799c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -19,6 +19,7 @@ amr_amr_test_SOURCES = amr/amr_test.c amr_amr_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la +amr_amr_test_LDFLAGS = -no-install if HAVE_PCAP check_PROGRAMS += jibuf/jibuf_tool -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:14:24 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 16:14:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_assignment_codec_amr_f/h In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13236 ) Change subject: BSC_Tests: fix TC_assignment_codec_amr_f/h ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13236/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13236/1//COMMIT_MSG at 12 PS1, Line 12: affecting the behavior in this special case lets implify this testcase typo: simplify -- To view, visit https://gerrit.osmocom.org/13236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Gerrit-Change-Number: 13236 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 16:14:24 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:17:00 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:17:00 +0000 Subject: Change in osmo-pcu[master]: MCS: remove unused function In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13239 to look at the new patch set (#2). Change subject: MCS: remove unused function ...................................................................... MCS: remove unused function Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b --- M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h 2 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/39/13239/2 -- To view, visit https://gerrit.osmocom.org/13239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b Gerrit-Change-Number: 13239 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:17:00 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:17:00 +0000 Subject: Change in osmo-pcu[master]: Debian: bump copyright year In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13240 to look at the new patch set (#2). Change subject: Debian: bump copyright year ...................................................................... Debian: bump copyright year Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 --- M debian/copyright 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/40/13240/2 -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:17:00 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:17:00 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13067 to look at the new patch set (#7). Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... MCS: move HeaderType enum outside of class definition Move functions which compute number of blocks or bits depending on header type and corresponding enum outside of GprsCodingScheme class. This will allows us to use standard libosmocore value_sting functions in upcoming patches for IA Rest Octet encoding/decoding. Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f --- M debian/copyright M src/Makefile.am A src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/encoding.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/rlc.cpp M src/tbf_dl.cpp M tests/edge/EdgeTest.cpp 12 files changed, 122 insertions(+), 92 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/67/13067/7 -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:19:50 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:19:50 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: Code-Review+1 Worked for me too. I'm still puzzled why it doesn't fail for jenkins tests or other people. What kind of libtool witchcraft is that?! -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Wed, 13 Mar 2019 16:19:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:21:37 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:21:37 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 7: (4 comments) https://gerrit.osmocom.org/#/c/13067/5/debian/copyright File debian/copyright: https://gerrit.osmocom.org/#/c/13067/5/debian/copyright at 9 PS5, Line 9: 2016-2019 sysmocom s.m.f.c. GmbH > Update copyright year Done in separate patch. https://gerrit.osmocom.org/#/c/13067/5/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/5/src/coding_scheme.h at 43 PS5, Line 43: uint8_t num_data_blocks(enum HeaderType ht); > What about using usual C style code in new functions we add? num_data_blocks() [?] Ack https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.h File src/gprs_coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.h at a70 PS5, Line 70: > This one looks non-related, I didn't see it being moved somewhere else like other stuff. Ack https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.cpp File src/gprs_coding_scheme.cpp: https://gerrit.osmocom.org/#/c/13067/5/src/gprs_coding_scheme.cpp at a320 PS5, Line 320: > Same. If it's really not used, drop it in another commit. Ack -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 16:21:37 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:28:53 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:28:53 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: Verified+1 Code-Review+1 > Worked for me too. I'm still puzzled why it doesn't fail for > jenkins tests or other people. What kind of libtool witchcraft is > that?! I have quickly tested it and it looks ok to me. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Wed, 13 Mar 2019 16:28:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:32:34 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:32:34 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: On stream_stream_test_LDFLAGS there is an stream_stream_test_LDFLAGS = -no-install, but on jibuf_jibuf_test_SOURCES there is not. I wonder if jibuf also has this problem. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Wed, 13 Mar 2019 16:32:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:36:45 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 16:36:45 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: > On stream_stream_test_LDFLAGS there is an stream_stream_test_LDFLAGS = -no-install, but on jibuf_jibuf_test_SOURCES there is not. I wonder if jibuf also has this problem. It's kinda tricky to test: to reproduce it on my system for example I've got to 1st install libosmo-netif version which does not include functions used by jibuf_test and than try to build it to see if it fails. Personally I'd prefer to just enable '-no-install' globally for all the tests by default and be done with it. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Wed, 13 Mar 2019 16:36:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:39:58 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:39:58 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13199 ) Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... Patch Set 6: > mgw_endpoint_fsm.c: In function ?mgcp_pick_codec?: > mgw_endpoint_fsm.c:781:12: error: ?struct mgcp_conn_peer? has no > member named ?param_present? > verb_info->param_present = true; That is expected. This patch depends on changes in libosmo-mgcp-client. But I see that the change id at Depends: is wrong... -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 16:39:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:40:20 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:40:20 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13199 to look at the new patch set (#7). Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC MGCP/SDP provides fmtp parameters in order to signal which of the two available AMR framing modes (octet-aligned or bandwith-efficient) should be used on the link between BSS and core network. osmo-bsc currently does not set up this mode which means that the RTP packets from the BTS are forwared without inspection/modification, which may lead to malfunction when a BTS is using a framing mode that is not supported by the other end. - Add VTY option to setup the framing mode - Generate related fmtp parameters in SDP Depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Related OS#3807 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/mgw_endpoint_fsm.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/13199/7 -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:40:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:40:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_assignment_codec_amr_f/h In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13236 to look at the new patch set (#2). Change subject: BSC_Tests: fix TC_assignment_codec_amr_f/h ...................................................................... BSC_Tests: fix TC_assignment_codec_amr_f/h The testcase TC_assignment_codec_amr_f uses a combination of S-Bits that has S1 which configures a set of four rates at once. This is quite a complex situation and since the BSC was upgraded with new features affecting the behavior in this special case lets simplify this testcase for now. depends: osmo-bsc Ie52376b51fe07ed07056e8df2e9557293ff67a78 Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Related: SYS#4470 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/13236/2 -- To view, visit https://gerrit.osmocom.org/13236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Gerrit-Change-Number: 13236 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:40:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:40:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add testcases to verify S15-S0 handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13237 to look at the new patch set (#2). Change subject: BSC_Tests: add testcases to verify S15-S0 handling ...................................................................... BSC_Tests: add testcases to verify S15-S0 handling The handling of the AMR rate configuration bits S15-S0 is currently only superficially checked. Lets add more some more elaborated testcases to check through varios different situations. Also make sure that the resulting mr configuration IE is verified Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Related: SYS#4470 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/Osmocom_VTY_Functions.ttcn 3 files changed, 230 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/37/13237/2 -- To view, visit https://gerrit.osmocom.org/13237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Gerrit-Change-Number: 13237 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:51:37 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13092 to look at the new patch set (#6). Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on BTS level The current configuration for permitted AMR rates on BTS level has been choosen arbitrarily. Lets choose the possible rates so that they match the "Config-NB-Code = 1" as defined in 3GPP TS 28.062 Table 7.11.3.1.3-2. (The current default behavior is not changed since the MSC level configuration only permits 5.90k by default.) Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Related: SYS#4470 --- M src/osmo-bsc/gsm_data.c 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/13092/6 -- To view, visit https://gerrit.osmocom.org/13092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Gerrit-Change-Number: 13092 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:51:37 +0000 Subject: Change in osmo-bsc[master]: codec_pref: fix special handling for AMR rate configuration (S15-S0) In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13093 to look at the new patch set (#8). Change subject: codec_pref: fix special handling for AMR rate configuration (S15-S0) ...................................................................... codec_pref: fix special handling for AMR rate configuration (S15-S0) When match_codec_pref() is called and the codec selections from the ASSIGNMENT COMMAND are matched against the interal capabilities, the configurations are checked one by one. When a match is found that match is returned. However, the implementation currently does not check the AMR S15-S0 bits when the actual matching happens. This is done afterwards in case AMR gets picked. Unfortunately if the MSC implementation is not obeying the settings the MSC has previously communicated in the L3 COMPL message we may end up with an S15-S0 configuration that has all rate selection (which eventually end up as active set in RSL) bits set to zero. This is an invalid configuration and should be prevented. Also the handling of the S15-S0 bits should happen as part of the matching so that there is a chance to try the nect codec in the list if AMR is unuseable. Also S15-S0 has one special setting "Config-NB-Code = 1" (S1 = 1). When this bit is set, the four (in HR only three) most common rates are selected into the active set. If there are also other S-bits set besides S1 we should prefer S1 and discard the other bits. - Perform handling of S15-S0 while matching - If S1 is set, prefer this setting and discard all other settings Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Related: SYS#4470 --- M src/osmo-bsc/codec_pref.c M tests/codec_pref/codec_pref_test.ok 2 files changed, 62 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/13093/8 -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:51:37 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make sure multi rate configuration is valid In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13094 to look at the new patch set (#8). Change subject: lchan_fsm: make sure multi rate configuration is valid ...................................................................... lchan_fsm: make sure multi rate configuration is valid When gsm48_mr_cfg_from_gsm0808_sc_cfg() is used to generate the AMR multirate configuration IE, make sure that lchan allocation fails in cases where the multirate configuration IE can not be generated. Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Depends: libosmocore I6fd7f4073b84093742c322752f2fd878d1071e15 Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/13094/8 -- To view, visit https://gerrit.osmocom.org/13094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Gerrit-Change-Number: 13094 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:51:37 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: do not include 12.2k in active set on HR channels In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13095 to look at the new patch set (#8). Change subject: lchan_fsm: do not include 12.2k in active set on HR channels ...................................................................... lchan_fsm: do not include 12.2k in active set on HR channels When "Config-NB-Code = 1" is set via the S-bits, then the resulting multirate configuration IE will contain 12.2K. Since the generator function is not aware if the lchan is activated for HR or FR it sets the flag for 12.2k always. We have to add a check here in order to set the 12.2k flag in the IE back to 0 so that the active set contains a set of useable rates. Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/13095/8 -- To view, visit https://gerrit.osmocom.org/13095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Gerrit-Change-Number: 13095 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 Mar 2019 16:51:37 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13199 to look at the new patch set (#8). Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC MGCP/SDP provides fmtp parameters in order to signal which of the two available AMR framing modes (octet-aligned or bandwith-efficient) should be used on the link between BSS and core network. osmo-bsc currently does not set up this mode which means that the RTP packets from the BTS are forwared without inspection/modification, which may lead to malfunction when a BTS is using a framing mode that is not supported by the other end. - Add VTY option to setup the framing mode - Generate related fmtp parameters in SDP Depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Related OS#3807 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/mgw_endpoint_fsm.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/13199/8 -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 17:17:33 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Wed, 13 Mar 2019 17:17:33 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/13242 Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... libmsc: Allow different channel types to be requested as silent calls Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Signed-off-by: Sylvain Munaut --- M include/osmocom/msc/silent_call.h M src/libmsc/msc_vty.c M src/libmsc/silent_call.c 3 files changed, 153 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/42/13242/1 diff --git a/include/osmocom/msc/silent_call.h b/include/osmocom/msc/silent_call.h index 70324e5..dbd7dcc 100644 --- a/include/osmocom/msc/silent_call.h +++ b/include/osmocom/msc/silent_call.h @@ -2,9 +2,12 @@ #define _SILENT_CALL_H struct ran_conn; +struct gsm0808_channel_type; extern int gsm_silent_call_start(struct vlr_subscr *vsub, - void *data, int type); + struct gsm0808_channel_type *ct, + const char *traffic_dst_ip, uint16_t traffic_dst_port, + void *data); extern int gsm_silent_call_stop(struct vlr_subscr *vsub); #if 0 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 2adb2a4..4ec2e5b 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -1042,21 +1042,35 @@ return rc; } -#define CHAN_TYPES "(any|tch/f|tch/any|sdcch)" +#define CHAN_TYPES "(any|tch/f|tch/h|tch/any|sdcch)" #define CHAN_TYPE_HELP \ "Any channel\n" \ "TCH/F channel\n" \ + "TCH/H channel\n" \ "Any TCH channel\n" \ "SDCCH channel\n" +#define CHAN_MODES "(signalling|speech-hr|speech-fr|speech-efr|speech-amr)" +#define CHAN_MODE_HELP \ + "Signalling only\n" \ + "Speech with HR codec\n" \ + "Speech with FR codec\n" \ + "Speech with EFR codec\n" \ + "Speech with AMR codec\n" + DEFUN(subscriber_silent_call_start, subscriber_silent_call_start_cmd, - "subscriber " SUBSCR_TYPES " ID silent-call start (any|tch/f|tch/any|sdcch)", + "subscriber " SUBSCR_TYPES " ID silent-call start " CHAN_TYPES " " CHAN_MODES " [IP] [<0-65536>]", SUBSCR_HELP "Silent call operation\n" "Start silent call\n" - CHAN_TYPE_HELP) + CHAN_TYPE_HELP CHAN_MODE_HELP + "Target IP for RTP traffic (default 127.0.0.1)\n" + "Target port for RTP traffic (default: 4000)\n") { struct vlr_subscr *vsub = get_vsub_by_argv(gsmnet, argv[0], argv[1]); - int rc, type; + struct gsm0808_channel_type ct; + const char *ip = NULL; + uint16_t port = 0; + int rc, speech; if (!vsub) { vty_out(vty, "%% No subscriber found for %s %s%s", @@ -1064,16 +1078,52 @@ return CMD_WARNING; } - if (!strcmp(argv[2], "tch/f")) - type = RSL_CHANNEED_TCH_F; - else if (!strcmp(argv[2], "tch/any")) - type = RSL_CHANNEED_TCH_ForH; - else if (!strcmp(argv[2], "sdcch")) - type = RSL_CHANNEED_SDCCH; - else - type = RSL_CHANNEED_ANY; /* Defaults to ANY */ + memset(&ct, 0x00, sizeof(ct)); - rc = gsm_silent_call_start(vsub, vty, type); + if (!strcmp(argv[3], "signalling")) { + ct.ch_indctr = GSM0808_CHAN_SIGN; + ct.perm_spch[0] = 0; /* Spare but required */ + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-hr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_HR1; + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-fr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_FR1; + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-efr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_FR2; + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-amr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_FR3; + ct.perm_spch[1] = GSM0808_PERM_HR3; + ct.perm_spch_len = 2; + } + + speech = ct.ch_indctr == GSM0808_CHAN_SPEECH; + + if (!strcmp(argv[2], "tch/f")) + ct.ch_rate_type = speech ? GSM0808_SPEECH_FULL_BM : GSM0808_SIGN_FULL_BM; + else if (!strcmp(argv[2], "tch/h")) + ct.ch_rate_type = speech ? GSM0808_SPEECH_HALF_LM : GSM0808_SIGN_HALF_LM; + else if (!strcmp(argv[2], "tch/any")) + ct.ch_rate_type = speech ? GSM0808_SPEECH_FULL_PREF : GSM0808_SIGN_FULL_PREF; + else if (!strcmp(argv[2], "sdcch")) { + if (speech) { + vty_out(vty, "Can't request speech on SDCCH%s", VTY_NEWLINE); + return CMD_WARNING; + } + ct.ch_rate_type = GSM0808_SIGN_SDCCH; + } else + ct.ch_rate_type = speech ? GSM0808_SPEECH_FULL_PREF : GSM0808_SIGN_ANY; + + ip = argc >= 5 ? argv[4] : "127.0.0.1"; + port = argc >= 6 ? atoi(argv[5]) : 4000; + + rc = gsm_silent_call_start(vsub, &ct, ip, port, vty); switch (rc) { case -ENODEV: vty_out(vty, "%% Subscriber not attached%s", VTY_NEWLINE); diff --git a/src/libmsc/silent_call.c b/src/libmsc/silent_call.c index 2a9fa9c..cadd17d 100644 --- a/src/libmsc/silent_call.c +++ b/src/libmsc/silent_call.c @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -31,13 +32,37 @@ #include #include +#include + +struct silent_call_data { + struct gsm0808_channel_type ct; + + char traffic_ip[INET_ADDRSTRLEN]; + uint16_t traffic_port; + + void *data; + + struct osmo_timer_list timer; + struct ran_conn *conn; +}; + +static void timer_cb(void *data) +{ + struct silent_call_data *scd = (struct silent_call_data *)data; + ran_conn_communicating(scd->conn); + talloc_free(scd); +} + /* paging of the requested subscriber has completed */ static int paging_cb_silent(unsigned int hooknum, unsigned int event, struct msgb *msg, void *_conn, void *_data) { + struct silent_call_data *scd = (struct silent_call_data *)_data; struct ran_conn *conn = _conn; struct scall_signal_data sigdata; + struct msgb *msg_ass; int rc = 0; + int i; if (hooknum != GSM_HOOK_RR_PAGING) return -EINVAL; @@ -45,7 +70,7 @@ DEBUGP(DLSMS, "paging_cb_silent: "); sigdata.conn = conn; - sigdata.data = _data; + sigdata.data = scd->data; switch (event) { case GSM_PAGING_SUCCEEDED: @@ -56,20 +81,58 @@ conn->lchan->ts->nr, conn->lchan->ts->trx->arfcn); #endif conn->silent_call = 1; + + /* Increment lchan reference count and mark as active*/ ran_conn_get(conn, RAN_CONN_USE_SILENT_CALL); - /* increment lchan reference count */ + + /* Schedule a timer to mark it as active */ + scd->conn = conn; + osmo_timer_setup(&scd->timer, timer_cb, scd); + osmo_timer_schedule(&scd->timer, 0, 0); + + /* Manually craft an assignement message with requested mode */ + if (scd->ct.ch_indctr == GSM0808_CHAN_SPEECH) { + struct gsm0808_speech_codec_list scl; + union { + struct sockaddr_storage st; + struct sockaddr_in in; + } rtp_addr; + + memset(&rtp_addr, 0, sizeof(rtp_addr)); + rtp_addr.in.sin_family = AF_INET; + rtp_addr.in.sin_port = osmo_htons(scd->traffic_port); + rtp_addr.in.sin_addr.s_addr = inet_addr(scd->traffic_ip); + + for (i=0; ict.perm_spch_len; i++) + gsm0808_speech_codec_from_chan_type(&scl.codec[i], scd->ct.perm_spch[i]); + scl.len = scd->ct.perm_spch_len; + + msg_ass = gsm0808_create_ass(&scd->ct, NULL, &rtp_addr.st, &scl, NULL); + } else { + msg_ass = gsm0808_create_ass(&scd->ct, NULL, NULL, NULL, NULL); + } + + /* Send assignement message, hoping it will work */ + osmo_sccp_tx_data_msg(conn->a.scu, conn->a.conn_id, msg_ass); + + /* Signal completion */ osmo_signal_dispatch(SS_SCALL, S_SCALL_SUCCESS, &sigdata); break; + case GSM_PAGING_EXPIRED: case GSM_PAGING_BUSY: DEBUGP(DLSMS, "expired\n"); osmo_signal_dispatch(SS_SCALL, S_SCALL_EXPIRED, &sigdata); break; + default: rc = -EINVAL; break; } + if (rc) + talloc_free(scd); + return rc; } @@ -120,18 +183,33 @@ /* initiate a silent call with a given subscriber */ -int gsm_silent_call_start(struct vlr_subscr *vsub, void *data, int type) +int gsm_silent_call_start(struct vlr_subscr *vsub, + struct gsm0808_channel_type *ct, + const char *traffic_dst_ip, uint16_t traffic_dst_port, + void *data) { struct subscr_request *req; + struct silent_call_data *scd; - /* FIXME the VTY command allows selecting a silent call channel type. - * This doesn't apply to the situation after MSCSPLIT with an - * A-interface. */ - req = subscr_request_conn(vsub, paging_cb_silent, data, + scd = talloc_zero(vsub, struct silent_call_data); + + memcpy(&scd->ct, ct, sizeof(struct gsm0808_channel_type)); + + if (traffic_dst_ip) { + strncpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); + scd->traffic_port = traffic_dst_port; + } + + scd->data = data; + + req = subscr_request_conn(vsub, paging_cb_silent, scd, "establish silent call", SGSAP_SERV_IND_CS_CALL); - if (!req) + if (!req) { + talloc_free(scd); return -ENODEV; + } + return 0; } -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 17:47:55 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 17:47:55 +0000 Subject: Change in osmo-pcu[master]: TBF: update MCS counters Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13243 Change subject: TBF: update MCS counters ...................................................................... TBF: update MCS counters * use enum CodingScheme directly instead of converting it to class and back * drop useless mode check * log errorneous update attempt Change-Id: I763136c2f356d63aa3d28d09c57fd5faf5336258 --- M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp 3 files changed, 116 insertions(+), 126 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/43/13243/1 diff --git a/src/tbf.h b/src/tbf.h index dc0b050..0a58862 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -648,7 +648,7 @@ int abort(); uint16_t window_size() const; void set_window_size(); - void update_coding_scheme_counter_dl(const GprsCodingScheme cs); + void update_coding_scheme_counter_dl(enum CodingScheme cs); /* TODO: add the gettimeofday as parameter */ struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); @@ -751,7 +751,7 @@ uint16_t window_size() const; void set_window_size(); - void update_coding_scheme_counter_ul(const GprsCodingScheme cs); + void update_coding_scheme_counter_ul(enum CodingScheme cs); /* Please note that all variables here will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 13ef143..04c6499 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1364,68 +1364,63 @@ m_window.set_ws(ws); } -void gprs_rlcmac_dl_tbf::update_coding_scheme_counter_dl(const GprsCodingScheme cs) +void gprs_rlcmac_dl_tbf::update_coding_scheme_counter_dl(enum CodingScheme cs) { - uint8_t coding_scheme = 0; - - coding_scheme = CodingScheme(cs); - if (mcs_is_gprs(cs)) { - switch (coding_scheme) { - case CS1 : - bts->gprs_dl_cs1(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); - break; - case CS2 : - bts->gprs_dl_cs2(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); - break; - case CS3 : - bts->gprs_dl_cs3(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); - break; - case CS4 : - bts->gprs_dl_cs4(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); - break; - } - } else { - switch (coding_scheme) { - case MCS1 : - bts->egprs_dl_mcs1(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); - break; - case MCS2 : - bts->egprs_dl_mcs2(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); - break; - case MCS3 : - bts->egprs_dl_mcs3(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); - break; - case MCS4 : - bts->egprs_dl_mcs4(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); - break; - case MCS5 : - bts->egprs_dl_mcs5(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); - break; - case MCS6 : - bts->egprs_dl_mcs6(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); - break; - case MCS7 : - bts->egprs_dl_mcs7(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); - break; - case MCS8 : - bts->egprs_dl_mcs8(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); - break; - case MCS9 : - bts->egprs_dl_mcs9(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); - break; - } + switch (cs) { + case CS1: + bts->gprs_dl_cs1(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); + break; + case CS2: + bts->gprs_dl_cs2(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); + break; + case CS3: + bts->gprs_dl_cs3(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); + break; + case CS4: + bts->gprs_dl_cs4(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); + break; + case MCS1: + bts->egprs_dl_mcs1(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); + break; + case MCS2: + bts->egprs_dl_mcs2(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); + break; + case MCS3: + bts->egprs_dl_mcs3(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); + break; + case MCS4: + bts->egprs_dl_mcs4(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); + break; + case MCS5: + bts->egprs_dl_mcs5(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); + break; + case MCS6: + bts->egprs_dl_mcs6(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); + break; + case MCS7: + bts->egprs_dl_mcs7(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); + break; + case MCS8: + bts->egprs_dl_mcs8(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); + break; + case MCS9: + bts->egprs_dl_mcs9(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); + break; + default: + LOGPTBFDL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", + mcs_name(cs)); } } diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index f40ec3d..fd7d73b 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -525,69 +525,64 @@ return assemble_status; } -void gprs_rlcmac_ul_tbf::update_coding_scheme_counter_ul(const GprsCodingScheme cs) +void gprs_rlcmac_ul_tbf::update_coding_scheme_counter_ul(enum CodingScheme cs) { - uint8_t coding_scheme = 0; - - coding_scheme = CodingScheme(cs); - if (mcs_is_gprs(cs)) { - switch (coding_scheme) { - case CS1 : - bts->gprs_ul_cs1(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); - break; - case CS2 : - bts->gprs_ul_cs2(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); - break; - case CS3 : - bts->gprs_ul_cs3(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); - break; - case CS4 : - bts->gprs_ul_cs4(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); - break; - } - } else { - switch (coding_scheme) { - case MCS1 : - bts->egprs_ul_mcs1(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); - break; - case MCS2 : - bts->egprs_ul_mcs2(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); - break; - case MCS3 : - bts->egprs_ul_mcs3(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); - break; - case MCS4 : - bts->egprs_ul_mcs4(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); - break; - case MCS5 : - bts->egprs_ul_mcs5(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); - break; - case MCS6 : - bts->egprs_ul_mcs6(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); - break; - case MCS7 : - bts->egprs_ul_mcs7(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); - break; - case MCS8 : - bts->egprs_ul_mcs8(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); - break; - case MCS9 : - bts->egprs_ul_mcs9(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); - break; - } + switch (cs) { + case CS1: + bts->gprs_ul_cs1(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); + break; + case CS2: + bts->gprs_ul_cs2(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); + break; + case CS3: + bts->gprs_ul_cs3(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); + break; + case CS4: + bts->gprs_ul_cs4(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); + break; + case MCS1: + bts->egprs_ul_mcs1(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); + break; + case MCS2: + bts->egprs_ul_mcs2(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); + break; + case MCS3: + bts->egprs_ul_mcs3(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); + break; + case MCS4: + bts->egprs_ul_mcs4(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); + break; + case MCS5: + bts->egprs_ul_mcs5(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); + break; + case MCS6: + bts->egprs_ul_mcs6(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); + break; + case MCS7: + bts->egprs_ul_mcs7(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); + break; + case MCS8: + bts->egprs_ul_mcs8(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); + break; + case MCS9: + bts->egprs_ul_mcs9(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); + break; + default: + LOGPTBFUL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", + mcs_name(cs)); } } -- To view, visit https://gerrit.osmocom.org/13243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I763136c2f356d63aa3d28d09c57fd5faf5336258 Gerrit-Change-Number: 13243 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 17:47:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 17:47:56 +0000 Subject: Change in osmo-pcu[master]: TBF-DL: cosmetic update for helper routines Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13244 Change subject: TBF-DL: cosmetic update for helper routines ...................................................................... TBF-DL: cosmetic update for helper routines * use enum values where appropriate * reformat to proper code style to improve readability Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e --- M src/tbf_dl.cpp 1 file changed, 32 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/44/13244/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 04c6499..08df05a 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -688,7 +688,7 @@ * the current limit. */ cs = m_rlc.block(index)->cs_current_trans; - GprsCodingScheme &cs_init = m_rlc.block(index)->cs_init; + enum CodingScheme cs_init = m_rlc.block(index)->cs_init; bsns[0] = index; num_bsns = 1; @@ -702,11 +702,10 @@ * if the intial mcs is 8 and retransmission mcs is either 6 or 3 * we have to include the padding of 6 octets in first segment */ - if ((CodingScheme(cs_init) == MCS8) && - (CodingScheme(cs) == MCS6 || - CodingScheme(cs) == MCS3)) { + if ((cs_init == MCS8) && + (cs == MCS6 || cs == MCS3)) { if (spb_status == EGPRS_RESEG_DL_DEFAULT || - spb_status == EGPRS_RESEG_SECOND_SEG_SENT) + spb_status == EGPRS_RESEG_SECOND_SEG_SENT) need_padding = true; } else if (num_bsns == 1) { /* TODO: remove the conditional when MCS-6 padding isn't @@ -1248,8 +1247,12 @@ egprs_rlc_dl_reseg_bsn_state *block_status_dl = &rlc_data->spb_status.block_status_dl; - GprsCodingScheme &cs_current_trans = m_rlc.block(bsn)->cs_current_trans; - GprsCodingScheme &cs_init = m_rlc.block(bsn)->cs_init; + enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); + enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + + enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); + enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); + *block_data = &rlc_data->block[0]; /* @@ -1259,10 +1262,9 @@ * MCS8: second segment starts at 31 * MCS4: second segment starts at 44/2 = 22 */ - if (cs_current_trans.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_3) { + if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) { if (*block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { - switch (CodingScheme(cs_init)) { + switch (cs_init) { case MCS6 : case MCS9 : *block_data = &rlc_data->block[37]; @@ -1281,21 +1283,17 @@ LOGPTBFDL(this, LOGL_ERROR, "FIXME: Software error: hit invalid condition. " "headerType(%d) blockstatus(%d) cs(%s) PLEASE FIX!\n", - cs_current_trans.headerTypeData(), + ht_cs_current_trans, *block_status_dl, mcs_name(cs_init)); break; } return EGPRS_RESEG_SECOND_SEG_SENT; - } else if ((cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_1) || - (cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_2)) { + } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) || + (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) { return EGPRS_RESEG_FIRST_SEG_SENT; - } else if ((CodingScheme(cs_init) == - MCS4) && - (CodingScheme(cs_current_trans) == - MCS1)) { + } else if ((cs_init == MCS4) && + (cs_current_trans == MCS1)) { return EGPRS_RESEG_FIRST_SEG_SENT; } } @@ -1320,34 +1318,30 @@ enum egprs_rlcmac_dl_spb gprs_rlcmac_dl_tbf::get_egprs_dl_spb(const int bsn) { struct gprs_rlc_data *rlc_data = m_rlc.block(bsn); - egprs_rlc_dl_reseg_bsn_state block_status_dl = - rlc_data->spb_status.block_status_dl; + egprs_rlc_dl_reseg_bsn_state block_status_dl = rlc_data->spb_status.block_status_dl; - GprsCodingScheme &cs_current_trans = m_rlc.block(bsn)->cs_current_trans; - GprsCodingScheme &cs_init = m_rlc.block(bsn)->cs_init; + enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); + enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + + enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); + enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); /* Table 10.4.8b.1 of 44.060 */ - if (cs_current_trans.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_3) { - /* - * if we are sending the second segment the spb should be 3 - * other wise it should be 2 - */ + if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) { + /* + * if we are sending the second segment the spb should be 3 + * otherwise it should be 2 + */ if (block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { - /* statistics */ bts->spb_downlink_second_segment(); return EGPRS_RLCMAC_DL_SEC_SEG; - } else if ((cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_1) || - (cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_2)) { + } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) || + (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; - } else if ((CodingScheme(cs_init) == - MCS4) && - (CodingScheme(cs_current_trans) == - MCS1)) { + } else if ((cs_init == MCS4) && + (cs_current_trans == MCS1)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; } -- To view, visit https://gerrit.osmocom.org/13244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e Gerrit-Change-Number: 13244 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 17:48:50 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 17:48:50 +0000 Subject: Change in osmo-pcu[master]: Debian: bump copyright year In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13240 ) Change subject: Debian: bump copyright year ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/13240/1/debian/copyright File debian/copyright: https://gerrit.osmocom.org/#/c/13240/1/debian/copyright at 16 PS1, Line 16: src/gprs_coding_scheme.cpp > this file is already in line 19 Ack https://gerrit.osmocom.org/#/c/13240/1/debian/copyright at 26 PS1, Line 26: > Update to 2019, too? Ack -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 17:48:50 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:12:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 18:12:44 +0000 Subject: Change in osmo-pcu[master]: Update IA Rest Octets encoding Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13245 Change subject: Update IA Rest Octets encoding ...................................................................... Update IA Rest Octets encoding Write initial bits of 3GPP TS 44.018 ?10.5.2.16 IA Rest Octets the same way as write_ia_rest_*() routines do. This should also fix the issue addressed in I75dd5bebc74eea85edf9582607c774d0bba0d2a6 initially by properly encoding L/H bits. Change-Id: I7ed5270bf95c3f6e9e026ff447eef8539f6f0314 --- M src/encoding.cpp 1 file changed, 13 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/45/13245/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index b460d41..1b325b4 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -497,41 +497,37 @@ plen = wp / 8; /* 3GPP TS 44.018 ?10.5.2.16 IA Rest Octets */ + dest->cur_bit = wp; if (downlink) { if (!as_dl_tbf(tbf)) { LOGP(DRLCMACDL, LOGL_ERROR, "Cannot encode DL IMMEDIATE ASSIGNMENT without TBF\n"); return -EINVAL; } - dest->cur_bit = wp; rc = write_ia_rest_downlink(as_dl_tbf(tbf), dest, polling, gsm48_ta_is_valid(ta), fn, alpha, gamma, ta_idx); } else if (((burst_type == GSM_L1_BURST_TYPE_ACCESS_1) || (burst_type == GSM_L1_BURST_TYPE_ACCESS_2))) { - bitvec_write_field(dest, &wp, 1, 2); /* LH */ - bitvec_write_field(dest, &wp, 0, 2); /* 0 EGPRS Uplink Assignment */ - bitvec_write_field(dest, &wp, ra & 0x1F, 5); /* Extended RA */ - bitvec_write_field(dest, &wp, 0, 1); /* Access technology Request */ + SET_L(dest); SET_H(dest); // "LH" + SET_0(dest); SET_0(dest); // "00" < EGPRS Packet Uplink Assignment > + rc = bitvec_set_u64(dest, ra & 0x1F, 5, false); // < Extended RA > + CHECK(rc); - if (as_ul_tbf(tbf) != NULL) { - dest->cur_bit = wp; + SET_0(dest); // No < Access Technologies Request struct > + + if (as_ul_tbf(tbf) != NULL) rc = write_ia_rest_egprs_uplink_sba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx); - } else { - dest->cur_bit = wp; + else rc = write_ia_rest_egprs_uplink_mba(dest, fn, alpha, gamma); - } } else { OSMO_ASSERT(!tbf || !tbf->is_egprs_enabled()); - bitvec_write_field(dest, &wp, 3, 2); // "HH" - bitvec_write_field(dest, &wp, 0, 2); // "0" Packet Uplink Assignment + SET_H(dest); SET_H(dest); // "HH" + SET_0(dest); SET_0(dest); // "00" < Packet Uplink Assignment > - if (as_ul_tbf(tbf) != NULL) { - dest->cur_bit = wp; + if (as_ul_tbf(tbf) != NULL) rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx); - } else { - dest->cur_bit = wp; + else rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma); - } } if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/13245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7ed5270bf95c3f6e9e026ff447eef8539f6f0314 Gerrit-Change-Number: 13245 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:25:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 18:25:20 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 107 PS1, Line 107: gsm0808_speech_codec_from_chan_type(&scl.codec[i], scd->ct.perm_spch[i]); Would it make sense to re-use enc_speech_codec_list() from a_iface.c in here? https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 187 PS1, Line 187: struct gsm0808_channel_type *ct, ct is not changed in this function - why not make it const similar to traffic_dst_ip? -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 18:25:20 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:33:05 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:33:05 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/#/c/13163/4/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/#/c/13163/4/src/coding_scheme.h at 53 PS4, Line 53: enum Mode { GprsMode? Mode is just too generic. https://gerrit.osmocom.org/#/c/13163/4/src/coding_scheme.h at 59 PS4, Line 59: const char *mode_name(enum Mode val); same https://gerrit.osmocom.org/#/c/13163/4/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13163/4/src/coding_scheme.c at 92 PS4, Line 92: const char *mode_name(enum Mode val) { same -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 18:33:05 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:33:20 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:33:20 +0000 Subject: Change in osmo-pcu[master]: MCS: remove unused function In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13239 ) Change subject: MCS: remove unused function ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b Gerrit-Change-Number: 13239 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 18:33:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:33:36 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:33:36 +0000 Subject: Change in osmo-pcu[master]: Debian: bump copyright year In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13240 ) Change subject: Debian: bump copyright year ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 18:33:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:36:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:36:14 +0000 Subject: Change in osmo-pcu[master]: Fix TA index encoder In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13238 ) Change subject: Fix TA index encoder ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf Gerrit-Change-Number: 13238 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 18:36:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:38:06 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:38:06 +0000 Subject: Change in libosmo-sccp[master]: improve logging for rejected AS in xua_rkm.c In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13229 ) Change subject: improve logging for rejected AS in xua_rkm.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id22e3c6bab5f7b597df3514eedb162277ce0ef7d Gerrit-Change-Number: 13229 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 18:38:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:39:06 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:39:06 +0000 Subject: Change in osmo-bsc[master]: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13223 ) Change subject: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13223/2/src/utils/Makefile.am File src/utils/Makefile.am: https://gerrit.osmocom.org/#/c/13223/2/src/utils/Makefile.am at a135 PS2, Line 135: > That doesn't seem related. Doesn't seem worth it having an extra patch for that, since basically I'm simplifying the file in this commit. -- To view, visit https://gerrit.osmocom.org/13223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c Gerrit-Change-Number: 13223 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 18:39:06 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:41:17 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:41:17 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 7: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.h at 44 PS7, Line 44: uint8_t num_data_header_bits_UL(enum HeaderType ht); those UL/DL in caps hurt my eyes -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 18:41:17 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 18:42:18 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 18:42:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_assignment_codec_amr_f/h In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13236 ) Change subject: BSC_Tests: fix TC_assignment_codec_amr_f/h ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Gerrit-Change-Number: 13236 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 18:42:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:07:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 19:07:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_assignment_codec_amr_f/h In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13236 ) Change subject: BSC_Tests: fix TC_assignment_codec_amr_f/h ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Gerrit-Change-Number: 13236 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 19:07:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:08:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 19:08:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add testcases to verify S15-S0 handling In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13237 ) Change subject: BSC_Tests: add testcases to verify S15-S0 handling ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Gerrit-Change-Number: 13237 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 13 Mar 2019 19:08:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:08:16 2019 From: gerrit-no-reply at lists.osmocom.org (Vasil Velichkov) Date: Wed, 13 Mar 2019 19:08:16 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder XML definition Message-ID: Hello Piotr Krysik, Vadim Yanitskiy, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13246 to review the following change. Change subject: Fix the TCH/H decoder XML definition ...................................................................... Fix the TCH/H decoder XML definition The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd --- M grc/decoding/gsm_tch_h_decoder.xml 1 file changed, 9 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/46/13246/1 diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml index 895104e..cd7d9cd 100644 --- a/grc/decoding/gsm_tch_h_decoder.xml +++ b/grc/decoding/gsm_tch_h_decoder.xml @@ -3,7 +3,7 @@ TCH/H decoder gsm_tch_h_decoder import grgsm - grgsm.tch_h_decoder($sub_channel, $mode, $boundary_check) + grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check) sub-channel number @@ -20,37 +20,9 @@ - TCH/H coding mode - mode - enum - - - - - - - + MultiRrate configuration + multi_rate + string Voice boundary detection @@ -83,6 +55,11 @@ +The MultiRrate configuration string should contains the hex string from the +MultiRrate configuration element from the Assignment Command message. +Example: 28111a40. +See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio + If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 1 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:10:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 19:10:03 +0000 Subject: Change in osmo-bsc[master]: codec_pref: fix special handling for AMR rate configuration (S15-S0) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13093 ) Change subject: codec_pref: fix special handling for AMR rate configuration (S15-S0) ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 13 Mar 2019 19:10:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:10:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 19:10:22 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13092 ) Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Gerrit-Change-Number: 13092 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 13 Mar 2019 19:10:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:11:48 2019 From: gerrit-no-reply at lists.osmocom.org (Vasil Velichkov) Date: Wed, 13 Mar 2019 19:11:48 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder XML definition In-Reply-To: References: Message-ID: Vasil Velichkov has posted comments on this change. ( https://gerrit.osmocom.org/13246 ) Change subject: Fix the TCH/H decoder XML definition ...................................................................... Patch Set 1: The problem was reported in https://groups.google.com/d/topic/gr-gsm/Ew7BmUYBfJY/discussion -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 1 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Comment-Date: Wed, 13 Mar 2019 19:11:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:15:17 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 19:15:17 +0000 Subject: Change in osmo-pcu[master]: MCS: remove unused function In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13239 ) Change subject: MCS: remove unused function ...................................................................... MCS: remove unused function Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b --- M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h 2 files changed, 0 insertions(+), 6 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index bcbb893..c0955d3 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -317,11 +317,6 @@ return mcs_info[m_scheme].family == mcs_info[o.m_scheme].family; } -bool GprsCodingScheme::isCombinable(GprsCodingScheme o) const -{ - return numDataBlocks() == o.numDataBlocks(); -} - void GprsCodingScheme::decToSingleBlock(bool *needStuffing) { switch (m_scheme) { diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index d97df08..80f8502 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -67,7 +67,6 @@ bool isCompatible(Mode mode) const; bool isCompatible(GprsCodingScheme o) const; bool isFamilyCompatible(GprsCodingScheme o) const; - bool isCombinable(GprsCodingScheme o) const; void inc(Mode mode); void dec(Mode mode); -- To view, visit https://gerrit.osmocom.org/13239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b Gerrit-Change-Number: 13239 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:16:22 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 19:16:22 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.h at 44 PS7, Line 44: uint8_t num_data_header_bits_UL(enum HeaderType ht); > those UL/DL in caps hurt my eyes That's the whole point :) I mean - the lesser the chance for typos, the better. -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 19:16:22 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:21:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 19:21:01 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (6 comments) https://gerrit.osmocom.org/#/c/13242/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13242/1//COMMIT_MSG at 10 PS1, Line 10: Signed-off-by: Sylvain Munaut No signed-off-by in osmocom repos. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c at 1072 PS1, Line 1072: uint16_t port = 0; no initialization needed here afaiu. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 40 PS1, Line 40: char traffic_ip[INET_ADDRSTRLEN]; worth using INET6_ADDRSTRLEN here in case we want to support ipv6? Not sure if it makes sense in this context. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 91 PS1, Line 91: osmo_timer_schedule(&scd->timer, 0, 0); Why not calling timer_cb directly around line 120? You are immediatelly firing this cb, and only once. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 99 PS1, Line 99: } rtp_addr; Is this conversion from sockaddr_in to sockaddr_storage through union valid? Never seen it before. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 120 PS1, Line 120: break; Would be clearer using a return 0 here, otherwise it's confusing scheduling scd timer then having a talloc_free(scd) after the switch block. -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 19:21:01 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:22:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 19:22:20 +0000 Subject: Change in osmo-pcu[master]: TBF: update MCS counters In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13243 ) Change subject: TBF: update MCS counters ...................................................................... Patch Set 1: (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/13243/1/src/tbf.h File src/tbf.h: https://gerrit.osmocom.org/#/c/13243/1/src/tbf.h at 651 PS1, Line 651: void update_coding_scheme_counter_dl(enum CodingScheme cs); > Would be nice to have the enum named GprsCodingSCheme It includes both Gprs and Egprs coding schemes so I prefer smth more generic. > Can the class be dropped? Not yet unfortunately. Besides, I don't want to introduce changes which are neither immediate necessity nor convenience for the task at hand (fixing IA RO/TAI), and that class is used all over the place. -- To view, visit https://gerrit.osmocom.org/13243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I763136c2f356d63aa3d28d09c57fd5faf5336258 Gerrit-Change-Number: 13243 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 19:22:20 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:23:34 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 19:23:34 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.h at 44 PS7, Line 44: uint8_t num_data_header_bits_UL(enum HeaderType ht); > That's the whole point :) [?] I didn't know possibility of writing typos was lower when using caps, I'd be glad to see some scientific study probing that ;-) -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 19:23:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:25:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 19:25:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 19:25:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 19:39:40 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 13 Mar 2019 19:39:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 13 Mar 2019 19:39:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 20:13:51 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Wed, 13 Mar 2019 20:13:51 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (8 comments) Tx for the review, will fix that up. https://gerrit.osmocom.org/#/c/13242/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13242/1//COMMIT_MSG at 10 PS1, Line 10: Signed-off-by: Sylvain Munaut > No signed-off-by in osmocom repos. Ack https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c at 1072 PS1, Line 1072: uint16_t port = 0; > no initialization needed here afaiu. Ack https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 40 PS1, Line 40: char traffic_ip[INET_ADDRSTRLEN]; > worth using INET6_ADDRSTRLEN here in case we want to support ipv6? Not sure if it makes sense in thi [?] Everywhere else in the code we use INET_ADDRSTRLEN. So I'd rather keep it consistent. If at some point we want ipv6 the grep will turn up this code and hopefully it will be reviewed for ipv6 compat along with the rest. Using INET6_ADDRSTRLEN I think might make it look like it was tested or is v6 compatible which ... it's probably not at all and would be untested because the rest isn't v6 compatible. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 91 PS1, Line 91: osmo_timer_schedule(&scd->timer, 0, 0); > Why not calling timer_cb directly around line 120? You are immediatelly firing this cb, and only on [?] Because at this point in the code, I'm in the callback of a state machine which isn't in the right state to accept ran_conn_communicating() ... it will only be in the right state when the rest of the processing of the callback list is done. And I can't change the order of the callbacks because ... well the entire rest of the code base expects stuff to go in that exact order. I tried like 4 different approaches to solve this and this is the lest ugly/most self contained approach. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 99 PS1, Line 99: } rtp_addr; > Is this conversion from sockaddr_in to sockaddr_storage through union valid? Never seen it before. Why wouldn't it be ? sockaddr_storage is just 'something big enough'. unions members are guaranteed to start at the beginning ... so I don't see an issue here. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 107 PS1, Line 107: gsm0808_speech_codec_from_chan_type(&scl.codec[i], scd->ct.perm_spch[i]); > Would it make sense to re-use enc_speech_codec_list() from a_iface. [?] I'm not convinced ... it literally just saves 1 for loop, the bulk of the work is done by gsm0808_speech_codec_from_chan_type. If people insist I can do it, but I'm not even sure where to put/declare it ... I guess it would belong to be in libosmocore in gsm0808_utils thus introducing a cross repo version dependency, seems a bit much. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 120 PS1, Line 120: break; > Would be clearer using a return 0 here, otherwise it's confusing scheduling scd timer then having a [?] Ack https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 187 PS1, Line 187: struct gsm0808_channel_type *ct, > ct is not changed in this function - why not make it const similar to traffic_dst_ip? Ack -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 20:13:51 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 20:26:57 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 13 Mar 2019 20:26:57 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 40 PS1, Line 40: char traffic_ip[INET_ADDRSTRLEN]; > Everywhere else in the code we use INET_ADDRSTRLEN. So I'd rather keep it consistent. [?] Fine. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 91 PS1, Line 91: osmo_timer_schedule(&scd->timer, 0, 0); > Because at this point in the code, I'm in the callback of a state machine which isn't in the right s [?] Can you at least document that in the code then? Otherwise people may attempt to simplify it. Add some "FIXME" or whatever. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 99 PS1, Line 99: } rtp_addr; > Why wouldn't it be ? [?] Fine thanks, I had a look at sockaddr_storage to understand it better :) -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 20:26:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:13:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:13:28 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Properly support assigning signalling mode TCH/x In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13172 ) Change subject: assignment_fsm: Properly support assigning signalling mode TCH/x ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4c7499c8c866ea3ff7b1327edb3615d003d927d3 Gerrit-Change-Number: 13172 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 21:13:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:17:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:17:55 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13242/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13242/1//COMMIT_MSG at 10 PS1, Line 10: Signed-off-by: Sylvain Munaut > No signed-off-by in osmocom repos. well, it doesn't hurt either. So I would just silently merge a related commit. -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 21:17:55 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:20:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:20:09 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and mask when writing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13232 ) Change subject: vty: Ensure to properly save route pointcode and mask when writing ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13232/2/src/osmo_ss7_vty.c File src/osmo_ss7_vty.c: https://gerrit.osmocom.org/#/c/13232/2/src/osmo_ss7_vty.c at 365 PS2, Line 365: osmo_ss7_pointcode_print2(rtable->inst, rt->cfg.mask), > I really don't like having this "2" API with a different static buffer instead of simply copying it [?] I also don't like it and would very much prefer my "volatile select loop iteration talloc context" approach. However, the existing code works that way and it is out of scope for this patch -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 21:20:09 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:20:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:20:12 +0000 Subject: Change in libosmo-sccp[master]: vty: Ensure to properly save route pointcode and mask when writing In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13232 ) Change subject: vty: Ensure to properly save route pointcode and mask when writing ...................................................................... vty: Ensure to properly save route pointcode and mask when writing As osmo_ss7_route_print() returns a static buffer, we cannot use it twice within a single log/print statement. Rather, we must use osmo_ss7_route_print2() for the second call, as it uses a separate static buffer. Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 --- M src/osmo_ss7_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Max: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 1b7bcb9..950eb08 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -362,7 +362,7 @@ llist_for_each_entry(rt, &rtable->routes, list) { vty_out(vty, " update route %s %s linkset %s", osmo_ss7_pointcode_print(rtable->inst, rt->cfg.pc), - osmo_ss7_pointcode_print(rtable->inst, rt->cfg.mask), + osmo_ss7_pointcode_print2(rtable->inst, rt->cfg.mask), rt->cfg.linkset_name); if (rt->cfg.priority) vty_out(vty, " priority %u", rt->cfg.priority); -- To view, visit https://gerrit.osmocom.org/13232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ica32e83cbe8af2317cb07f8d8422a399fa537012 Gerrit-Change-Number: 13232 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:22:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:22:44 +0000 Subject: Change in libosmo-sccp[master]: Fix output of route destination in 'show ss7 instance <0-15> route' In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13233 ) Change subject: Fix output of route destination in 'show ss7 instance <0-15> route' ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13233/1/src/osmo_ss7.c File src/osmo_ss7.c: https://gerrit.osmocom.org/#/c/13233/1/src/osmo_ss7.c at 852 PS1, Line 852: > Those look rather generic? Maybe make it part of libosmocore bits. [?] yes, but it's a very stupid/inefficient implementation, and it's only five lines of code. I'd rather keep it here. -- To view, visit https://gerrit.osmocom.org/13233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef Gerrit-Change-Number: 13233 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 21:22:44 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:23:36 +0000 Subject: Change in osmo-dev[master]: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13235 ) Change subject: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 Gerrit-Change-Number: 13235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 13 Mar 2019 21:23:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:24:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:24:56 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: I'm not sure with what the "no-install" LDFLAGS do, and I would therefore (humbly) guess that I'm not the only one. It might be worth one sentence inthe commit log. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 13 Mar 2019 21:24:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:27:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:27:18 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Wed, 13 Mar 2019 21:27:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:27:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:27:45 +0000 Subject: Change in osmo-bsc[master]: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13223 ) Change subject: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c Gerrit-Change-Number: 13223 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 21:27:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:27:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:27:52 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13218 ) Change subject: ipaccess/Makefile.am: Remove unneeded libmgcp-client dep ...................................................................... ipaccess/Makefile.am: Remove unneeded libmgcp-client dep Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f --- M src/ipaccess/Makefile.am M src/osmo-bsc/gsm_data.c 2 files changed, 0 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index d73aa4d..c504234 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -10,7 +10,6 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(COVERAGE_CFLAGS) \ - $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(NULL) @@ -22,7 +21,6 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOMGCPCLIENT_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ $(NULL) diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 5d667bb..0492571 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -43,7 +43,6 @@ #include #include #include -#include void *tall_bsc_ctx = NULL; -- To view, visit https://gerrit.osmocom.org/13218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3c926b088fe1b25b0f65d673465c3fa0c1d0b86f Gerrit-Change-Number: 13218 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 13 21:28:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 13 Mar 2019 21:28:56 +0000 Subject: Change in osmo-bsc[master]: Move LCLS references from gsm_data to osmo_bsc_lcls In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13220 ) Change subject: Move LCLS references from gsm_data to osmo_bsc_lcls ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d Gerrit-Change-Number: 13220 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 13 Mar 2019 21:28:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 03:41:59 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 03:41:59 +0000 Subject: Change in libosmo-sccp[master]: improve logging for rejected AS in xua_rkm.c In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13229 ) Change subject: improve logging for rejected AS in xua_rkm.c ...................................................................... improve logging for rejected AS in xua_rkm.c Change a loglevel from NOTICE to ERROR, for when a routing key gets re-purposed. Add another error log for insufficient resources case. Change-Id: Id22e3c6bab5f7b597df3514eedb162277ce0ef7d --- M src/xua_rkm.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/xua_rkm.c b/src/xua_rkm.c index a77460d..4b760ee 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -214,7 +214,7 @@ if (as) { LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: Found existing AS for RCTX %u\n", rctx); if (as->cfg.routing_key.pc != dpc) { - LOGPASP(asp, DLSS7, LOGL_NOTICE, "RKM: DPC doesn't match (%u != %u)\n", + LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: DPC doesn't match, rejecting AS (%u != %u)\n", as->cfg.routing_key.pc, dpc); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INVAL_RKEY, 0); return -1; @@ -250,6 +250,8 @@ if (*nas_idx >= max_nas_idx) { osmo_ss7_route_destroy(rt); osmo_ss7_as_destroy(as); + LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: not enough room for newly assigned AS (max %u AS)\n", + max_nas_idx+1); msgb_append_reg_res(resp, rk_id, M3UA_RKM_REG_ERR_INSUFF_RESRC, 0); return -1; } -- To view, visit https://gerrit.osmocom.org/13229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id22e3c6bab5f7b597df3514eedb162277ce0ef7d Gerrit-Change-Number: 13229 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 03:42:50 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 03:42:50 +0000 Subject: Change in osmo-bsc[master]: incoming connect: don't crash if calling addr is missing In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13227 ) Change subject: incoming connect: don't crash if calling addr is missing ...................................................................... incoming connect: don't crash if calling addr is missing The idea was to guard the logging, though actually that can handle a NULL ss7 quite well. Change-Id: Ib028432b37a5c48b677bb21b869cc722575dce92 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Max: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 4b2c4ae..2ff5d80 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -122,7 +122,6 @@ } ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); - OSMO_ASSERT(ss7); LOGP(DMSC, LOGL_ERROR, "Unable to find MSC data under address: %s\n", osmo_sccp_addr_name(ss7, msc_addr)); return NULL; } -- To view, visit https://gerrit.osmocom.org/13227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib028432b37a5c48b677bb21b869cc722575dce92 Gerrit-Change-Number: 13227 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 03:42:51 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 03:42:51 +0000 Subject: Change in osmo-bsc[master]: log N-CONNECT from MSC In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13228 ) Change subject: log N-CONNECT from MSC ...................................................................... log N-CONNECT from MSC Change-Id: I83f15c7231b2b766aba4d25339d08acbbca3a47e --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 2ff5d80..f2a6d08 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -179,6 +179,10 @@ goto refuse; } + LOGP(DMSC, LOGL_DEBUG, "(calling_addr=%s conn_id=%u) N-CONNECT.ind from MSC %d\n", + osmo_sccp_addr_dump(&scu_prim->u.connect.calling_addr), + scu_prim->u.connect.conn_id, msc->nr); + conn = bsc_subscr_con_allocate(bsc_gsmnet); if (!conn) return -ENOMEM; -- To view, visit https://gerrit.osmocom.org/13228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I83f15c7231b2b766aba4d25339d08acbbca3a47e Gerrit-Change-Number: 13228 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 03:43:10 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 03:43:10 +0000 Subject: Change in libosmocore[master]: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13207 ) Change subject: osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label ...................................................................... osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label Change-Id: Id84021858dfb2f7d6a7cf81ae73bd94cd47f6776 --- M src/gsm/gsm48.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Vadim Yanitskiy: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 4166c15..5dc30ad 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -1192,7 +1192,7 @@ static char buf[128]; char cm1[42] = "no-cm1"; char cm2[42] = " no-cm2"; - char cm3[42] = " no-cm2"; + char cm3[42] = " no-cm3"; if (cm->classmark1_set) snprintf(cm1, sizeof(cm1), "cm1{a5/1=%s}", -- To view, visit https://gerrit.osmocom.org/13207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id84021858dfb2f7d6a7cf81ae73bd94cd47f6776 Gerrit-Change-Number: 13207 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 03:43:52 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 03:43:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add codec to all Assignment Complete messages In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13186 ) Change subject: msc: add codec to all Assignment Complete messages ...................................................................... msc: add codec to all Assignment Complete messages So far we omit a Speech Codec (Chosen) from Assignment Complete messages, which is actually a mandatory parameter. osmo-msc seems to carry on nevertheless, but it actually shouldn't be able to. Always send a Speech Codec (Chosen). Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa --- M library/BSSMAP_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn 2 files changed, 14 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index b538095..4df39d4 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -462,6 +462,11 @@ lengthIndicator := 0, /* overwritten */ codecElements := valueof(elem) } +template BSSMAP_IE_SpeechCodec ts_BSSMAP_IE_SpeechCodec(template BSSMAP_FIELD_CodecElements elem) := { + elementIdentifier := '7E'O, + lengthIndicator := 0, /* overwritten */ + codecElements := valueof(elem) +} template PDU_BSSAP ts_BSSMAP_AssignmentReq(template BSSMAP_IE_CircuitIdentityCode cic := omit, @@ -534,7 +539,8 @@ template PDU_BSSAP ts_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := omit, - template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit) + template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit, + template BSSMAP_IE_SpeechCodec speechCodec := omit) modifies ts_BSSAP_BSSMAP := { pdu := { bssmap := { @@ -550,7 +556,7 @@ lSAIdentifier := omit, talkerPriority := omit, aoIPTransportLayer := aoip, - speechCodec := omit, + speechCodec := speechCodec, codecList := omit, lCLS_BSS_Status := omit } diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 2cd666f..e6cf2b0 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -532,8 +532,10 @@ valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; + var BSSMAP_IE_SpeechCodec codec; tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); - BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla)); + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); } /* MS -> MSC: ALERTING */ @@ -633,8 +635,10 @@ /* expect AoIP IP/Port to match what we returned in CRCX_ACK above */ [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; + var BSSMAP_IE_SpeechCodec codec; tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); - BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla)); + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); } } -- To view, visit https://gerrit.osmocom.org/13186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa Gerrit-Change-Number: 13186 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 03:43:53 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 03:43:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13187 ) Change subject: msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe ...................................................................... msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 --- M msc/MSC_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 5d40f09..31a7401 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1596,6 +1596,8 @@ mtc.stop; } } + + f_expect_clear(); setverdict(pass); } testcase TC_gsup_cancel() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/13187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785 Gerrit-Change-Number: 13187 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 07:55:51 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 14 Mar 2019 07:55:51 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c at 1063 PS1, Line 1063: 65536 I may be wrong, but shouldn't it be 65535? 0xffff is 65535 + 0, so 65536 possible values in total. -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 14 Mar 2019 07:55:51 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 07:59:51 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 07:59:51 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/msc_vty.c at 1063 PS1, Line 1063: 65536 > I may be wrong, but shouldn't it be 65535? [?] Ack -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 14 Mar 2019 07:59:51 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 08:09:23 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 08:09:23 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13242 to look at the new patch set (#2). Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... libmsc: Allow different channel types to be requested as silent calls Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 --- M include/osmocom/msc/silent_call.h M src/libmsc/msc_vty.c M src/libmsc/silent_call.c 3 files changed, 161 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/42/13242/2 -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 08:12:54 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 14 Mar 2019 08:12:54 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 91 PS1, Line 91: osmo_timer_schedule(&scd->timer, 0, 0); > Can you at least document that in the code then? ACK, some small comment would be appreciated. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 106 PS1, Line 106: (i=0; ict.perm_spch_len; i++) Cosmetic: spaces between '=' and '<' are missing. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 127 PS1, Line 127: ws https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 196 PS1, Line 196: struct gsm0808_channel_type Rather sizeof(*ct), so it would be safe to rename 'gsm0808_channel_type' symbol later on... Not critical though. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 199 PS1, Line 199: sizeof(scd->traffic_ip) Are you sure it would calculate the size of the string buffer and not the size of pointer? (Personally I'm always unsure in such cases, so testing is required) -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 14 Mar 2019 08:12:54 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 08:30:08 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 08:30:08 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13242 to look at the new patch set (#3). Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... libmsc: Allow different channel types to be requested as silent calls Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 --- M include/osmocom/msc/silent_call.h M src/libmsc/msc_vty.c M src/libmsc/silent_call.c 3 files changed, 160 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/42/13242/3 -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 08:31:58 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 08:31:58 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Properly support assigning signalling mode TCH/x In-Reply-To: References: Message-ID: tnt has submitted this change and it was merged. ( https://gerrit.osmocom.org/13172 ) Change subject: assignment_fsm: Properly support assigning signalling mode TCH/x ...................................................................... assignment_fsm: Properly support assigning signalling mode TCH/x To support the 3 possible preferences, the changes needed were: - Replace 'full_rate' bool with a 3 option enum to represent the channels types for signalling - Switch from _pref/_alt to using an array sorted in preference order Change-Id: I4c7499c8c866ea3ff7b1327edb3615d003d927d3 Signed-off-by: Sylvain Munaut --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/codec_pref.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/osmo_bsc_bssap.c M tests/codec_pref/codec_pref_test.c 8 files changed, 168 insertions(+), 133 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c4315c0..fb0735a 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -98,9 +98,15 @@ SUBSCR_SCCP_ST_CONNECTED }; +enum channel_rate { + CH_RATE_SDCCH, + CH_RATE_HALF, + CH_RATE_FULL, +}; + struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; - bool full_rate; + enum channel_rate chan_rate; uint16_t s15_s0; }; @@ -115,12 +121,9 @@ char msc_rtp_addr[INET_ADDRSTRLEN]; uint16_t msc_rtp_port; - /* Prefered rate/codec setting (mandatory) */ - struct channel_mode_and_rate ch_mode_rate_pref; - - /* Alternate rate/codec setting (optional) */ - bool ch_mode_rate_alt_present; - struct channel_mode_and_rate ch_mode_rate_alt; + /* Rate/codec setting in preference order (need at least 1 !) */ + int n_ch_mode_rate; + struct channel_mode_and_rate ch_mode_rate[3]; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 4aecdf6..865181b 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -3,4 +3,4 @@ struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, bool full_rate); + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index aa696ac..2180791 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -251,17 +251,15 @@ static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct channel_mode_and_rate *ch_mode_rate) { enum gsm48_chan_mode chan_mode = ch_mode_rate->chan_mode; - bool full_rate = ch_mode_rate->full_rate; + enum channel_rate chan_rate = ch_mode_rate->chan_rate; switch (chan_mode) { case GSM48_CMODE_SIGN: switch (type) { - case GSM_LCHAN_TCH_F: - case GSM_LCHAN_TCH_H: - case GSM_LCHAN_SDCCH: - return true; - default: - return false; + case GSM_LCHAN_TCH_F: return chan_rate == CH_RATE_FULL; + case GSM_LCHAN_TCH_H: return chan_rate == CH_RATE_HALF; + case GSM_LCHAN_SDCCH: return chan_rate == CH_RATE_SDCCH; + default: return false; } case GSM48_CMODE_SPEECH_V1: @@ -269,12 +267,12 @@ case GSM48_CMODE_DATA_3k6: case GSM48_CMODE_DATA_6k0: /* these services can all run on TCH/H, but we may have - * an explicit override by the 'full_rate' argument */ + * an explicit override by the 'chan_rate' argument */ switch (type) { case GSM_LCHAN_TCH_F: - return full_rate; + return chan_rate == CH_RATE_FULL; case GSM_LCHAN_TCH_H: - return !full_rate; + return chan_rate == CH_RATE_HALF; default: return false; } @@ -320,45 +318,34 @@ * sure that both are consistent. */ static int check_requires_voice_stream(struct gsm_subscriber_connection *conn) { - bool result_requires_voice_alt; - bool result_requires_voice_pref; + bool requires_voice_pref = false, requires_voice_alt; struct assignment_request *req = &conn->assignment.req; struct osmo_fsm_inst *fi = conn->fi; - int rc; + int i, rc; /* When the assignment request indicates that there is an alternate * rate available (e.g. "Full or Half rate channel, Half rate * preferred..."), then both must be either voice or either signalling, * a mismatch is not permitted */ - /* Check the prefered setting */ - rc = check_requires_voice(&result_requires_voice_pref, req->ch_mode_rate_pref.chan_mode); - if (rc < 0) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Prefered channel mode not supported: %s", - gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode)); - return -EINVAL; - } - conn->assignment.requires_voice_stream = result_requires_voice_pref; + for (i = 0; i < req->n_ch_mode_rate; i++) { + rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate[i].chan_mode); + if (rc < 0) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Channel mode not supported (prev level %d): %s", i, + gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + return -EINVAL; + } - /* If there is an alternate setting, check that one as well */ - if (!req->ch_mode_rate_alt_present) - return 0; - rc = check_requires_voice(&result_requires_voice_alt, req->ch_mode_rate_alt.chan_mode); - if (rc < 0) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Alternate channel mode not supported: %s", - gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); - return -EINVAL; - } - - /* Make sure both settings match */ - if (result_requires_voice_pref != result_requires_voice_alt) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Inconsistent channel modes: %s != %s", - gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), - gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); - return -EINVAL; + if (i==0) + requires_voice_pref = requires_voice_alt; + else if (requires_voice_alt != requires_voice_pref) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Inconsistent channel modes: %s != %s", + gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), + gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); + return -EINVAL; + } } return 0; @@ -370,18 +357,20 @@ static bool reuse_existing_lchan(struct gsm_subscriber_connection *conn) { struct assignment_request *req = &conn->assignment.req; + int i; if (!conn->lchan) return false; /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ - if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_pref)) - conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; - else if (req->ch_mode_rate_alt_present - && lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_alt)) - conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; - else + for (i = 0; i < req->n_ch_mode_rate; i++) + if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { + conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + break; + } + + if (i == req->n_ch_mode_rate) return false; if (conn->lchan->tch_mode != conn->lchan->ch_mode_rate.chan_mode) { @@ -399,8 +388,14 @@ void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req) { + static const char *rate_names[] = { + [CH_RATE_SDCCH] = "SDCCH", + [CH_RATE_HALF] = "HR", + [CH_RATE_FULL] = "FR", + }; struct osmo_fsm_inst *fi; struct lchan_activate_info info; + int i; OSMO_ASSERT(conn); OSMO_ASSERT(conn->fi); @@ -443,17 +438,13 @@ return; } - /* Try to allocate a new lchan with the preferred codec/rate choice */ - conn->assignment.new_lchan = - lchan_select_by_chan_mode(bts, req->ch_mode_rate_pref.chan_mode, req->ch_mode_rate_pref.full_rate); - conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; - - /* In case the lchan allocation fails, we try with the alternat codec/ - * rate choice (if possible) */ - if (!conn->assignment.new_lchan && req->ch_mode_rate_alt_present) { - conn->assignment.new_lchan = - lchan_select_by_chan_mode(bts, req->ch_mode_rate_alt.chan_mode, req->ch_mode_rate_alt.full_rate); - conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; + /* Try to allocate a new lchan in order of preference */ + for (i = 0; i < req->n_ch_mode_rate; i++) { + conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, + req->ch_mode_rate[i].chan_mode, req->ch_mode_rate[i].chan_rate); + conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; + if (conn->assignment.new_lchan) + break; } /* Check whether the lchan allocation was successful or not and tear @@ -462,21 +453,22 @@ assignment_count_result(BSC_CTR_ASSIGNMENT_NO_CHANNEL); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" - " No lchan available for: preferred=%s%s / alternate=%s%s\n", - gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), - req->ch_mode_rate_pref.full_rate ? ",FR" : ",HR", - req->ch_mode_rate_alt_present ? - gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode) : "none", - req->ch_mode_rate_alt_present ? - (req->ch_mode_rate_alt.full_rate ? ",FR" : ",HR") : ""); + " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", + gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), + rate_names[req->ch_mode_rate[0].chan_rate], + req->n_ch_mode_rate >= 1 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", + req->n_ch_mode_rate >= 1 ? rate_names[req->ch_mode_rate[0].chan_rate] : "", + req->n_ch_mode_rate >= 2 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", + req->n_ch_mode_rate >= 2 ? rate_names[req->ch_mode_rate[0].chan_rate] : "" + ); return; } assignment_fsm_update_id(conn); - LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, full_rate=%d," + LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s," " aoip=%s MSC-rtp=%s:%u\n", gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), - conn->lchan->ch_mode_rate.full_rate, + rate_names[conn->lchan->ch_mode_rate.chan_rate], req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index a94d6a8..659853c 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -281,6 +281,7 @@ { unsigned int i; uint8_t perm_spch; + bool full_rate; bool match = false; const struct gsm0808_speech_codec *sc_match = NULL; uint16_t amr_s15_s0_supported; @@ -295,15 +296,16 @@ perm_spch = audio_support_to_gsm88(msc->audio_support[i]); /* Determine if the result is a half or full rate codec */ - rc = full_rate_from_perm_spch(&ch_mode_rate->full_rate, perm_spch); + rc = full_rate_from_perm_spch(&full_rate, perm_spch); if (rc < 0) return -EINVAL; + ch_mode_rate->chan_rate = full_rate ? CH_RATE_FULL : CH_RATE_HALF; /* If we have a preference for FR or HR in our request, we * discard the potential match */ - if (rate_pref == RATE_PREF_HR && ch_mode_rate->full_rate) + if (rate_pref == RATE_PREF_HR && ch_mode_rate->chan_rate == CH_RATE_FULL) continue; - if (rate_pref == RATE_PREF_FR && !ch_mode_rate->full_rate) + if (rate_pref == RATE_PREF_FR && ch_mode_rate->chan_rate == CH_RATE_HALF) continue; /* Check this permitted speech value against the BTS specific parameters. @@ -321,8 +323,8 @@ /* Exit without result, in case no match can be deteched */ if (!match) { - ch_mode_rate->full_rate = false; ch_mode_rate->chan_mode = GSM48_CMODE_SIGN; + ch_mode_rate->chan_rate = CH_RATE_SDCCH; ch_mode_rate->s15_s0 = 0; return -1; } diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index a3d25d6..77f8138 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -569,10 +569,11 @@ } LOG_HO(conn, LOGL_DEBUG, "BTS %u: Found matching audio type: %s %s (for %s)\n", - bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), ch_mode_rate.full_rate? "full-rate" : "half-rate", + bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), + ch_mode_rate.chan_rate == CH_RATE_FULL ? "full-rate" : "half-rate", gsm0808_channel_type_name(&req->ct)); - lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.full_rate); + lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.chan_rate); if (!lchan) { LOG_HO(conn, LOGL_DEBUG, "BTS %u has no matching free channels\n", bts->nr); continue; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 0f4dd65..0a9752e 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -128,22 +128,31 @@ } struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, bool full_rate) + enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) { enum gsm_chan_t type; switch (chan_mode) { case GSM48_CMODE_SIGN: - type = GSM_LCHAN_SDCCH; + switch (chan_rate) { + case CH_RATE_SDCCH: type = GSM_LCHAN_SDCCH; break; + case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; + case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; + default: return NULL; + } break; case GSM48_CMODE_SPEECH_EFR: /* EFR works over FR channels only */ - if (!full_rate) + if (chan_rate != CH_RATE_FULL) return NULL; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: - type = full_rate ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H; + switch (chan_rate) { + case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; + case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; + default: return NULL; + } break; default: return NULL; diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 85aab22..5c8ce97 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -626,60 +626,48 @@ static int select_codecs(struct assignment_request *req, struct gsm0808_channel_type *ct, struct gsm_subscriber_connection *conn) { - int rc; + int rc, i, nc = 0; struct bsc_msc_data *msc; msc = conn->sccp.msc; - req->ch_mode_rate_alt_present = false; switch (ct->ch_rate_type) { case GSM0808_SPEECH_FULL_BM: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); + nc += (rc == 0); break; case GSM0808_SPEECH_HALF_LM: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); + nc += (rc == 0); break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - if (rc < 0) { - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), - RATE_PREF_HR); - break; - } - rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), + nc += (rc == 0); + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - if (rc == 0) - req->ch_mode_rate_alt_present = true; - rc = 0; + nc += (rc == 0); break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - - if (rc < 0) { - rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), - RATE_PREF_FR); - break; - } - rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), + nc += (rc == 0); + rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - if (rc == 0) - req->ch_mode_rate_alt_present = true; - rc = 0; + nc += (rc == 0); break; default: rc = -EINVAL; break; } - if (rc < 0) { + if (!nc) { LOGP(DMSC, LOGL_ERROR, "No supported audio type found for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[%s] }\n", ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); @@ -688,29 +676,69 @@ return -EINVAL; } - if (req->ch_mode_rate_alt_present) { - DEBUGP(DMSC, "Found matching audio type (preferred): %s %s for channel_type =" + for (i = 0; i < nc; i++ ) { + DEBUGP(DMSC, "Found matching audio type (pref=%d): %s %s for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), + i, + req->ch_mode_rate[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate[i].chan_mode), ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - DEBUGP(DMSC, "Found matching audio type (alternative): %s %s for channel_type =" - " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - req->ch_mode_rate_alt.full_rate ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_alt.chan_mode), - ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - } else { - DEBUGP(DMSC, "Found matching audio type: %s %s for channel_type =" - " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), - ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - } + req->n_ch_mode_rate = nc; + return 0; } +static int select_sign_chan(struct assignment_request *req, struct gsm0808_channel_type *ct) +{ + int i, nc = 0; + + switch (ct->ch_rate_type) { + case GSM0808_SIGN_ANY: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + case GSM0808_SIGN_SDCCH: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + break; + case GSM0808_SIGN_SDCCH_FULL_BM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + case GSM0808_SIGN_SDCCH_HALF_LM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + break; + case GSM0808_SIGN_FULL_BM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + case GSM0808_SIGN_HALF_LM: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + break; + case GSM0808_SIGN_FULL_PREF: + case GSM0808_SIGN_FULL_PREF_NO_CHANGE: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + break; + case GSM0808_SIGN_HALF_PREF: + case GSM0808_SIGN_HALF_PREF_NO_CHANGE: + req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; + req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; + break; + default: + break; + } + + for (i = 0; i < nc; i++) + req->ch_mode_rate[i].chan_mode = GSM48_CMODE_SIGN; + + req->n_ch_mode_rate = nc; + + return nc > 0 ? 0 : -EINVAL; +} + /* * Handle the assignment request message. * @@ -728,7 +756,6 @@ uint8_t cause; int rc; struct assignment_request req = {}; - struct channel_mode_and_rate ch_mode_rate_pref = {}; if (!conn) { LOGP(DMSC, LOGL_ERROR, @@ -849,14 +876,15 @@ } break; case GSM0808_CHAN_SIGN: - ch_mode_rate_pref = (struct channel_mode_and_rate) { - .chan_mode = GSM48_CMODE_SIGN, - }; - req = (struct assignment_request){ .aoip = aoip, - .ch_mode_rate_pref = ch_mode_rate_pref, }; + + rc = select_sign_chan(&req, &ct); + if (rc < 0) { + cause = GSM0808_CAUSE_INCORRECT_VALUE; + goto reject; + } break; default: cause = GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS; diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c index bb5468a..ce82f3d 100644 --- a/tests/codec_pref/codec_pref_test.c +++ b/tests/codec_pref/codec_pref_test.c @@ -407,7 +407,7 @@ rc = match_codec_pref(&ch_mode_rate, ct, scl, msc, bts, RATE_PREF_NONE); printf(" * result: rc=%i, full_rate=%i, s15_s0=%04x, chan_mode=%s\n", - rc, ch_mode_rate.full_rate, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); + rc, ch_mode_rate.chan_rate == CH_RATE_FULL, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); printf("\n"); -- To view, visit https://gerrit.osmocom.org/13172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4c7499c8c866ea3ff7b1327edb3615d003d927d3 Gerrit-Change-Number: 13172 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:09:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 09:09:45 +0000 Subject: Change in osmo-pcu[master]: Debian: bump copyright year In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13240 ) Change subject: Debian: bump copyright year ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 14 Mar 2019 09:09:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:10:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 09:10:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 14 Mar 2019 09:10:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:10:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 09:10:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: add tests to validate IPv4v6 pdp ctx In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13231 ) Change subject: ggsn: add tests to validate IPv4v6 pdp ctx ...................................................................... ggsn: add tests to validate IPv4v6 pdp ctx Add related templates based on 3GPP TS 29.060 Figure 37A and create tests based on existing IPv4 and v6 ones. Related: OS#2900 Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 --- M ggsn_tests/GGSN_Tests.ttcn M library/GTP_Templates.ttcn 2 files changed, 198 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 3c99fd9..398aed3 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -257,6 +257,10 @@ not match(cpr.endUserAddress, tr_EuaIPv6(?))) { setverdict(fail); } + if (match(ctx.eua, t_EuaIPv4v6(?, ?)) and + not match(cpr.endUserAddress, tr_EuaIPv4v6(?, ?))) { + setverdict(fail); + } /* Check if PCO response corresponds to request */ if (ispresent(ctx.pco_req)) { if (match(ctx.pco_req, ts_PCO_IPv4_DNS_CONT) and @@ -697,6 +701,21 @@ f_wait_icmp6(ctx, (tr_ICMPv6_ERP,tr_ICMPv6_DU)); } + /* create ICMPv6 router solicitation deriving link-id from PDP Context EUA */ + function f_icmpv6_rs_for_pdp46(in PdpContext ctx) return octetstring { + var OCT16 interface_id := ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address; + return f_gen_icmpv6_router_solicitation(interface_id); + } + + /* generate and encode ICMPv6 neighbor solicitation for PDP Context */ + function f_gen_icmpv6_neigh_solicit_for_pdp46(in PdpContext ctx) return octetstring { + var OCT16 interface_id := ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address; + var OCT16 link_local := f_ipv6_link_local(interface_id); + var OCT16 daddr := f_ipv6_sol_node_mcast(link_local); + + return f_gen_icmpv6_neigh_solicit(link_local, daddr, link_local); + } + /* Assert we don't receive a ICMPv4/6 echo reply (or unreachable) from GTP */ function f_wait_gtpu_fail(PdpContext ctx) runs on GT_CT { T_default.start; @@ -1028,6 +1047,154 @@ f_pdp_ctx_del(ctx, '1'B); } + /* Test IPv4v6 context activation for dynamic IPv4v6 EUA without DNS request */ + testcase TC_pdp46_act_deact() runs on GT_CT { + f_init(); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + f_pdp_ctx_act(ctx); + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test PDP context activation for dynamic IPv4v6 EUA with IPv4 DNS in IPCP */ + testcase TC_pdp46_act_deact_ipcp() runs on GT_CT { + f_init(); + var OCT4 ggsn_ip4_dns1 := f_inet_addr(m_ggsn_ip4_dns1); + var OCT4 ggsn_ip4_dns2 := f_inet_addr(m_ggsn_ip4_dns2); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv4_DNS_IPCP); + f_pdp_ctx_act(ctx); + /* verify IPCP is at all contained */ + if (not match(ctx.pco_neg, tr_PCO_Contains('8021'O))) { + setverdict(fail, "IPCP not found in PCO"); + } + /* verify IPCP contains both primary and secondary IPv4 DNS */ + var IpcpPacket ipcp := dec_IpcpPacket(f_PCO_extract_proto(ctx.pco_neg, '8021'O)); + if (not match(ipcp, tr_IPCP_Ack_DNS(0, ggsn_ip4_dns1, ggsn_ip4_dns2))) { + if (not match(ipcp, tr_IPCP_Ack_DNS(0))) { + setverdict(fail, "Primary/Secondary DNS PCO IPCP option not found"); + } else { + setverdict(fail, "Primary/Secondary DNS PCO IPCP option found but not matching expected values"); + } + } + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test PDP context activation for dynamic IPv4v6 EUA with IPv6 DNS in PCO and router solicitation/advertisement */ + testcase TC_pdp46_act_deact_icmp6() runs on GT_CT { + f_init(); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv6_DNS); + f_pdp_ctx_act(ctx); + + f_send_gtpu(ctx, f_icmpv6_rs_for_pdp46(ctx)); + f_wait_rtr_adv(ctx); + f_send_gtpu(ctx, f_gen_icmpv6_neigh_solicit_for_pdp46(ctx)); + + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test IPv4v6 context activation for dynamic IPv4v6 EUA with request of IPv4 DNS in PCO */ + testcase TC_pdp46_act_deact_pcodns4() runs on GT_CT { + f_init(); + + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv4_DNS_CONT); + f_pdp_ctx_act(ctx); + + /* verify PCO contains both primary and secondary IPv4 DNS */ + var OCT4 ggsn_ip4_dns1 := f_inet_addr(m_ggsn_ip4_dns1); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '000d'O, 1), ggsn_ip4_dns1)) { + setverdict(fail, "Primary DNS IPv4 PCO option not found"); + } + + var OCT4 ggsn_ip4_dns2 := f_inet_addr(m_ggsn_ip4_dns2); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '000d'O, 2), ggsn_ip4_dns2)) { + setverdict(fail, "Secondary DNS IPv4 PCO option not found"); + } + + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test IPv4v6 context activation for dynamic IPv4v6 EUA with request of IPv6 DNS in PCO */ + testcase TC_pdp46_act_deact_pcodns6() runs on GT_CT { + f_init(); + + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv6_DNS); + f_pdp_ctx_act(ctx); + + /* verify PCO contains both primary and secondary IPv6 DNS */ + var OCT4 ggsn_ip6_dns1 := f_inet6_addr(m_ggsn_ip6_dns1); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '0003'O, 1), ggsn_ip6_dns1)) { + setverdict(fail, "Primary DNS IPv6 PCO option not found"); + } + + var OCT4 ggsn_ip6_dns2 := f_inet6_addr(m_ggsn_ip6_dns2); + if (not match(f_PCO_extract_proto(ctx.pco_neg, '0003'O, 2), ggsn_ip6_dns2)) { + setverdict(fail, "Secondary DNS IPv6 PCO option not found"); + } + + f_pdp_ctx_del(ctx, '1'B); + } + + /* Test PDP context activation for dynamic IPv4v6 EUA. + Test we can send ICMPv6 ping over GTPU to DNS server. */ + testcase TC_pdp46_act_deact_gtpu_access() runs on GT_CT { + f_init(); + var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + ctx.pco_req := valueof(ts_PCO_IPv4_DNS_CONT); + f_pdp_ctx_act(ctx); + + var OCT4 dns1_addr := f_PCO_extract_proto(ctx.pco_neg, '000d'O); + + /* Check if we can use valid global src addr, should work */ + var OCT4 saddr := ctx.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv4_address; + f_send_gtpu(ctx, f_gen_icmpv4_echo(saddr, dns1_addr)); + f_wait_icmp4_echo_reply(ctx); + + /* Assert that packets with wrong global src addr are dropped by GGSN */ + var OCT4 saddr_wrong := substr(saddr, 0, 3) & (saddr[3] xor4b '11'O); + f_send_gtpu(ctx, f_gen_icmpv4_echo(saddr_wrong, dns1_addr)); + f_wait_gtpu_fail(ctx); + + /* Send an IPv6 RA to APN4, should fail (packet dropped) */ + var OCT16 saddr_v6 := f_inet6_addr("fde4:8dba:82e1:2000:1:2:3:4"); + f_send_gtpu(ctx, f_gen_icmpv6_router_solicitation(saddr_v6)); + f_wait_gtpu_fail(ctx); + f_pdp_ctx_del(ctx, '1'B); + } + + /* Validate if different clients (pdp ctx) can reach one another through GGSN. */ + testcase TC_pdp46_clients_interact() runs on GT_CT { + f_init(); + var PdpContext ctxA := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + var PdpContext ctxB := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInet46, valueof(t_EuaIPv4Dynv6Dyn))); + f_pdp_ctx_act(ctxA); + f_send_gtpu(ctxA, f_icmpv6_rs_for_pdp46(ctxA)); + f_wait_rtr_adv(ctxA); + f_send_gtpu(ctxA, f_gen_icmpv6_neigh_solicit_for_pdp46(ctxA)); + + f_pdp_ctx_act(ctxB); + f_send_gtpu(ctxB, f_icmpv6_rs_for_pdp46(ctxB)); + f_wait_rtr_adv(ctxB); + f_send_gtpu(ctxB, f_gen_icmpv6_neigh_solicit_for_pdp46(ctxB)); + + var OCT16 addrA_ll := f_ipv6_link_local(ctxA.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + var OCT16 addrB_ll := f_ipv6_link_local(ctxB.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + var OCT16 addrA_glob := f_ipv6_global(ctxA.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + var OCT16 addrB_glob := f_ipv6_global(ctxB.eua.endUserAddress.endUserAddressIPv4andIPv6.ipv6_address); + + /* Validate if clients can interact using ll addr. */ + f_send_gtpu(ctxA, f_gen_icmpv6_echo(addrA_ll, addrB_ll)); + f_wait_gtpu_fail(ctxB); + + /* Validate if clients can interact using global addr. */ + f_send_gtpu(ctxA, f_gen_icmpv6_echo(addrA_glob, addrB_glob)); + f_wait_gtpu_fail(ctxB); + + f_pdp_ctx_del(ctxA, '1'B); + } + control { execute(TC_pdp4_act_deact()); execute(TC_pdp4_act_deact_ipcp()); @@ -1044,6 +1211,14 @@ execute(TC_pdp6_act_deact_gtpu_access()); execute(TC_pdp6_clients_interact()); + execute(TC_pdp46_act_deact()); + execute(TC_pdp46_act_deact_ipcp()); + execute(TC_pdp46_act_deact_icmp6()); + execute(TC_pdp46_act_deact_pcodns4()); + execute(TC_pdp46_act_deact_pcodns6()); + execute(TC_pdp46_act_deact_gtpu_access()); + execute(TC_pdp46_clients_interact()); + execute(TC_echo_req_resp()); } } diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn index 018f6da..bd39e27 100644 --- a/library/GTP_Templates.ttcn +++ b/library/GTP_Templates.ttcn @@ -161,6 +161,29 @@ } } + /* 3GPP TS 29.060 Figure 37A: End User Address Information Element for IPv4v6 (both static) */ + template EndUserAddress t_EuaIPv4v6(template OCT4 ip_addr4, template OCT16 ip_addr6) := { + type_gtpc := '80'O, + endUserAddress := { + endUserAddressIPv4andIPv6 := { + lengthf := 2, + pdp_typeorg := '0001'B, + spare := '1111'B, + pdp_typenum := '8D'O, + ipv4_address := ip_addr4, + ipv6_address := ip_addr6 + } + } + } + template EndUserAddress t_EuaIPv4Dynv6Dyn := t_EuaIPv4v6(omit, omit); + template EndUserAddress tr_EuaIPv4v6(template OCT4 ip_addr4, template OCT16 ip_addr6) modifies t_EuaIPv4v6 := { + endUserAddress := { + endUserAddressIPv4andIPv6 := { + lengthf := 2+lengthof(ip_addr4)+lengthof(ip_addr6) + } + } + } + template AccessPointName ts_APN(octetstring apn) := { type_gtpc := '83'O, lengthf := lengthof(apn), -- To view, visit https://gerrit.osmocom.org/13231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234 Gerrit-Change-Number: 13231 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:29:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 09:29:44 +0000 Subject: Change in osmo-pcu[master]: Debian: bump copyright year In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13240 ) Change subject: Debian: bump copyright year ...................................................................... Debian: bump copyright year Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 --- M debian/copyright 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/debian/copyright b/debian/copyright index 5bb2110..2e800a7 100644 --- a/debian/copyright +++ b/debian/copyright @@ -6,7 +6,7 @@ Files: * Copyright: 2009-2015 Holger Hans Peter Freyther 2013 Jacob Erlbeck - 2016-2017 sysmocom s.m.f.c. GmbH + 2016-2019 sysmocom s.m.f.c. GmbH 2015 by Yves Godin License: AGPL-3.0+ @@ -22,7 +22,7 @@ src/pcu_utils.h src/gprs_codel.c src/gprs_codel.h -Copyright: 2016-2017 sysmocom s.m.f.c. GmbH +Copyright: 2016-2019 sysmocom s.m.f.c. GmbH License: GPL-2.0+ Files: osmoappdesc.py -- To view, visit https://gerrit.osmocom.org/13240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875 Gerrit-Change-Number: 13240 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:33:14 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 09:33:14 +0000 Subject: Change in libosmo-netif[master]: amr_test: add to .gitignore, use -noinstall flag In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: amr_test: add to .gitignore, use -noinstall flag ...................................................................... Patch Set 1: > I'm not sure with what the "no-install" LDFLAGS do, and I would therefore (humbly) guess that I'm not the only one. It might be worth one sentence inthe commit log. https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html - reference for "no-install" flag. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Thu, 14 Mar 2019 09:33:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:39:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 09:39:57 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 107 PS1, Line 107: } rtp_addr; > I'm not convinced ... [?] I was thinking about libmsc - the same way a_iface_tx_assignment() is shared for example. Anyway, not a merge blocker. -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 14 Mar 2019 09:39:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:56:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 09:56:37 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: Hello dexter, Alexander Huemer, steve-m, Max, Harald Welte, Jenkins Builder, Pablo Neira Ayuso, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13241 to look at the new patch set (#2). Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... tests: AM_LDFLAGS = -noinstall for all tests Fix a symbol lookup error when building a new test on systems where a previous libosmonetfix.so is installed. Symptoms described here in detail: https://osmocom.org/issues/3812#note-10 -no-install causes libtool to generate output files that link against libraries in the build tree, instead of linking against the future installation paths and generating a wrapper script. The wrapper script should override the library paths, but at least on Debian, it does not work as it should. Test binaries won't be installed anyway, so we can safely use -no-install and work around the problem. See also: https://autotools.io/libtool/wrappers.html https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html Related: OS#3812 Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d --- M tests/Makefile.am 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/41/13241/2 -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: steve-m -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 09:56:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 09:56:38 +0000 Subject: Change in libosmo-netif[master]: gitignore: add amr_test Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13247 Change subject: gitignore: add amr_test ...................................................................... gitignore: add amr_test Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/47/13247/1 diff --git a/.gitignore b/.gitignore index e2f2fb9..23d5b42 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ jibuf_tool osmux_test2 stream_test +amr_test -- To view, visit https://gerrit.osmocom.org/13247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 Gerrit-Change-Number: 13247 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 10:00:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 10:00:50 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 2: > Personally I'd prefer to just enable '-no-install' globally for all the tests by default and be done with it. Good idea, updated the patch to do that. > I'm not sure with what the "no-install" LDFLAGS do, and I would therefore (humbly) guess that I'm not the only one. It might be worth one sentence inthe commit log. Commit message updated to include a description. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Thu, 14 Mar 2019 10:00:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 10:05:55 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 10:05:55 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 3: (2 comments) Fixed in latest patch set. https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 196 PS1, Line 196: > Rather sizeof(*ct), so it would be safe to rename 'gsm0808_channel_type' symbol later on... [?] Ack https://gerrit.osmocom.org/#/c/13242/1/src/libmsc/silent_call.c at 199 PS1, Line 199: > Are you sure it would calculate the size of the string buffer and not the size of pointer? (Personal [?] I am sure. -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 14 Mar 2019 10:05:55 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 10:46:30 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 10:46:30 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13241/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13241/2//COMMIT_MSG at 10 PS2, Line 10: a previous libosmonetfix.so is installed. Symptoms described here in libosmo-netif? -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Thu, 14 Mar 2019 10:46:30 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 10:46:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 10:46:56 +0000 Subject: Change in libosmo-netif[master]: gitignore: add amr_test In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13247 ) Change subject: gitignore: add amr_test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 Gerrit-Change-Number: 13247 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 10:46:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 11:45:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 11:45:47 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: Hello dexter, Alexander Huemer, steve-m, Max, Harald Welte, Jenkins Builder, Pablo Neira Ayuso, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13241 to look at the new patch set (#3). Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... tests: AM_LDFLAGS = -noinstall for all tests Fix a symbol lookup error when building a new test on systems where a previous libosmonetif.so is installed. Symptoms described here in detail: https://osmocom.org/issues/3812#note-10 -no-install causes libtool to generate output files that link against libraries in the build tree, instead of linking against the future installation paths and generating a wrapper script. The wrapper script should override the library paths, but at least on Debian, it does not work as it should. Test binaries won't be installed anyway, so we can safely use -no-install and work around the problem. See also: https://autotools.io/libtool/wrappers.html https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html Related: OS#3812 Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d --- M tests/Makefile.am 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/41/13241/3 -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 11:46:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 11:46:22 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13241/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13241/2//COMMIT_MSG at 10 PS2, Line 10: a previous libosmonetfix.so is installed. Symptoms described here in > libosmo-netif? lol, fixed. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Thu, 14 Mar 2019 11:46:22 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:00:13 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 12:00:13 +0000 Subject: Change in libosmo-netif[master]: gitignore: add amr_test In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13247 ) Change subject: gitignore: add amr_test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 Gerrit-Change-Number: 13247 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 12:00:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:02:25 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 12:02:25 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Comment-Date: Thu, 14 Mar 2019 12:02:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:02:41 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 12:02:41 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 12:02:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:03:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 12:03:11 +0000 Subject: Change in libosmo-netif[master]: gitignore: add amr_test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13247 ) Change subject: gitignore: add amr_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 Gerrit-Change-Number: 13247 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 12:03:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:03:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 12:03:14 +0000 Subject: Change in libosmo-netif[master]: gitignore: add amr_test In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13247 ) Change subject: gitignore: add amr_test ...................................................................... gitignore: add amr_test Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index e2f2fb9..23d5b42 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ jibuf_tool osmux_test2 stream_test +amr_test -- To view, visit https://gerrit.osmocom.org/13247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1ea7aad144a505412969c6c301349f8d47964422 Gerrit-Change-Number: 13247 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:03:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 12:03:27 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 12:03:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:03:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 14 Mar 2019 12:03:29 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... tests: AM_LDFLAGS = -noinstall for all tests Fix a symbol lookup error when building a new test on systems where a previous libosmonetif.so is installed. Symptoms described here in detail: https://osmocom.org/issues/3812#note-10 -no-install causes libtool to generate output files that link against libraries in the build tree, instead of linking against the future installation paths and generating a wrapper script. The wrapper script should override the library paths, but at least on Debian, it does not work as it should. Test binaries won't be installed anyway, so we can safely use -no-install and work around the problem. See also: https://autotools.io/libtool/wrappers.html https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html Related: OS#3812 Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d --- M tests/Makefile.am 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Max: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/Makefile.am b/tests/Makefile.am index 36447be..dd7703a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,5 +1,5 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g -AM_LDFLAGS = $(LIBOSMOCORE_LDFLAGS) +AM_LDFLAGS = $(LIBOSMOCORE_LDFLAGS) -no-install check_PROGRAMS = osmux/osmux_test osmux/osmux_test2 stream/stream_test jibuf/jibuf_test amr/amr_test check_HEADERS = @@ -12,7 +12,6 @@ stream_stream_test_SOURCES = stream/stream_test.c stream_stream_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la -stream_stream_test_LDFLAGS = -no-install jibuf_jibuf_test_SOURCES = jibuf/jibuf_test.c jibuf_jibuf_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:26:33 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 14 Mar 2019 12:26:33 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 12:26:33 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:28:47 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 12:28:47 +0000 Subject: Change in osmo-dev[master]: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13235 ) Change subject: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 Gerrit-Change-Number: 13235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 12:28:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:28:57 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 12:28:57 +0000 Subject: Change in osmo-dev[master]: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13235 ) Change subject: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 Gerrit-Change-Number: 13235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 12:28:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:28:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 12:28:58 +0000 Subject: Change in osmo-dev[master]: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13235 ) Change subject: run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage ...................................................................... run.sh: fix $TO_RAN_IP and $TO_RAN_IU_IP usage Add curly braces around both variables, so they get replaced properly again. Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 --- M net/templates/run.sh 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, but someone else must approve Neels Hofmeyr: Looks good to me, approved; Verified diff --git a/net/templates/run.sh b/net/templates/run.sh index 804262a..3244b11 100755 --- a/net/templates/run.sh +++ b/net/templates/run.sh @@ -27,14 +27,14 @@ sudo ip link set $apn up fi -if [ -z "$(ip addr show | grep "$TO_RAN_IP")" ]; then - echo "No interface has IP address $TO_RAN_IP! Hit enter to continue anyway." +if [ -z "$(ip addr show | grep "${TO_RAN_IP}")" ]; then + echo "No interface has IP address ${TO_RAN_IP}! Hit enter to continue anyway." read enter_to_continue fi -if [ -z "$(ip addr show | grep "$TO_RAN_IU_IP")" ]; then - echo "No interface has IP address $TO_RAN_IU_IP! Hit enter to 'ip addr add $TO_RAN_IU_IP/32 dev $dev'" +if [ -z "$(ip addr show | grep "${TO_RAN_IU_IP}")" ]; then + echo "No interface has IP address ${TO_RAN_IU_IP}! Hit enter to 'ip addr add ${TO_RAN_IU_IP}/32 dev $dev'" read enter_to_continue - sudo ip addr add $TO_RAN_IU_IP/32 dev $dev + sudo ip addr add ${TO_RAN_IU_IP}/32 dev $dev fi logdir="current_log" -- To view, visit https://gerrit.osmocom.org/13235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1f0f749b74fe5fd3982e045283735151f69c2487 Gerrit-Change-Number: 13235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:39:28 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 12:39:28 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 12:39:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 12:39:31 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 12:39:31 +0000 Subject: Change in osmo-msc[master]: libmsc: Allow different channel types to be requested as silent calls In-Reply-To: References: Message-ID: tnt has submitted this change and it was merged. ( https://gerrit.osmocom.org/13242 ) Change subject: libmsc: Allow different channel types to be requested as silent calls ...................................................................... libmsc: Allow different channel types to be requested as silent calls Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 --- M include/osmocom/msc/silent_call.h M src/libmsc/msc_vty.c M src/libmsc/silent_call.c 3 files changed, 160 insertions(+), 23 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve tnt: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/msc/silent_call.h b/include/osmocom/msc/silent_call.h index 70324e5..ca36052 100644 --- a/include/osmocom/msc/silent_call.h +++ b/include/osmocom/msc/silent_call.h @@ -2,9 +2,12 @@ #define _SILENT_CALL_H struct ran_conn; +struct gsm0808_channel_type; extern int gsm_silent_call_start(struct vlr_subscr *vsub, - void *data, int type); + const struct gsm0808_channel_type *ct, + const char *traffic_dst_ip, uint16_t traffic_dst_port, + void *data); extern int gsm_silent_call_stop(struct vlr_subscr *vsub); #if 0 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index ac3946a..6404ee9 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -1066,21 +1066,35 @@ return rc; } -#define CHAN_TYPES "(any|tch/f|tch/any|sdcch)" +#define CHAN_TYPES "(any|tch/f|tch/h|tch/any|sdcch)" #define CHAN_TYPE_HELP \ "Any channel\n" \ "TCH/F channel\n" \ + "TCH/H channel\n" \ "Any TCH channel\n" \ "SDCCH channel\n" +#define CHAN_MODES "(signalling|speech-hr|speech-fr|speech-efr|speech-amr)" +#define CHAN_MODE_HELP \ + "Signalling only\n" \ + "Speech with HR codec\n" \ + "Speech with FR codec\n" \ + "Speech with EFR codec\n" \ + "Speech with AMR codec\n" + DEFUN(subscriber_silent_call_start, subscriber_silent_call_start_cmd, - "subscriber " SUBSCR_TYPES " ID silent-call start (any|tch/f|tch/any|sdcch)", + "subscriber " SUBSCR_TYPES " ID silent-call start " CHAN_TYPES " " CHAN_MODES " [IP] [<0-65535>]", SUBSCR_HELP "Silent call operation\n" "Start silent call\n" - CHAN_TYPE_HELP) + CHAN_TYPE_HELP CHAN_MODE_HELP + "Target IP for RTP traffic (default 127.0.0.1)\n" + "Target port for RTP traffic (default: 4000)\n") { struct vlr_subscr *vsub = get_vsub_by_argv(gsmnet, argv[0], argv[1]); - int rc, type; + struct gsm0808_channel_type ct; + const char *ip; + uint16_t port; + int rc, speech; if (!vsub) { vty_out(vty, "%% No subscriber found for %s %s%s", @@ -1088,16 +1102,52 @@ return CMD_WARNING; } - if (!strcmp(argv[2], "tch/f")) - type = RSL_CHANNEED_TCH_F; - else if (!strcmp(argv[2], "tch/any")) - type = RSL_CHANNEED_TCH_ForH; - else if (!strcmp(argv[2], "sdcch")) - type = RSL_CHANNEED_SDCCH; - else - type = RSL_CHANNEED_ANY; /* Defaults to ANY */ + memset(&ct, 0x00, sizeof(ct)); - rc = gsm_silent_call_start(vsub, vty, type); + if (!strcmp(argv[3], "signalling")) { + ct.ch_indctr = GSM0808_CHAN_SIGN; + ct.perm_spch[0] = 0; /* Spare but required */ + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-hr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_HR1; + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-fr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_FR1; + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-efr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_FR2; + ct.perm_spch_len = 1; + } else if (!strcmp(argv[3], "speech-amr")) { + ct.ch_indctr = GSM0808_CHAN_SPEECH; + ct.perm_spch[0] = GSM0808_PERM_FR3; + ct.perm_spch[1] = GSM0808_PERM_HR3; + ct.perm_spch_len = 2; + } + + speech = ct.ch_indctr == GSM0808_CHAN_SPEECH; + + if (!strcmp(argv[2], "tch/f")) + ct.ch_rate_type = speech ? GSM0808_SPEECH_FULL_BM : GSM0808_SIGN_FULL_BM; + else if (!strcmp(argv[2], "tch/h")) + ct.ch_rate_type = speech ? GSM0808_SPEECH_HALF_LM : GSM0808_SIGN_HALF_LM; + else if (!strcmp(argv[2], "tch/any")) + ct.ch_rate_type = speech ? GSM0808_SPEECH_FULL_PREF : GSM0808_SIGN_FULL_PREF; + else if (!strcmp(argv[2], "sdcch")) { + if (speech) { + vty_out(vty, "Can't request speech on SDCCH%s", VTY_NEWLINE); + return CMD_WARNING; + } + ct.ch_rate_type = GSM0808_SIGN_SDCCH; + } else + ct.ch_rate_type = speech ? GSM0808_SPEECH_FULL_PREF : GSM0808_SIGN_ANY; + + ip = argc >= 5 ? argv[4] : "127.0.0.1"; + port = argc >= 6 ? atoi(argv[5]) : 4000; + + rc = gsm_silent_call_start(vsub, &ct, ip, port, vty); switch (rc) { case -ENODEV: vty_out(vty, "%% Subscriber not attached%s", VTY_NEWLINE); diff --git a/src/libmsc/silent_call.c b/src/libmsc/silent_call.c index 2a9fa9c..7effba3 100644 --- a/src/libmsc/silent_call.c +++ b/src/libmsc/silent_call.c @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -31,13 +32,37 @@ #include #include +#include + +struct silent_call_data { + struct gsm0808_channel_type ct; + + char traffic_ip[INET_ADDRSTRLEN]; + uint16_t traffic_port; + + void *data; + + struct osmo_timer_list timer; + struct ran_conn *conn; +}; + +static void timer_cb(void *data) +{ + struct silent_call_data *scd = (struct silent_call_data *)data; + ran_conn_communicating(scd->conn); + talloc_free(scd); +} + /* paging of the requested subscriber has completed */ static int paging_cb_silent(unsigned int hooknum, unsigned int event, struct msgb *msg, void *_conn, void *_data) { + struct silent_call_data *scd = (struct silent_call_data *)_data; struct ran_conn *conn = _conn; struct scall_signal_data sigdata; + struct msgb *msg_ass; int rc = 0; + int i; if (hooknum != GSM_HOOK_RR_PAGING) return -EINVAL; @@ -45,7 +70,7 @@ DEBUGP(DLSMS, "paging_cb_silent: "); sigdata.conn = conn; - sigdata.data = _data; + sigdata.data = scd->data; switch (event) { case GSM_PAGING_SUCCEEDED: @@ -56,10 +81,52 @@ conn->lchan->ts->nr, conn->lchan->ts->trx->arfcn); #endif conn->silent_call = 1; + + /* Increment lchan reference count and mark as active*/ ran_conn_get(conn, RAN_CONN_USE_SILENT_CALL); - /* increment lchan reference count */ + + /* Schedule a timer to mark it as active */ + /* This is a hack we we can't call ran_conn_communicating + * from here because we're in the call back context of + * a RAN FSM event but before it actually changes its own + * state and it's not ready to accept this. + * Of all alternatives considered, making the call in an + * 'immediate timer' is the least disruptive and least ugly + * way to do it I could find. + */ + scd->conn = conn; + osmo_timer_setup(&scd->timer, timer_cb, scd); + osmo_timer_schedule(&scd->timer, 0, 0); + + /* Manually craft an assignement message with requested mode */ + if (scd->ct.ch_indctr == GSM0808_CHAN_SPEECH) { + struct gsm0808_speech_codec_list scl; + union { + struct sockaddr_storage st; + struct sockaddr_in in; + } rtp_addr; + + memset(&rtp_addr, 0, sizeof(rtp_addr)); + rtp_addr.in.sin_family = AF_INET; + rtp_addr.in.sin_port = osmo_htons(scd->traffic_port); + rtp_addr.in.sin_addr.s_addr = inet_addr(scd->traffic_ip); + + for (i = 0; i < scd->ct.perm_spch_len; i++) + gsm0808_speech_codec_from_chan_type(&scl.codec[i], scd->ct.perm_spch[i]); + scl.len = scd->ct.perm_spch_len; + + msg_ass = gsm0808_create_ass(&scd->ct, NULL, &rtp_addr.st, &scl, NULL); + } else { + msg_ass = gsm0808_create_ass(&scd->ct, NULL, NULL, NULL, NULL); + } + + /* Send assignement message, hoping it will work */ + osmo_sccp_tx_data_msg(conn->a.scu, conn->a.conn_id, msg_ass); + + /* Signal completion */ osmo_signal_dispatch(SS_SCALL, S_SCALL_SUCCESS, &sigdata); - break; + return 0; + case GSM_PAGING_EXPIRED: case GSM_PAGING_BUSY: DEBUGP(DLSMS, "expired\n"); @@ -70,6 +137,8 @@ break; } + talloc_free(scd); + return rc; } @@ -120,18 +189,33 @@ /* initiate a silent call with a given subscriber */ -int gsm_silent_call_start(struct vlr_subscr *vsub, void *data, int type) +int gsm_silent_call_start(struct vlr_subscr *vsub, + const struct gsm0808_channel_type *ct, + const char *traffic_dst_ip, uint16_t traffic_dst_port, + void *data) { struct subscr_request *req; + struct silent_call_data *scd; - /* FIXME the VTY command allows selecting a silent call channel type. - * This doesn't apply to the situation after MSCSPLIT with an - * A-interface. */ - req = subscr_request_conn(vsub, paging_cb_silent, data, + scd = talloc_zero(vsub, struct silent_call_data); + + memcpy(&scd->ct, ct, sizeof(scd->ct)); + + if (traffic_dst_ip) { + strncpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); + scd->traffic_port = traffic_dst_port; + } + + scd->data = data; + + req = subscr_request_conn(vsub, paging_cb_silent, scd, "establish silent call", SGSAP_SERV_IND_CS_CALL); - if (!req) + if (!req) { + talloc_free(scd); return -ENODEV; + } + return 0; } -- To view, visit https://gerrit.osmocom.org/13242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I82645708dd27864cf33ea9cc993ead0983415602 Gerrit-Change-Number: 13242 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 13:21:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 13:21:19 +0000 Subject: Change in osmo-bsc[master]: Move LCLS references from gsm_data to osmo_bsc_lcls In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13220 ) Change subject: Move LCLS references from gsm_data to osmo_bsc_lcls ...................................................................... Move LCLS references from gsm_data to osmo_bsc_lcls This commit aims at better ordering of content in order to get rid of sigtran stuff in gsm_data. This way we can avoid requiring libosmo-sigtran when building ipaccess utils. Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/osmo_bsc_lcls.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_lcls.c 4 files changed, 24 insertions(+), 20 deletions(-) Approvals: Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 0c2094e..9f2d7d8 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -29,6 +29,7 @@ #define _OSMO_MSC_DATA_H #include "debug.h" +#include "osmo_bsc_lcls.h" #include #include @@ -53,19 +54,6 @@ MSC_CON_TYPE_LOCAL, }; -enum bsc_lcls_mode { - BSC_LCLS_MODE_DISABLED, - BSC_LCLS_MODE_MGW_LOOP, - BSC_LCLS_MODE_BTS_LOOP, -}; - -extern const struct value_string bsc_lcls_mode_names[]; - -static inline const char *bsc_lcls_mode_name(enum bsc_lcls_mode m) -{ - return get_value_string(bsc_lcls_mode_names, m); -} - /*! /brief Information on a remote MSC for libbsc. */ struct bsc_msc_data { diff --git a/include/osmocom/bsc/osmo_bsc_lcls.h b/include/osmocom/bsc/osmo_bsc_lcls.h index d98fe98..8bbd552 100644 --- a/include/osmocom/bsc/osmo_bsc_lcls.h +++ b/include/osmocom/bsc/osmo_bsc_lcls.h @@ -1,4 +1,7 @@ #pragma once + +#include "gsm_data.h" + #include enum lcls_fsm_state { @@ -29,6 +32,19 @@ LCLS_EV_OTHER_DEAD, }; +enum bsc_lcls_mode { + BSC_LCLS_MODE_DISABLED, + BSC_LCLS_MODE_MGW_LOOP, + BSC_LCLS_MODE_BTS_LOOP, +}; + +extern const struct value_string bsc_lcls_mode_names[]; + +static inline const char *bsc_lcls_mode_name(enum bsc_lcls_mode m) +{ + return get_value_string(bsc_lcls_mode_names, m); +} + enum gsm0808_lcls_status lcls_get_status(const struct gsm_subscriber_connection *conn); void lcls_update_config(struct gsm_subscriber_connection *conn, diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0492571..0198fcf 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -46,13 +47,6 @@ void *tall_bsc_ctx = NULL; -const struct value_string bsc_lcls_mode_names[] = { - { BSC_LCLS_MODE_DISABLED, "disabled" }, - { BSC_LCLS_MODE_MGW_LOOP, "mgw-loop" }, - { BSC_LCLS_MODE_BTS_LOOP, "bts-loop" }, - { 0, NULL } -}; - static LLIST_HEAD(bts_models); void set_ts_e1link(struct gsm_bts_trx_ts *ts, uint8_t e1_nr, diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index f7b84e1..c1f62dc 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -42,6 +42,12 @@ { 0, NULL } }; +const struct value_string bsc_lcls_mode_names[] = { + { BSC_LCLS_MODE_DISABLED, "disabled" }, + { BSC_LCLS_MODE_MGW_LOOP, "mgw-loop" }, + { BSC_LCLS_MODE_BTS_LOOP, "bts-loop" }, + { 0, NULL } +}; /*********************************************************************** * Utility functions -- To view, visit https://gerrit.osmocom.org/13220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8941f059d6e4eb21a971d48d2b66c29ec3355a6d Gerrit-Change-Number: 13220 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 14:58:30 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 14:58:30 +0000 Subject: Change in osmo-ggsn[master]: Don't return error on normal shutdown Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13249 Change subject: Don't return error on normal shutdown ...................................................................... Don't return error on normal shutdown Previously we've always returned error code from main() even in case of regular expected shutdown. Let's not confuse it with actual error shutdown and return 0 by default. Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 --- M ggsn/ggsn.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/49/13249/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 39695b9..dd723e9 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -1158,5 +1158,5 @@ llist_for_each_entry(ggsn, &g_ggsn_list, list) ggsn_stop(ggsn); - return 1; + return 0; } -- To view, visit https://gerrit.osmocom.org/13249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 Gerrit-Change-Number: 13249 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:21:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 15:21:02 +0000 Subject: Change in osmo-ggsn[master]: Don't return error on normal shutdown In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13249 ) Change subject: Don't return error on normal shutdown ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 Gerrit-Change-Number: 13249 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 15:21:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:26:32 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 Mar 2019 15:26:32 +0000 Subject: Change in osmo-ggsn[master]: Don't return error on normal shutdown In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13249 ) Change subject: Don't return error on normal shutdown ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 Gerrit-Change-Number: 13249 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 15:26:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:26:54 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 14 Mar 2019 15:26:54 +0000 Subject: Change in osmo-ggsn[master]: Don't return error on normal shutdown In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13249 ) Change subject: Don't return error on normal shutdown ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 Gerrit-Change-Number: 13249 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 15:26:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:30:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 15:30:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log PCU socket path on errors Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13250 Change subject: Log PCU socket path on errors ...................................................................... Log PCU socket path on errors Change-Id: I5a4a7c9dc630ecd6fc0ca7a21d4b528d811edd06 --- M library/PCUIF_CodecPort.ttcn 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/13250/1 diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 676a91a..cc86fee 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -66,9 +66,9 @@ if (ispresent(res.result) and ispresent(res.result.result_code) and res.result.result_code == ERROR) { if (ispresent(res.result.err)) { - setverdict(fail, "Error connecting to PCU socket: ", res.result.err); + setverdict(fail, "Error connecting to PCU socket ", sock, ": ", res.result.err); } else { - setverdict(fail, "Error connecting to PCU socket"); + setverdict(fail, "Error connecting to PCU socket ", sock); } mtc.stop; } else { @@ -76,7 +76,7 @@ } } [] T.timeout { - setverdict(fail, "Timeout connecting to PCU socket"); + setverdict(fail, "Timeout connecting to PCU socket ", sock); mtc.stop; } } @@ -95,9 +95,9 @@ if (ispresent(res.result) and ispresent (res.result.result_code) and res.result.result_code == ERROR) { if (ispresent(res.result.err)) { - setverdict(fail, "Error listening on PCU socket: ", res.result.err); + setverdict(fail, "Error listening on PCU socket ", sock, ": ", res.result.err); } else { - setverdict(fail, "Error listening on PCU socket"); + setverdict(fail, "Error listening on PCU socket ", sock); } mtc.stop; } else { @@ -105,7 +105,7 @@ } } [] T.timeout { - setverdict(fail, "Timeout waiting for PCU socket connection"); + setverdict(fail, "Timeout waiting for PCU socket ", sock, " connection"); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/13250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5a4a7c9dc630ecd6fc0ca7a21d4b528d811edd06 Gerrit-Change-Number: 13250 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:36:15 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 15:36:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log FN and RA in TC_rach_max_ta Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13251 Change subject: Log FN and RA in TC_rach_max_ta ...................................................................... Log FN and RA in TC_rach_max_ta Similar to other RA-related tests, log FN and RA values in case of test failure. Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/13251/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 0b70da3..45f599d 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1100,7 +1100,7 @@ setverdict(pass); } [expect_pass] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for CHAN RQD"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for CHAN RQD: FN=", fn, " RA=", ra); } } } -- To view, visit https://gerrit.osmocom.org/13251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d Gerrit-Change-Number: 13251 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:36:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:36:41 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 4: Code-Review+2 similar patch for all unit tests in all repositories would be good. thanks -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 15:36:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:37:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:37:32 +0000 Subject: Change in osmo-pcu[master]: Use unique NSEI/BVCI/NSVCI in TBF tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13201 ) Change subject: Use unique NSEI/BVCI/NSVCI in TBF tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id7d2d1a48308a6b1fb17768aee0e79adbdee56ee Gerrit-Change-Number: 13201 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 14 Mar 2019 15:37:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:37:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:37:48 +0000 Subject: Change in osmo-ggsn[master]: Don't return error on normal shutdown In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13249 ) Change subject: Don't return error on normal shutdown ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 Gerrit-Change-Number: 13249 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 Mar 2019 15:37:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:37:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:37:49 +0000 Subject: Change in osmo-ggsn[master]: Don't return error on normal shutdown In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13249 ) Change subject: Don't return error on normal shutdown ...................................................................... Don't return error on normal shutdown Previously we've always returned error code from main() even in case of regular expected shutdown. Let's not confuse it with actual error shutdown and return 0 by default. Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 --- M ggsn/ggsn.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 39695b9..dd723e9 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -1158,5 +1158,5 @@ llist_for_each_entry(ggsn, &g_ggsn_list, list) ggsn_stop(ggsn); - return 1; + return 0; } -- To view, visit https://gerrit.osmocom.org/13249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7fe0d3e052953d5b87ce65649d88d83476fee3c0 Gerrit-Change-Number: 13249 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 15:40:06 +0000 Subject: Change in osmo-pcu[master]: Use unique NSEI/BVCI/NSVCI in TBF tests In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13201 ) Change subject: Use unique NSEI/BVCI/NSVCI in TBF tests ...................................................................... Use unique NSEI/BVCI/NSVCI in TBF tests This works around the issue with colliding rate counter group index highlighted by 86e35e488740889f8ad03d09a78918839b883240 by using different NSEI/BVCI/NSVCI parameters for different TBF tests. Change-Id: Id7d2d1a48308a6b1fb17768aee0e79adbdee56ee Related: OS#3827 --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 5 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 0d473a1..993ca10 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -449,8 +449,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 1234, 1234, 1234, 1, 1, false, 0, 0, 0); for (i = 0; i < 1024; i++) { uint32_t tlli = 0xc0000000 + i; @@ -492,8 +491,7 @@ setup_bts(&the_bts, ts_no); bts->ms_idle_sec = 10; /* keep the MS object */ - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 2234, 2234, 2234, 1, 1, false, 0, 0, 0); /* Handle LLC frame 1 */ memset(buf, 1, sizeof(buf)); @@ -2179,8 +2177,7 @@ /* EGPRS-only */ bts->egprs_enabled = 1; - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 3234, 3234, 3234, 1, 1, false, 0, 0, 0); /* Does not support EGPRS */ rc = gprs_rlcmac_dl_tbf::handle(bts, tlli, 0, imsi, ms_class, 0, @@ -2241,8 +2238,7 @@ bts->trx[0].pdch[4].enable(); bts->trx[0].pdch[5].enable(); - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 4234, 4234, 4234, 1, 1, false, 0, 0, 0); /* Does no support EGPRS */ dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false); @@ -2279,8 +2275,7 @@ bts->trx[0].pdch[4].enable(); bts->trx[0].pdch[5].enable(); - gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, - 1234, 1234, 1234, 1, 1, false, 0, 0, 0); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 5234, 5234, 5234, 1, 1, false, 0, 0, 0); /* EGPRS-only */ bts->egprs_enabled = 1; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 8d5adf9..355ec69 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1337,7 +1337,6 @@ - Failed to find a usable TRX (TFI exhausted) No PDCH resource Destroying MS object, TLLI = 0x00000000 -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1235. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -3032,10 +3031,8 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1236. This is a software bug that needs fixing. Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1237. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 @@ -5924,7 +5921,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes -counter group 'bssgp:bss_ctx' already exists for index 1234, instead using index 1238. This is a software bug that needs fixing. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 -- To view, visit https://gerrit.osmocom.org/13201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id7d2d1a48308a6b1fb17768aee0e79adbdee56ee Gerrit-Change-Number: 13201 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:40:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:40:30 +0000 Subject: Change in libosmo-sccp[master]: Store + show remote ip/port in dynamically created ASPs In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13234 ) Change subject: Store + show remote ip/port in dynamically created ASPs ...................................................................... Store + show remote ip/port in dynamically created ASPs "show cs7 instance 0 asp" before this patch would not display the remote IP/port information about dynamically-added ASPs but instead: Effect Primary ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------ ------------ ------------- ---- -------- --------------- ---------- asp-dyn-0 ? ASP_ACTIVE m3ua 0 (null) With this patch it is now correctly displayed: Effect Primary ASP Name AS Name State Type Rmt Port Remote IP Addr SCTP ------------ ------------ ------------- ---- -------- --------------- ---------- asp-dyn-0 ? ASP_ACTIVE m3ua 24905 127.0.0.1 Change-Id: I39a1c57bc72e8aff607f3a551811a2f6372adab4 Closes: OS#3836 --- M src/osmo_ss7.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index 381a53a..f8633b6 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1691,9 +1691,15 @@ asp = osmo_ss7_asp_find_or_create(oxs->inst, namebuf, 0, 0, oxs->cfg.proto); if (asp) { + char hostbuf[INET6_ADDRSTRLEN]; + char portbuf[16]; + + osmo_sock_get_ip_and_port(fd, hostbuf, sizeof(hostbuf), portbuf, sizeof(portbuf), false); LOGP(DLSS7, LOGL_INFO, "%s: created dynamicASP %s\n", sock_name, asp->cfg.name); asp->cfg.is_server = true; + asp->cfg.remote.port = atoi(portbuf); + asp->cfg.remote.host = talloc_strdup(asp, hostbuf); asp->dyn_allocated = true; asp->server = srv; osmo_ss7_asp_restart(asp); -- To view, visit https://gerrit.osmocom.org/13234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I39a1c57bc72e8aff607f3a551811a2f6372adab4 Gerrit-Change-Number: 13234 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:44:28 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 15:44:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log FN and RA in TC_rach_max_ta In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13251 ) Change subject: Log FN and RA in TC_rach_max_ta ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d Gerrit-Change-Number: 13251 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 14 Mar 2019 15:44:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:56:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:56:49 +0000 Subject: Change in osmo-bsc[master]: Move msc related code from gsm_data to bsc_msc In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13221 ) Change subject: Move msc related code from gsm_data to bsc_msc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I508188896be58ddc3bd4e9c3c661c258c06866f4 Gerrit-Change-Number: 13221 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 15:56:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:56:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:56:55 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13219 ) Change subject: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc26f178fa8942fe407ca01e23b0a21955727dca Gerrit-Change-Number: 13219 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 15:56:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:56:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:56:59 +0000 Subject: Change in osmo-bsc[master]: net_init.c: remove unneeded header In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13224 ) Change subject: net_init.c: remove unneeded header ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9c2d07914bb19429bfc1f2c5a38a513749068304 Gerrit-Change-Number: 13224 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 15:56:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:57:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:57:11 +0000 Subject: Change in osmo-bsc[master]: configure.ac: Add flag to enable/disable build of ipaccess related utils In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13222 ) Change subject: configure.ac: Add flag to enable/disable build of ipaccess related utils ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89 Gerrit-Change-Number: 13222 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 15:57:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:57:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:57:30 +0000 Subject: Change in osmo-pcu[master]: MCS: use value_string for conversion In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13069 ) Change subject: MCS: use value_string for conversion ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I212ebb892ab162821633974d5a6c7e315d308370 Gerrit-Change-Number: 13069 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 15:57:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:58:06 +0000 Subject: Change in osmo-pcu[master]: Fix TA index encoder In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13238 ) Change subject: Fix TA index encoder ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf Gerrit-Change-Number: 13238 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 14 Mar 2019 15:58:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 15:58:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 15:58:52 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13214 ) Change subject: MCS: add mcs_is_*() helpers ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 15:58:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:00:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 16:00:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log FN and RA in TC_rach_max_ta In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13251 ) Change subject: Log FN and RA in TC_rach_max_ta ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d Gerrit-Change-Number: 13251 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 14 Mar 2019 16:00:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:00:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 16:00:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log FN and RA in TC_rach_max_ta In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13251 ) Change subject: Log FN and RA in TC_rach_max_ta ...................................................................... Log FN and RA in TC_rach_max_ta Similar to other RA-related tests, log FN and RA values in case of test failure. Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 0b70da3..86d43fe 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1100,7 +1100,7 @@ setverdict(pass); } [expect_pass] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for CHAN RQD"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Timeout waiting for CHAN RQD: FN=", fn, " RA=", ra)); } } } -- To view, visit https://gerrit.osmocom.org/13251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d Gerrit-Change-Number: 13251 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:01:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 16:01:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log PCU socket path on errors In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13250 ) Change subject: Log PCU socket path on errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5a4a7c9dc630ecd6fc0ca7a21d4b528d811edd06 Gerrit-Change-Number: 13250 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 14 Mar 2019 16:01:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:29:13 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 16:29:13 +0000 Subject: Change in osmo-bsc[master]: Move msc related code from gsm_data to bsc_msc In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13221 ) Change subject: Move msc related code from gsm_data to bsc_msc ...................................................................... Move msc related code from gsm_data to bsc_msc This way ipaccess utils can be built without requiring libosmo-sigtran. Change-Id: I508188896be58ddc3bd4e9c3c661c258c06866f4 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_msc.c M tests/handover/Makefile.am 5 files changed, 19 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 9f2d7d8..5202174 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -161,6 +161,9 @@ struct bsc_msc_data *osmo_msc_data_find(struct gsm_network *, int); struct bsc_msc_data *osmo_msc_data_alloc(struct gsm_network *, int); + +struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts); + /* Helper function to calculate the port number for a given * timeslot/multiplex. This functionality is needed to support * the sccp-lite scenario where the MGW is handled externally */ diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index fb0735a..aff73de 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1690,6 +1690,4 @@ int bts_count_free_ts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan); -struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts); - #endif /* _GSM_DATA_H */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0198fcf..a128216 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -38,7 +38,6 @@ #include #include -#include #include #include #include @@ -1694,19 +1693,3 @@ OSMO_VALUE_STRING(FOR_VTY), {} }; - -struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts) -{ - static struct osmo_cell_global_id cgi; - cgi.lai.plmn = msc->network->plmn; - if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID) - cgi.lai.plmn.mcc = msc->core_plmn.mcc; - if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID) { - cgi.lai.plmn.mnc = msc->core_plmn.mnc; - cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits; - } - cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code; - cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity; - - return &cgi; -} diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 71931e6..4df1ce4 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -119,3 +119,18 @@ return msc_data; } +struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts) +{ + static struct osmo_cell_global_id cgi; + cgi.lai.plmn = msc->network->plmn; + if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID) + cgi.lai.plmn.mcc = msc->core_plmn.mcc; + if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID) { + cgi.lai.plmn.mnc = msc->core_plmn.mnc; + cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits; + } + cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code; + cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity; + + return &cgi; +} diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 5e9af04..5e4440c 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -69,6 +69,7 @@ $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ $(top_builddir)/src/osmo-bsc/net_init.o \ $(top_builddir)/src/osmo-bsc/osmo_bsc_lcls.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc_msc.o \ $(top_builddir)/src/osmo-bsc/paging.o \ $(top_builddir)/src/osmo-bsc/pcu_sock.o \ $(top_builddir)/src/osmo-bsc/penalty_timers.o \ -- To view, visit https://gerrit.osmocom.org/13221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I508188896be58ddc3bd4e9c3c661c258c06866f4 Gerrit-Change-Number: 13221 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:29:13 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 16:29:13 +0000 Subject: Change in osmo-bsc[master]: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13219 ) Change subject: ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep ...................................................................... ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep Change-Id: Idc26f178fa8942fe407ca01e23b0a21955727dca --- M src/ipaccess/Makefile.am 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index c504234..3578a40 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -10,7 +10,6 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(COVERAGE_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ $(NULL) AM_LDFLAGS = \ @@ -21,7 +20,6 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOSIGTRAN_LIBS) \ $(NULL) bin_PROGRAMS = \ -- To view, visit https://gerrit.osmocom.org/13219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idc26f178fa8942fe407ca01e23b0a21955727dca Gerrit-Change-Number: 13219 Gerrit-PatchSet: 4 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:29:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 16:29:14 +0000 Subject: Change in osmo-bsc[master]: net_init.c: remove unneeded header In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13224 ) Change subject: net_init.c: remove unneeded header ...................................................................... net_init.c: remove unneeded header Change-Id: I9c2d07914bb19429bfc1f2c5a38a513749068304 --- M src/osmo-bsc/net_init.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c index 5ea564d..b4ff489 100644 --- a/src/osmo-bsc/net_init.c +++ b/src/osmo-bsc/net_init.c @@ -18,7 +18,6 @@ */ #include -#include #include #include #include -- To view, visit https://gerrit.osmocom.org/13224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9c2d07914bb19429bfc1f2c5a38a513749068304 Gerrit-Change-Number: 13224 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:29:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 16:29:15 +0000 Subject: Change in osmo-bsc[master]: configure.ac: Add flag to enable/disable build of ipaccess related utils In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13222 ) Change subject: configure.ac: Add flag to enable/disable build of ipaccess related utils ...................................................................... configure.ac: Add flag to enable/disable build of ipaccess related utils Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89 --- M configure.ac M src/Makefile.am 2 files changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/configure.ac b/configure.ac index eafe4d6..cdee90c 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,11 @@ AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""]) AC_SUBST(LIBRARY_DL) +# Enable/disable ipaccess-utils (src/ipacces/)? +AC_ARG_ENABLE([ipaccess-utils], [AS_HELP_STRING([--enable-ipaccess-utils], [Build ipaccess utils: abisip-find, ipaccess-config, ...])], + [osmo_ac_ipa_utils="$enableval"],[osmo_ac_ipa_utils="yes"]) +AM_CONDITIONAL(BUILD_IPA_UTILS, test "x$osmo_ac_ipa_utils" = "xyes") +AC_SUBST(osmo_ac_ipa_utils) PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.12.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.12.0) diff --git a/src/Makefile.am b/src/Makefile.am index 6c63eea..62ae4dd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,5 +23,8 @@ libfilter \ osmo-bsc \ utils \ - ipaccess \ $(NULL) + +if BUILD_IPA_UTILS +SUBDIRS += ipaccess +endif -- To view, visit https://gerrit.osmocom.org/13222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89 Gerrit-Change-Number: 13222 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 16:29:16 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 14 Mar 2019 16:29:16 +0000 Subject: Change in osmo-bsc[master]: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13223 ) Change subject: src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps ...................................................................... src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c --- M src/utils/Makefile.am 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index 914a604..24cd230 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -11,8 +11,6 @@ $(LIBOSMOABIS_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(SQLITE3_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(NULL) AM_LDFLAGS = \ @@ -132,4 +130,3 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(NULL) - -- To view, visit https://gerrit.osmocom.org/13223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c Gerrit-Change-Number: 13223 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 17:24:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 17:24:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Generalize ttcn3-tcpdump-*.sh Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13252 Change subject: Generalize ttcn3-tcpdump-*.sh ...................................................................... Generalize ttcn3-tcpdump-*.sh Prepare for supporting alternative packet dumpers: * reword comments * rename pidfile * move tcpdump-specific option inside if * move comment about sudo closer to actual sudo invocation Those are cosmetic changes which do not affect how packet dump is made but makes it easier to support alternative packet dumpers in follow-up commit. Change-Id: Ib2528db65348c0422fe8b7c7c53656fbce4f6405 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/13252/1 diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index 747002b..b8ad01a 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -1,6 +1,6 @@ #!/bin/sh -PIDFILE=/tmp/tcpdump.pid +PIDFILE=/tmp/dumper.pid TCPDUMP=/usr/sbin/tcpdump TESTCASE=$1 @@ -16,19 +16,19 @@ rm $PIDFILE fi +if [ "$(id -u)" = "0" ]; then + CMD="$TCPDUMP -U" +else # NOTE: This requires you to be root or something like # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file -if [ "$(id -u)" = "0" ]; then - CMD=$TCPDUMP -else - CMD="sudo $TCPDUMP" + CMD="sudo $TCPDUMP -U" fi -$CMD -U -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & +$CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & PID=$! echo $PID > $PIDFILE -# Wait until tcpdump creates the pcap file and starts recording. -# We generate some traffic until we see tcpdump catches it. +# Wait until packet dumper creates the pcap file and starts recording. +# We generate some traffic until we see packet dumper catches it. # Timeout is 10 seconds. ping 127.0.0.1 >/dev/null 2>&1 & PID=$! @@ -36,7 +36,7 @@ while [ ! -f "$TTCN3_PCAP_PATH/$TESTCASE.pcap" ] || [ "$(stat -c '%s' "$TTCN3_PCAP_PATH/$TESTCASE.pcap")" -eq 32 ] do - echo "Waiting for tcpdump to start... $i" + echo "Waiting for packet dumper to start... $i" sleep 1 i=$((i+1)) if [ $i -eq 10 ]; then diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index baabefe..f53cf5d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -1,6 +1,6 @@ #!/bin/sh -PIDFILE=/tmp/tcpdump.pid +PIDFILE=/tmp/dumper.pid TESTCASE=$1 VERDICT="$2" @@ -17,14 +17,14 @@ TTCN3_PCAP_PATH=/tmp fi -# Wait for up to 2 seconds if we keep receiving traffinc from tcpdump, +# Wait for up to 2 seconds if we keep receiving traffinc from packet dumper, # otherwise we might lose last packets from test. i=0 prev_count=-1 count=$(stat --format="%s" "$TTCN3_PCAP_PATH/$TESTCASE.pcap") while [ $count -gt $prev_count ] && [ $i -lt 2 ] do - echo "Waiting for tcpdump to finish... $i (prev_count=$prev_count, count=$count)" + echo "Waiting for packet dumper to finish... $i (prev_count=$prev_count, count=$count)" sleep 1 prev_count=$count count=$(stat --format="%s" "$TTCN3_PCAP_PATH/$TESTCASE.pcap") @@ -32,11 +32,11 @@ done if [ -e $PIDFILE ]; then - # NOTE: This requires you to be root or something like - # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file if [ "$(id -u)" = "0" ]; then kill "$(cat "$PIDFILE")" else + # NOTE: This requires you to be root or something like + # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file sudo kill "$(cat "$PIDFILE")" fi rm $PIDFILE -- To view, visit https://gerrit.osmocom.org/13252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib2528db65348c0422fe8b7c7c53656fbce4f6405 Gerrit-Change-Number: 13252 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 17:24:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 17:24:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13253 Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Use dumpcap for ttcn3-tcpdump-*.sh if available Check if dumpcap is installed and use it for packet capture instead of 'sudo tcpdump' if available. This makes it easier to use TTCN-3 testsuite as regular user without altering sudoers. Change-Id: I77df04d51a469c924cf727f0596cc33565909746 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/13253/1 diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index b8ad01a..14773d9 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -16,12 +16,16 @@ rm $PIDFILE fi -if [ "$(id -u)" = "0" ]; then - CMD="$TCPDUMP -U" -else -# NOTE: This requires you to be root or something like -# "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file - CMD="sudo $TCPDUMP -U" +if [ -x /usr/bin/dumpcap ]; then + CMD=/usr/bin/dumpcap + else + if [ "$(id -u)" = "0" ]; then + CMD="$TCPDUMP -U" + else + # NOTE: This requires you to be root or something like + # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file + CMD="sudo $TCPDUMP -U" + fi fi $CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & PID=$! diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index f53cf5d..2dd1e2d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -32,7 +32,7 @@ done if [ -e $PIDFILE ]; then - if [ "$(id -u)" = "0" ]; then + if [ "$(id -u)" = "0" -o -x /usr/bin/dumpcap ]; then kill "$(cat "$PIDFILE")" else # NOTE: This requires you to be root or something like -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:42:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 20:42:23 +0000 Subject: Change in docker-playground[master]: PCU: Differentiate between tests with classic and SNS Gb dialects Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13254 Change subject: PCU: Differentiate between tests with classic and SNS Gb dialects ...................................................................... PCU: Differentiate between tests with classic and SNS Gb dialects OsmoPCU needs to have the gb-dialect parameter configured right from startup. This means we'll split the ttcn3-pcu-test into two suites, similarly to how we deal with AoIP / SCCPlite in the ttcn3-bsc-test. Change-Id: I6e844f9ac4b87e801661fb1a1bdd25a15148f474 --- A ttcn3-pcu-test-sns/jenkins.sh A ttcn3-pcu-test-sns/sns M ttcn3-pcu-test/PCU_Tests.cfg A ttcn3-pcu-test/jenkins-sns.sh A ttcn3-pcu-test/sns/PCU_Tests.cfg A ttcn3-pcu-test/sns/osmo-pcu.cfg 6 files changed, 82 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/54/13254/1 diff --git a/ttcn3-pcu-test-sns/jenkins.sh b/ttcn3-pcu-test-sns/jenkins.sh new file mode 120000 index 0000000..8a1c657 --- /dev/null +++ b/ttcn3-pcu-test-sns/jenkins.sh @@ -0,0 +1 @@ +../ttcn3-pcu-test/jenkins-sns.sh \ No newline at end of file diff --git a/ttcn3-pcu-test-sns/sns b/ttcn3-pcu-test-sns/sns new file mode 120000 index 0000000..c2fe958 --- /dev/null +++ b/ttcn3-pcu-test-sns/sns @@ -0,0 +1 @@ +../ttcn3-pcu-test/sns \ No newline at end of file diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 43ce941..07af661 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -21,4 +21,3 @@ [EXECUTE] PCU_Tests_RAW.control -PCU_Tests_RAW_SNS.control diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh new file mode 100755 index 0000000..7f57c09 --- /dev/null +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-jessie-build" \ + "osmo-pcu-$IMAGE_SUFFIX" \ + "debian-stretch-titan" \ + "ttcn3-pcu-test" + +network_create 172.18.14.0/24 + +mkdir $VOL_BASE_DIR/pcu-tester +mkdir $VOL_BASE_DIR/pcu-tester/unix +cp sns/PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ + +mkdir $VOL_BASE_DIR/pcu +mkdir $VOL_BASE_DIR/pcu/unix +cp sns/osmo-pcu.cfg $VOL_BASE_DIR/pcu/ + +mkdir $VOL_BASE_DIR/unix + +echo Starting container with PCU +docker run --rm \ + --network $NET_NAME --ip 172.18.14.101 \ + -v $VOL_BASE_DIR/pcu:/data \ + -v $VOL_BASE_DIR/unix:/data/unix \ + --name ${BUILD_TAG}-pcu-sns -d \ + $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ + /usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg + +echo Starting container with PCU testsuite +docker run --rm \ + --network $NET_NAME --ip 172.18.14.10 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/pcu-tester:/data \ + -v $VOL_BASE_DIR/unix:/data/unix \ + --name ${BUILD_TAG}-ttcn3-pcu-test-sns \ + $REPO_USER/ttcn3-pcu-test + +echo Stopping containers +docker container kill ${BUILD_TAG}-pcu-sns + +network_remove +rm -rf $VOL_BASE_DIR/unix +collect_logs diff --git a/ttcn3-pcu-test/sns/PCU_Tests.cfg b/ttcn3-pcu-test/sns/PCU_Tests.cfg new file mode 100644 index 0000000..07db9b3 --- /dev/null +++ b/ttcn3-pcu-test/sns/PCU_Tests.cfg @@ -0,0 +1,23 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/pcu/PCU_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +PCU_Tests_RAW.mp_pcu_sock_path := "/data/unix/pcu_bts" +PCU_Tests.mp_nsconfig := { + local_ip := "172.18.14.10", + local_udp_port := 23000, + remote_ip := "172.18.14.101", + remote_udp_port := 23000, + nsvci := 1234, + nsei := 1234 +} + +[MAIN_CONTROLLER] + +[EXECUTE] +PCU_Tests_RAW_SNS.control diff --git a/ttcn3-pcu-test/sns/osmo-pcu.cfg b/ttcn3-pcu-test/sns/osmo-pcu.cfg new file mode 100644 index 0000000..34ba20d --- /dev/null +++ b/ttcn3-pcu-test/sns/osmo-pcu.cfg @@ -0,0 +1,11 @@ +line vty + no login + bind 0.0.0.0 +pcu + flow-control-interval 10 + cs 2 + alloc-algorithm dynamic + alpha 0 + gamma 0 + pcu-socket /data/unix/pcu_bts + gb-dialect ip-sns -- To view, visit https://gerrit.osmocom.org/13254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6e844f9ac4b87e801661fb1a1bdd25a15148f474 Gerrit-Change-Number: 13254 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:44:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 20:44:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 1: I really like the idea and I'm surprised we didn't do this sooner. However, the fact that dumpcap is installed doesn't mean that a) it's setuid-root, or b) the current user has the right group/permission On Debian systems, for example, it's part of the package configuration that is performed during package installation. I think for this to work properly we'd need some way to test if capturing actually worked or if it was rejected before taking a decision for dumpcap. -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 14 Mar 2019 20:44:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:45:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 20:45:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Generalize ttcn3-tcpdump-*.sh In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13252 ) Change subject: Generalize ttcn3-tcpdump-*.sh ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib2528db65348c0422fe8b7c7c53656fbce4f6405 Gerrit-Change-Number: 13252 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 14 Mar 2019 20:45:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:46:51 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 14 Mar 2019 20:46:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Generalize ttcn3-tcpdump-*.sh In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13252 ) Change subject: Generalize ttcn3-tcpdump-*.sh ...................................................................... Generalize ttcn3-tcpdump-*.sh Prepare for supporting alternative packet dumpers: * reword comments * rename pidfile * move tcpdump-specific option inside if * move comment about sudo closer to actual sudo invocation Those are cosmetic changes which do not affect how packet dump is made but makes it easier to support alternative packet dumpers in follow-up commit. Change-Id: Ib2528db65348c0422fe8b7c7c53656fbce4f6405 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 14 insertions(+), 14 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index 747002b..b8ad01a 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -1,6 +1,6 @@ #!/bin/sh -PIDFILE=/tmp/tcpdump.pid +PIDFILE=/tmp/dumper.pid TCPDUMP=/usr/sbin/tcpdump TESTCASE=$1 @@ -16,19 +16,19 @@ rm $PIDFILE fi +if [ "$(id -u)" = "0" ]; then + CMD="$TCPDUMP -U" +else # NOTE: This requires you to be root or something like # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file -if [ "$(id -u)" = "0" ]; then - CMD=$TCPDUMP -else - CMD="sudo $TCPDUMP" + CMD="sudo $TCPDUMP -U" fi -$CMD -U -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & +$CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & PID=$! echo $PID > $PIDFILE -# Wait until tcpdump creates the pcap file and starts recording. -# We generate some traffic until we see tcpdump catches it. +# Wait until packet dumper creates the pcap file and starts recording. +# We generate some traffic until we see packet dumper catches it. # Timeout is 10 seconds. ping 127.0.0.1 >/dev/null 2>&1 & PID=$! @@ -36,7 +36,7 @@ while [ ! -f "$TTCN3_PCAP_PATH/$TESTCASE.pcap" ] || [ "$(stat -c '%s' "$TTCN3_PCAP_PATH/$TESTCASE.pcap")" -eq 32 ] do - echo "Waiting for tcpdump to start... $i" + echo "Waiting for packet dumper to start... $i" sleep 1 i=$((i+1)) if [ $i -eq 10 ]; then diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index baabefe..f53cf5d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -1,6 +1,6 @@ #!/bin/sh -PIDFILE=/tmp/tcpdump.pid +PIDFILE=/tmp/dumper.pid TESTCASE=$1 VERDICT="$2" @@ -17,14 +17,14 @@ TTCN3_PCAP_PATH=/tmp fi -# Wait for up to 2 seconds if we keep receiving traffinc from tcpdump, +# Wait for up to 2 seconds if we keep receiving traffinc from packet dumper, # otherwise we might lose last packets from test. i=0 prev_count=-1 count=$(stat --format="%s" "$TTCN3_PCAP_PATH/$TESTCASE.pcap") while [ $count -gt $prev_count ] && [ $i -lt 2 ] do - echo "Waiting for tcpdump to finish... $i (prev_count=$prev_count, count=$count)" + echo "Waiting for packet dumper to finish... $i (prev_count=$prev_count, count=$count)" sleep 1 prev_count=$count count=$(stat --format="%s" "$TTCN3_PCAP_PATH/$TESTCASE.pcap") @@ -32,11 +32,11 @@ done if [ -e $PIDFILE ]; then - # NOTE: This requires you to be root or something like - # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file if [ "$(id -u)" = "0" ]; then kill "$(cat "$PIDFILE")" else + # NOTE: This requires you to be root or something like + # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file sudo kill "$(cat "$PIDFILE")" fi rm $PIDFILE -- To view, visit https://gerrit.osmocom.org/13252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib2528db65348c0422fe8b7c7c53656fbce4f6405 Gerrit-Change-Number: 13252 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:50:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 20:50:35 +0000 Subject: Change in docker-playground[master]: PCU: Differentiate between tests with classic and SNS Gb dialects In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13254 ) Change subject: PCU: Differentiate between tests with classic and SNS Gb dialects ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6e844f9ac4b87e801661fb1a1bdd25a15148f474 Gerrit-Change-Number: 13254 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Thu, 14 Mar 2019 20:50:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:50:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 20:50:37 +0000 Subject: Change in docker-playground[master]: PCU: Differentiate between tests with classic and SNS Gb dialects In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13254 ) Change subject: PCU: Differentiate between tests with classic and SNS Gb dialects ...................................................................... PCU: Differentiate between tests with classic and SNS Gb dialects OsmoPCU needs to have the gb-dialect parameter configured right from startup. This means we'll split the ttcn3-pcu-test into two suites, similarly to how we deal with AoIP / SCCPlite in the ttcn3-bsc-test. Change-Id: I6e844f9ac4b87e801661fb1a1bdd25a15148f474 --- A ttcn3-pcu-test-sns/jenkins.sh A ttcn3-pcu-test-sns/sns M ttcn3-pcu-test/PCU_Tests.cfg A ttcn3-pcu-test/jenkins-sns.sh A ttcn3-pcu-test/sns/PCU_Tests.cfg A ttcn3-pcu-test/sns/osmo-pcu.cfg 6 files changed, 82 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/ttcn3-pcu-test-sns/jenkins.sh b/ttcn3-pcu-test-sns/jenkins.sh new file mode 120000 index 0000000..8a1c657 --- /dev/null +++ b/ttcn3-pcu-test-sns/jenkins.sh @@ -0,0 +1 @@ +../ttcn3-pcu-test/jenkins-sns.sh \ No newline at end of file diff --git a/ttcn3-pcu-test-sns/sns b/ttcn3-pcu-test-sns/sns new file mode 120000 index 0000000..c2fe958 --- /dev/null +++ b/ttcn3-pcu-test-sns/sns @@ -0,0 +1 @@ +../ttcn3-pcu-test/sns \ No newline at end of file diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 43ce941..07af661 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -21,4 +21,3 @@ [EXECUTE] PCU_Tests_RAW.control -PCU_Tests_RAW_SNS.control diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh new file mode 100755 index 0000000..7f57c09 --- /dev/null +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-jessie-build" \ + "osmo-pcu-$IMAGE_SUFFIX" \ + "debian-stretch-titan" \ + "ttcn3-pcu-test" + +network_create 172.18.14.0/24 + +mkdir $VOL_BASE_DIR/pcu-tester +mkdir $VOL_BASE_DIR/pcu-tester/unix +cp sns/PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ + +mkdir $VOL_BASE_DIR/pcu +mkdir $VOL_BASE_DIR/pcu/unix +cp sns/osmo-pcu.cfg $VOL_BASE_DIR/pcu/ + +mkdir $VOL_BASE_DIR/unix + +echo Starting container with PCU +docker run --rm \ + --network $NET_NAME --ip 172.18.14.101 \ + -v $VOL_BASE_DIR/pcu:/data \ + -v $VOL_BASE_DIR/unix:/data/unix \ + --name ${BUILD_TAG}-pcu-sns -d \ + $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ + /usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg + +echo Starting container with PCU testsuite +docker run --rm \ + --network $NET_NAME --ip 172.18.14.10 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/pcu-tester:/data \ + -v $VOL_BASE_DIR/unix:/data/unix \ + --name ${BUILD_TAG}-ttcn3-pcu-test-sns \ + $REPO_USER/ttcn3-pcu-test + +echo Stopping containers +docker container kill ${BUILD_TAG}-pcu-sns + +network_remove +rm -rf $VOL_BASE_DIR/unix +collect_logs diff --git a/ttcn3-pcu-test/sns/PCU_Tests.cfg b/ttcn3-pcu-test/sns/PCU_Tests.cfg new file mode 100644 index 0000000..07db9b3 --- /dev/null +++ b/ttcn3-pcu-test/sns/PCU_Tests.cfg @@ -0,0 +1,23 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/pcu/PCU_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +PCU_Tests_RAW.mp_pcu_sock_path := "/data/unix/pcu_bts" +PCU_Tests.mp_nsconfig := { + local_ip := "172.18.14.10", + local_udp_port := 23000, + remote_ip := "172.18.14.101", + remote_udp_port := 23000, + nsvci := 1234, + nsei := 1234 +} + +[MAIN_CONTROLLER] + +[EXECUTE] +PCU_Tests_RAW_SNS.control diff --git a/ttcn3-pcu-test/sns/osmo-pcu.cfg b/ttcn3-pcu-test/sns/osmo-pcu.cfg new file mode 100644 index 0000000..34ba20d --- /dev/null +++ b/ttcn3-pcu-test/sns/osmo-pcu.cfg @@ -0,0 +1,11 @@ +line vty + no login + bind 0.0.0.0 +pcu + flow-control-interval 10 + cs 2 + alloc-algorithm dynamic + alpha 0 + gamma 0 + pcu-socket /data/unix/pcu_bts + gb-dialect ip-sns -- To view, visit https://gerrit.osmocom.org/13254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6e844f9ac4b87e801661fb1a1bdd25a15148f474 Gerrit-Change-Number: 13254 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 20:56:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 20:56:41 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13255 Change subject: ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test ...................................................................... ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test The SNS variant of the tests require the PCU to be started with different config file. Change-Id: I42785b68f136198152ad79072346faccfe4a9424 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/55/13255/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index b53d3dd..0558144 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -35,6 +35,8 @@ timer: 00 07 * * * - ttcn3-pcu-test: timer: 00 05 * * * + - ttcn3-pcu-test-sns: + timer: 15 05 * * * # latest stable - nplab-m3ua-test-latest: @@ -61,6 +63,8 @@ blocking: "^ttcn3-sip-test.*" - ttcn3-pcu-test-latest: blocking: "^ttcn3-pcu-test.*" + - ttcn3-pcu-test-sns-latest: + blocking: "^ttcn3-pcu-test-sns.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/13255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I42785b68f136198152ad79072346faccfe4a9424 Gerrit-Change-Number: 13255 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 14 20:56:33 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 14 Mar 2019 20:56:33 +0000 Subject: Build failure of network:osmocom:nightly/orcania in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c8ac00a22695_67af8ca5f043993a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/Raspbian_9.0/armv7l Package network:osmocom:nightly/orcania failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 103s] Processing triggers for man-db (2.7.6.1-2) ... [ 103s] [172/225] installing perl-5.24.1-3+deb9u5 [ 103s] update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode [ 103s] Processing triggers for man-db (2.7.6.1-2) ... [ 103s] [173/225] installing gnupg-2.1.18-8~deb9u4 [ 103s] Processing triggers for man-db (2.7.6.1-2) ... [ 104s] [174/225] installing libcurl3-7.52.1-5+deb9u9 [ 104s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 104s] [175/225] installing libarchive-zip-perl-1.59-1+deb9u1 [ 104s] Processing triggers for man-db (2.7.6.1-2) ... [ 104s] [176/225] installing libtimedate-perl-2.3000-2 [ 104s] Processing triggers for man-db (2.7.6.1-2) ... [ 105s] [177/225] installing raspbian-archive-keyring-20120528.2 [ 105s] /var/lib/dpkg/info/raspbian-archive-keyring.postinst: 8: /var/lib/dpkg/info/raspbian-archive-keyring.postinst: apt-key: not found [ 105s] dpkg: error processing package raspbian-archive-keyring (--install): [ 105s] subprocess installed post-installation script returned error exit status 127 [ 105s] Errors were encountered while processing: [ 105s] raspbian-archive-keyring [ 105s] exit ... [ 105s] [ 105s] armbuild19 failed "build orcania_1.2.9-5.dsc" at Thu Mar 14 20:56:27 UTC 2019. [ 105s] [ 105s] ### VM INTERACTION START ### [ 108s] [ 74.413077] sysrq: SysRq : Power Off [ 108s] [ 74.415121] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] armbuild19 failed "build orcania_1.2.9-5.dsc" at Thu Mar 14 20:56:31 UTC 2019. [ 108s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 14 21:13:08 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 14 Mar 2019 21:13:08 +0000 Subject: Build failure of network:osmocom:latest/orcania in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c8ac3e843ec0_67af8ca5f04442fe@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/orcania/Raspbian_9.0/armv7l Package network:osmocom:latest/orcania failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest orcania Last lines of build log: [ 105s] Processing triggers for man-db (2.7.6.1-2) ... [ 105s] [172/225] installing perl-5.24.1-3+deb9u5 [ 105s] update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode [ 105s] Processing triggers for man-db (2.7.6.1-2) ... [ 106s] [173/225] installing gnupg-2.1.18-8~deb9u4 [ 106s] Processing triggers for man-db (2.7.6.1-2) ... [ 106s] [174/225] installing libcurl3-7.52.1-5+deb9u9 [ 106s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 106s] [175/225] installing libarchive-zip-perl-1.59-1+deb9u1 [ 106s] Processing triggers for man-db (2.7.6.1-2) ... [ 107s] [176/225] installing libtimedate-perl-2.3000-2 [ 107s] Processing triggers for man-db (2.7.6.1-2) ... [ 107s] [177/225] installing raspbian-archive-keyring-20120528.2 [ 107s] /var/lib/dpkg/info/raspbian-archive-keyring.postinst: 8: /var/lib/dpkg/info/raspbian-archive-keyring.postinst: apt-key: not found [ 107s] dpkg: error processing package raspbian-archive-keyring (--install): [ 107s] subprocess installed post-installation script returned error exit status 127 [ 107s] Errors were encountered while processing: [ 107s] raspbian-archive-keyring [ 107s] exit ... [ 107s] [ 107s] armbuild15 failed "build orcania_1.2.9-5.dsc" at Thu Mar 14 21:12:51 UTC 2019. [ 107s] [ 107s] ### VM INTERACTION START ### [ 110s] [ 73.372252] sysrq: SysRq : Power Off [ 110s] [ 73.374143] reboot: Power down [ 110s] ### VM INTERACTION END ### [ 110s] [ 110s] armbuild15 failed "build orcania_1.2.9-5.dsc" at Thu Mar 14 21:12:54 UTC 2019. [ 110s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 14 21:31:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 21:31:52 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13255 ) Change subject: ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I42785b68f136198152ad79072346faccfe4a9424 Gerrit-Change-Number: 13255 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Thu, 14 Mar 2019 21:31:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 21:31:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 14 Mar 2019 21:31:53 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13255 ) Change subject: ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test ...................................................................... ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test The SNS variant of the tests require the PCU to be started with different config file. Change-Id: I42785b68f136198152ad79072346faccfe4a9424 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index b53d3dd..0558144 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -35,6 +35,8 @@ timer: 00 07 * * * - ttcn3-pcu-test: timer: 00 05 * * * + - ttcn3-pcu-test-sns: + timer: 15 05 * * * # latest stable - nplab-m3ua-test-latest: @@ -61,6 +63,8 @@ blocking: "^ttcn3-sip-test.*" - ttcn3-pcu-test-latest: blocking: "^ttcn3-pcu-test.*" + - ttcn3-pcu-test-sns-latest: + blocking: "^ttcn3-pcu-test-sns.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/13255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I42785b68f136198152ad79072346faccfe4a9424 Gerrit-Change-Number: 13255 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 22:11:45 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 22:11:45 +0000 Subject: Change in osmo-bsc[master]: Revert "assignment_fsm: Properly support assigning signalling mode TC... Message-ID: Hello tnt, Vadim Yanitskiy, Harald Welte, Jenkins Builder, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13256 to review the following change. Change subject: Revert "assignment_fsm: Properly support assigning signalling mode TCH/x" ...................................................................... Revert "assignment_fsm: Properly support assigning signalling mode TCH/x" This commit breaks voice channel assignment. It results in the Assignment Complete sent to the MSC for a voice lchan lacking AoIP Transport Layer Address, Speech Version and Speech Codec. Hence the MSC cannot complete the Assignment for a voice call. Let's revisit this patch, test thoroughly and re-merge later. This reverts commit 4d3a21269b25e7164a94fa8ce3ad67ff80904aee. Reason for revert: Change-Id: I72aaa03539919e7e85b5b75b133326cec5e68bc9 --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/codec_pref.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/osmo_bsc_bssap.c M tests/codec_pref/codec_pref_test.c 8 files changed, 134 insertions(+), 169 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/13256/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index fb0735a..c4315c0 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -98,15 +98,9 @@ SUBSCR_SCCP_ST_CONNECTED }; -enum channel_rate { - CH_RATE_SDCCH, - CH_RATE_HALF, - CH_RATE_FULL, -}; - struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; - enum channel_rate chan_rate; + bool full_rate; uint16_t s15_s0; }; @@ -121,9 +115,12 @@ char msc_rtp_addr[INET_ADDRSTRLEN]; uint16_t msc_rtp_port; - /* Rate/codec setting in preference order (need at least 1 !) */ - int n_ch_mode_rate; - struct channel_mode_and_rate ch_mode_rate[3]; + /* Prefered rate/codec setting (mandatory) */ + struct channel_mode_and_rate ch_mode_rate_pref; + + /* Alternate rate/codec setting (optional) */ + bool ch_mode_rate_alt_present; + struct channel_mode_and_rate ch_mode_rate_alt; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 865181b..4aecdf6 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -3,4 +3,4 @@ struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); + enum gsm48_chan_mode chan_mode, bool full_rate); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 2180791..aa696ac 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -251,15 +251,17 @@ static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct channel_mode_and_rate *ch_mode_rate) { enum gsm48_chan_mode chan_mode = ch_mode_rate->chan_mode; - enum channel_rate chan_rate = ch_mode_rate->chan_rate; + bool full_rate = ch_mode_rate->full_rate; switch (chan_mode) { case GSM48_CMODE_SIGN: switch (type) { - case GSM_LCHAN_TCH_F: return chan_rate == CH_RATE_FULL; - case GSM_LCHAN_TCH_H: return chan_rate == CH_RATE_HALF; - case GSM_LCHAN_SDCCH: return chan_rate == CH_RATE_SDCCH; - default: return false; + case GSM_LCHAN_TCH_F: + case GSM_LCHAN_TCH_H: + case GSM_LCHAN_SDCCH: + return true; + default: + return false; } case GSM48_CMODE_SPEECH_V1: @@ -267,12 +269,12 @@ case GSM48_CMODE_DATA_3k6: case GSM48_CMODE_DATA_6k0: /* these services can all run on TCH/H, but we may have - * an explicit override by the 'chan_rate' argument */ + * an explicit override by the 'full_rate' argument */ switch (type) { case GSM_LCHAN_TCH_F: - return chan_rate == CH_RATE_FULL; + return full_rate; case GSM_LCHAN_TCH_H: - return chan_rate == CH_RATE_HALF; + return !full_rate; default: return false; } @@ -318,34 +320,45 @@ * sure that both are consistent. */ static int check_requires_voice_stream(struct gsm_subscriber_connection *conn) { - bool requires_voice_pref = false, requires_voice_alt; + bool result_requires_voice_alt; + bool result_requires_voice_pref; struct assignment_request *req = &conn->assignment.req; struct osmo_fsm_inst *fi = conn->fi; - int i, rc; + int rc; /* When the assignment request indicates that there is an alternate * rate available (e.g. "Full or Half rate channel, Half rate * preferred..."), then both must be either voice or either signalling, * a mismatch is not permitted */ - for (i = 0; i < req->n_ch_mode_rate; i++) { - rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate[i].chan_mode); - if (rc < 0) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Channel mode not supported (prev level %d): %s", i, - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); - return -EINVAL; - } + /* Check the prefered setting */ + rc = check_requires_voice(&result_requires_voice_pref, req->ch_mode_rate_pref.chan_mode); + if (rc < 0) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Prefered channel mode not supported: %s", + gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode)); + return -EINVAL; + } + conn->assignment.requires_voice_stream = result_requires_voice_pref; - if (i==0) - requires_voice_pref = requires_voice_alt; - else if (requires_voice_alt != requires_voice_pref) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Inconsistent channel modes: %s != %s", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); - return -EINVAL; - } + /* If there is an alternate setting, check that one as well */ + if (!req->ch_mode_rate_alt_present) + return 0; + rc = check_requires_voice(&result_requires_voice_alt, req->ch_mode_rate_alt.chan_mode); + if (rc < 0) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Alternate channel mode not supported: %s", + gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); + return -EINVAL; + } + + /* Make sure both settings match */ + if (result_requires_voice_pref != result_requires_voice_alt) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Inconsistent channel modes: %s != %s", + gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), + gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); + return -EINVAL; } return 0; @@ -357,20 +370,18 @@ static bool reuse_existing_lchan(struct gsm_subscriber_connection *conn) { struct assignment_request *req = &conn->assignment.req; - int i; if (!conn->lchan) return false; /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ - for (i = 0; i < req->n_ch_mode_rate; i++) - if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - break; - } - - if (i == req->n_ch_mode_rate) + if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_pref)) + conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; + else if (req->ch_mode_rate_alt_present + && lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_alt)) + conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; + else return false; if (conn->lchan->tch_mode != conn->lchan->ch_mode_rate.chan_mode) { @@ -388,14 +399,8 @@ void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req) { - static const char *rate_names[] = { - [CH_RATE_SDCCH] = "SDCCH", - [CH_RATE_HALF] = "HR", - [CH_RATE_FULL] = "FR", - }; struct osmo_fsm_inst *fi; struct lchan_activate_info info; - int i; OSMO_ASSERT(conn); OSMO_ASSERT(conn->fi); @@ -438,13 +443,17 @@ return; } - /* Try to allocate a new lchan in order of preference */ - for (i = 0; i < req->n_ch_mode_rate; i++) { - conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, - req->ch_mode_rate[i].chan_mode, req->ch_mode_rate[i].chan_rate); - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - if (conn->assignment.new_lchan) - break; + /* Try to allocate a new lchan with the preferred codec/rate choice */ + conn->assignment.new_lchan = + lchan_select_by_chan_mode(bts, req->ch_mode_rate_pref.chan_mode, req->ch_mode_rate_pref.full_rate); + conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; + + /* In case the lchan allocation fails, we try with the alternat codec/ + * rate choice (if possible) */ + if (!conn->assignment.new_lchan && req->ch_mode_rate_alt_present) { + conn->assignment.new_lchan = + lchan_select_by_chan_mode(bts, req->ch_mode_rate_alt.chan_mode, req->ch_mode_rate_alt.full_rate); + conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; } /* Check whether the lchan allocation was successful or not and tear @@ -453,22 +462,21 @@ assignment_count_result(BSC_CTR_ASSIGNMENT_NO_CHANNEL); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" - " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - rate_names[req->ch_mode_rate[0].chan_rate], - req->n_ch_mode_rate >= 1 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 1 ? rate_names[req->ch_mode_rate[0].chan_rate] : "", - req->n_ch_mode_rate >= 2 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 2 ? rate_names[req->ch_mode_rate[0].chan_rate] : "" - ); + " No lchan available for: preferred=%s%s / alternate=%s%s\n", + gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), + req->ch_mode_rate_pref.full_rate ? ",FR" : ",HR", + req->ch_mode_rate_alt_present ? + gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode) : "none", + req->ch_mode_rate_alt_present ? + (req->ch_mode_rate_alt.full_rate ? ",FR" : ",HR") : ""); return; } assignment_fsm_update_id(conn); - LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s," + LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, full_rate=%d," " aoip=%s MSC-rtp=%s:%u\n", gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), - rate_names[conn->lchan->ch_mode_rate.chan_rate], + conn->lchan->ch_mode_rate.full_rate, req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index 659853c..a94d6a8 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -281,7 +281,6 @@ { unsigned int i; uint8_t perm_spch; - bool full_rate; bool match = false; const struct gsm0808_speech_codec *sc_match = NULL; uint16_t amr_s15_s0_supported; @@ -296,16 +295,15 @@ perm_spch = audio_support_to_gsm88(msc->audio_support[i]); /* Determine if the result is a half or full rate codec */ - rc = full_rate_from_perm_spch(&full_rate, perm_spch); + rc = full_rate_from_perm_spch(&ch_mode_rate->full_rate, perm_spch); if (rc < 0) return -EINVAL; - ch_mode_rate->chan_rate = full_rate ? CH_RATE_FULL : CH_RATE_HALF; /* If we have a preference for FR or HR in our request, we * discard the potential match */ - if (rate_pref == RATE_PREF_HR && ch_mode_rate->chan_rate == CH_RATE_FULL) + if (rate_pref == RATE_PREF_HR && ch_mode_rate->full_rate) continue; - if (rate_pref == RATE_PREF_FR && ch_mode_rate->chan_rate == CH_RATE_HALF) + if (rate_pref == RATE_PREF_FR && !ch_mode_rate->full_rate) continue; /* Check this permitted speech value against the BTS specific parameters. @@ -323,8 +321,8 @@ /* Exit without result, in case no match can be deteched */ if (!match) { + ch_mode_rate->full_rate = false; ch_mode_rate->chan_mode = GSM48_CMODE_SIGN; - ch_mode_rate->chan_rate = CH_RATE_SDCCH; ch_mode_rate->s15_s0 = 0; return -1; } diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 77f8138..a3d25d6 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -569,11 +569,10 @@ } LOG_HO(conn, LOGL_DEBUG, "BTS %u: Found matching audio type: %s %s (for %s)\n", - bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), - ch_mode_rate.chan_rate == CH_RATE_FULL ? "full-rate" : "half-rate", + bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), ch_mode_rate.full_rate? "full-rate" : "half-rate", gsm0808_channel_type_name(&req->ct)); - lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.chan_rate); + lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.full_rate); if (!lchan) { LOG_HO(conn, LOGL_DEBUG, "BTS %u has no matching free channels\n", bts->nr); continue; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 0a9752e..0f4dd65 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -128,31 +128,22 @@ } struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) + enum gsm48_chan_mode chan_mode, bool full_rate) { enum gsm_chan_t type; switch (chan_mode) { case GSM48_CMODE_SIGN: - switch (chan_rate) { - case CH_RATE_SDCCH: type = GSM_LCHAN_SDCCH; break; - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; - } + type = GSM_LCHAN_SDCCH; break; case GSM48_CMODE_SPEECH_EFR: /* EFR works over FR channels only */ - if (chan_rate != CH_RATE_FULL) + if (!full_rate) return NULL; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: - switch (chan_rate) { - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; - } + type = full_rate ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H; break; default: return NULL; diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 5c8ce97..85aab22 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -626,48 +626,60 @@ static int select_codecs(struct assignment_request *req, struct gsm0808_channel_type *ct, struct gsm_subscriber_connection *conn) { - int rc, i, nc = 0; + int rc; struct bsc_msc_data *msc; msc = conn->sccp.msc; + req->ch_mode_rate_alt_present = false; switch (ct->ch_rate_type) { case GSM0808_SPEECH_FULL_BM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - nc += (rc == 0); break; case GSM0808_SPEECH_HALF_LM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - nc += (rc == 0); break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - nc += (rc == 0); - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + if (rc < 0) { + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + RATE_PREF_HR); + break; + } + rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - nc += (rc == 0); + if (rc == 0) + req->ch_mode_rate_alt_present = true; + rc = 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - nc += (rc == 0); - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + + if (rc < 0) { + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + RATE_PREF_FR); + break; + } + rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - nc += (rc == 0); + if (rc == 0) + req->ch_mode_rate_alt_present = true; + rc = 0; break; default: rc = -EINVAL; break; } - if (!nc) { + if (rc < 0) { LOGP(DMSC, LOGL_ERROR, "No supported audio type found for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[%s] }\n", ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); @@ -676,69 +688,29 @@ return -EINVAL; } - for (i = 0; i < nc; i++ ) { - DEBUGP(DMSC, "Found matching audio type (pref=%d): %s %s for channel_type =" + if (req->ch_mode_rate_alt_present) { + DEBUGP(DMSC, "Found matching audio type (preferred): %s %s for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - i, - req->ch_mode_rate[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate[i].chan_mode), + req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - } + DEBUGP(DMSC, "Found matching audio type (alternative): %s %s for channel_type =" + " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", + req->ch_mode_rate_alt.full_rate ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_alt.chan_mode), + ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); + } else { + DEBUGP(DMSC, "Found matching audio type: %s %s for channel_type =" + " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", + req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), + ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - req->n_ch_mode_rate = nc; + } return 0; } -static int select_sign_chan(struct assignment_request *req, struct gsm0808_channel_type *ct) -{ - int i, nc = 0; - - switch (ct->ch_rate_type) { - case GSM0808_SIGN_ANY: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - case GSM0808_SIGN_SDCCH: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - break; - case GSM0808_SIGN_SDCCH_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - case GSM0808_SIGN_SDCCH_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - break; - case GSM0808_SIGN_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - case GSM0808_SIGN_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - break; - case GSM0808_SIGN_FULL_PREF: - case GSM0808_SIGN_FULL_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - break; - case GSM0808_SIGN_HALF_PREF: - case GSM0808_SIGN_HALF_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - default: - break; - } - - for (i = 0; i < nc; i++) - req->ch_mode_rate[i].chan_mode = GSM48_CMODE_SIGN; - - req->n_ch_mode_rate = nc; - - return nc > 0 ? 0 : -EINVAL; -} - /* * Handle the assignment request message. * @@ -756,6 +728,7 @@ uint8_t cause; int rc; struct assignment_request req = {}; + struct channel_mode_and_rate ch_mode_rate_pref = {}; if (!conn) { LOGP(DMSC, LOGL_ERROR, @@ -876,15 +849,14 @@ } break; case GSM0808_CHAN_SIGN: - req = (struct assignment_request){ - .aoip = aoip, + ch_mode_rate_pref = (struct channel_mode_and_rate) { + .chan_mode = GSM48_CMODE_SIGN, }; - rc = select_sign_chan(&req, &ct); - if (rc < 0) { - cause = GSM0808_CAUSE_INCORRECT_VALUE; - goto reject; - } + req = (struct assignment_request){ + .aoip = aoip, + .ch_mode_rate_pref = ch_mode_rate_pref, + }; break; default: cause = GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS; diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c index ce82f3d..bb5468a 100644 --- a/tests/codec_pref/codec_pref_test.c +++ b/tests/codec_pref/codec_pref_test.c @@ -407,7 +407,7 @@ rc = match_codec_pref(&ch_mode_rate, ct, scl, msc, bts, RATE_PREF_NONE); printf(" * result: rc=%i, full_rate=%i, s15_s0=%04x, chan_mode=%s\n", - rc, ch_mode_rate.chan_rate == CH_RATE_FULL, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); + rc, ch_mode_rate.full_rate, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); printf("\n"); -- To view, visit https://gerrit.osmocom.org/13256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I72aaa03539919e7e85b5b75b133326cec5e68bc9 Gerrit-Change-Number: 13256 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 22:11:46 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 22:11:46 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Properly support assigning signalling mode TCH/x In-Reply-To: References: Message-ID: Neels Hofmeyr has created a revert of this change. ( https://gerrit.osmocom.org/13172 ) Change subject: assignment_fsm: Properly support assigning signalling mode TCH/x ...................................................................... -- To view, visit https://gerrit.osmocom.org/13172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: revert Gerrit-Change-Id: I4c7499c8c866ea3ff7b1327edb3615d003d927d3 Gerrit-Change-Number: 13172 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 22:12:08 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 22:12:08 +0000 Subject: Change in osmo-bsc[master]: Revert "assignment_fsm: Properly support assigning signalling mode TC... In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13256 ) Change subject: Revert "assignment_fsm: Properly support assigning signalling mode TCH/x" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I72aaa03539919e7e85b5b75b133326cec5e68bc9 Gerrit-Change-Number: 13256 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Max Gerrit-Comment-Date: Thu, 14 Mar 2019 22:12:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 22:47:31 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 22:47:31 +0000 Subject: Change in osmo-bsc[master]: Revert "assignment_fsm: Properly support assigning signalling mode TC... In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13256 ) Change subject: Revert "assignment_fsm: Properly support assigning signalling mode TCH/x" ...................................................................... Revert "assignment_fsm: Properly support assigning signalling mode TCH/x" This commit breaks voice channel assignment. It results in the Assignment Complete sent to the MSC for a voice lchan lacking AoIP Transport Layer Address, Speech Version and Speech Codec. Hence the MSC cannot complete the Assignment for a voice call. Let's revisit this patch, test thoroughly and re-merge later. This reverts commit 4d3a21269b25e7164a94fa8ce3ad67ff80904aee. Reason for revert: Change-Id: I72aaa03539919e7e85b5b75b133326cec5e68bc9 --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/codec_pref.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/osmo_bsc_bssap.c M tests/codec_pref/codec_pref_test.c 8 files changed, 134 insertions(+), 169 deletions(-) Approvals: Neels Hofmeyr: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index aff73de..47ca5e8 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -98,15 +98,9 @@ SUBSCR_SCCP_ST_CONNECTED }; -enum channel_rate { - CH_RATE_SDCCH, - CH_RATE_HALF, - CH_RATE_FULL, -}; - struct channel_mode_and_rate { enum gsm48_chan_mode chan_mode; - enum channel_rate chan_rate; + bool full_rate; uint16_t s15_s0; }; @@ -121,9 +115,12 @@ char msc_rtp_addr[INET_ADDRSTRLEN]; uint16_t msc_rtp_port; - /* Rate/codec setting in preference order (need at least 1 !) */ - int n_ch_mode_rate; - struct channel_mode_and_rate ch_mode_rate[3]; + /* Prefered rate/codec setting (mandatory) */ + struct channel_mode_and_rate ch_mode_rate_pref; + + /* Alternate rate/codec setting (optional) */ + bool ch_mode_rate_alt_present; + struct channel_mode_and_rate ch_mode_rate_alt; }; /* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index 865181b..4aecdf6 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -3,4 +3,4 @@ struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); + enum gsm48_chan_mode chan_mode, bool full_rate); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 2180791..aa696ac 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -251,15 +251,17 @@ static bool lchan_type_compat_with_mode(enum gsm_chan_t type, const struct channel_mode_and_rate *ch_mode_rate) { enum gsm48_chan_mode chan_mode = ch_mode_rate->chan_mode; - enum channel_rate chan_rate = ch_mode_rate->chan_rate; + bool full_rate = ch_mode_rate->full_rate; switch (chan_mode) { case GSM48_CMODE_SIGN: switch (type) { - case GSM_LCHAN_TCH_F: return chan_rate == CH_RATE_FULL; - case GSM_LCHAN_TCH_H: return chan_rate == CH_RATE_HALF; - case GSM_LCHAN_SDCCH: return chan_rate == CH_RATE_SDCCH; - default: return false; + case GSM_LCHAN_TCH_F: + case GSM_LCHAN_TCH_H: + case GSM_LCHAN_SDCCH: + return true; + default: + return false; } case GSM48_CMODE_SPEECH_V1: @@ -267,12 +269,12 @@ case GSM48_CMODE_DATA_3k6: case GSM48_CMODE_DATA_6k0: /* these services can all run on TCH/H, but we may have - * an explicit override by the 'chan_rate' argument */ + * an explicit override by the 'full_rate' argument */ switch (type) { case GSM_LCHAN_TCH_F: - return chan_rate == CH_RATE_FULL; + return full_rate; case GSM_LCHAN_TCH_H: - return chan_rate == CH_RATE_HALF; + return !full_rate; default: return false; } @@ -318,34 +320,45 @@ * sure that both are consistent. */ static int check_requires_voice_stream(struct gsm_subscriber_connection *conn) { - bool requires_voice_pref = false, requires_voice_alt; + bool result_requires_voice_alt; + bool result_requires_voice_pref; struct assignment_request *req = &conn->assignment.req; struct osmo_fsm_inst *fi = conn->fi; - int i, rc; + int rc; /* When the assignment request indicates that there is an alternate * rate available (e.g. "Full or Half rate channel, Half rate * preferred..."), then both must be either voice or either signalling, * a mismatch is not permitted */ - for (i = 0; i < req->n_ch_mode_rate; i++) { - rc = check_requires_voice(&requires_voice_alt, req->ch_mode_rate[i].chan_mode); - if (rc < 0) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Channel mode not supported (prev level %d): %s", i, - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); - return -EINVAL; - } + /* Check the prefered setting */ + rc = check_requires_voice(&result_requires_voice_pref, req->ch_mode_rate_pref.chan_mode); + if (rc < 0) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Prefered channel mode not supported: %s", + gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode)); + return -EINVAL; + } + conn->assignment.requires_voice_stream = result_requires_voice_pref; - if (i==0) - requires_voice_pref = requires_voice_alt; - else if (requires_voice_alt != requires_voice_pref) { - assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, - "Inconsistent channel modes: %s != %s", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - gsm48_chan_mode_name(req->ch_mode_rate[i].chan_mode)); - return -EINVAL; - } + /* If there is an alternate setting, check that one as well */ + if (!req->ch_mode_rate_alt_present) + return 0; + rc = check_requires_voice(&result_requires_voice_alt, req->ch_mode_rate_alt.chan_mode); + if (rc < 0) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Alternate channel mode not supported: %s", + gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); + return -EINVAL; + } + + /* Make sure both settings match */ + if (result_requires_voice_pref != result_requires_voice_alt) { + assignment_fail(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP, + "Inconsistent channel modes: %s != %s", + gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), + gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode)); + return -EINVAL; } return 0; @@ -357,20 +370,18 @@ static bool reuse_existing_lchan(struct gsm_subscriber_connection *conn) { struct assignment_request *req = &conn->assignment.req; - int i; if (!conn->lchan) return false; /* Check if the currently existing lchan is compatible with the * preferred rate/codec. */ - for (i = 0; i < req->n_ch_mode_rate; i++) - if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate[i])) { - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - break; - } - - if (i == req->n_ch_mode_rate) + if (lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_pref)) + conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; + else if (req->ch_mode_rate_alt_present + && lchan_type_compat_with_mode(conn->lchan->type, &req->ch_mode_rate_alt)) + conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; + else return false; if (conn->lchan->tch_mode != conn->lchan->ch_mode_rate.chan_mode) { @@ -388,14 +399,8 @@ void assignment_fsm_start(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, struct assignment_request *req) { - static const char *rate_names[] = { - [CH_RATE_SDCCH] = "SDCCH", - [CH_RATE_HALF] = "HR", - [CH_RATE_FULL] = "FR", - }; struct osmo_fsm_inst *fi; struct lchan_activate_info info; - int i; OSMO_ASSERT(conn); OSMO_ASSERT(conn->fi); @@ -438,13 +443,17 @@ return; } - /* Try to allocate a new lchan in order of preference */ - for (i = 0; i < req->n_ch_mode_rate; i++) { - conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, - req->ch_mode_rate[i].chan_mode, req->ch_mode_rate[i].chan_rate); - conn->lchan->ch_mode_rate = req->ch_mode_rate[i]; - if (conn->assignment.new_lchan) - break; + /* Try to allocate a new lchan with the preferred codec/rate choice */ + conn->assignment.new_lchan = + lchan_select_by_chan_mode(bts, req->ch_mode_rate_pref.chan_mode, req->ch_mode_rate_pref.full_rate); + conn->lchan->ch_mode_rate = req->ch_mode_rate_pref; + + /* In case the lchan allocation fails, we try with the alternat codec/ + * rate choice (if possible) */ + if (!conn->assignment.new_lchan && req->ch_mode_rate_alt_present) { + conn->assignment.new_lchan = + lchan_select_by_chan_mode(bts, req->ch_mode_rate_alt.chan_mode, req->ch_mode_rate_alt.full_rate); + conn->lchan->ch_mode_rate = req->ch_mode_rate_alt; } /* Check whether the lchan allocation was successful or not and tear @@ -453,22 +462,21 @@ assignment_count_result(BSC_CTR_ASSIGNMENT_NO_CHANNEL); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" - " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", - gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode), - rate_names[req->ch_mode_rate[0].chan_rate], - req->n_ch_mode_rate >= 1 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 1 ? rate_names[req->ch_mode_rate[0].chan_rate] : "", - req->n_ch_mode_rate >= 2 ? gsm48_chan_mode_name(req->ch_mode_rate[0].chan_mode) : "", - req->n_ch_mode_rate >= 2 ? rate_names[req->ch_mode_rate[0].chan_rate] : "" - ); + " No lchan available for: preferred=%s%s / alternate=%s%s\n", + gsm48_chan_mode_name(req->ch_mode_rate_pref.chan_mode), + req->ch_mode_rate_pref.full_rate ? ",FR" : ",HR", + req->ch_mode_rate_alt_present ? + gsm48_chan_mode_name(req->ch_mode_rate_alt.chan_mode) : "none", + req->ch_mode_rate_alt_present ? + (req->ch_mode_rate_alt.full_rate ? ",FR" : ",HR") : ""); return; } assignment_fsm_update_id(conn); - LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s," + LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, full_rate=%d," " aoip=%s MSC-rtp=%s:%u\n", gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode), - rate_names[conn->lchan->ch_mode_rate.chan_rate], + conn->lchan->ch_mode_rate.full_rate, req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port); assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE); diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index 659853c..a94d6a8 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -281,7 +281,6 @@ { unsigned int i; uint8_t perm_spch; - bool full_rate; bool match = false; const struct gsm0808_speech_codec *sc_match = NULL; uint16_t amr_s15_s0_supported; @@ -296,16 +295,15 @@ perm_spch = audio_support_to_gsm88(msc->audio_support[i]); /* Determine if the result is a half or full rate codec */ - rc = full_rate_from_perm_spch(&full_rate, perm_spch); + rc = full_rate_from_perm_spch(&ch_mode_rate->full_rate, perm_spch); if (rc < 0) return -EINVAL; - ch_mode_rate->chan_rate = full_rate ? CH_RATE_FULL : CH_RATE_HALF; /* If we have a preference for FR or HR in our request, we * discard the potential match */ - if (rate_pref == RATE_PREF_HR && ch_mode_rate->chan_rate == CH_RATE_FULL) + if (rate_pref == RATE_PREF_HR && ch_mode_rate->full_rate) continue; - if (rate_pref == RATE_PREF_FR && ch_mode_rate->chan_rate == CH_RATE_HALF) + if (rate_pref == RATE_PREF_FR && !ch_mode_rate->full_rate) continue; /* Check this permitted speech value against the BTS specific parameters. @@ -323,8 +321,8 @@ /* Exit without result, in case no match can be deteched */ if (!match) { + ch_mode_rate->full_rate = false; ch_mode_rate->chan_mode = GSM48_CMODE_SIGN; - ch_mode_rate->chan_rate = CH_RATE_SDCCH; ch_mode_rate->s15_s0 = 0; return -1; } diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 77f8138..a3d25d6 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -569,11 +569,10 @@ } LOG_HO(conn, LOGL_DEBUG, "BTS %u: Found matching audio type: %s %s (for %s)\n", - bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), - ch_mode_rate.chan_rate == CH_RATE_FULL ? "full-rate" : "half-rate", + bts->nr, gsm48_chan_mode_name(ch_mode_rate.chan_mode), ch_mode_rate.full_rate? "full-rate" : "half-rate", gsm0808_channel_type_name(&req->ct)); - lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.chan_rate); + lchan = lchan_select_by_chan_mode(bts, ch_mode_rate.chan_mode, ch_mode_rate.full_rate); if (!lchan) { LOG_HO(conn, LOGL_DEBUG, "BTS %u has no matching free channels\n", bts->nr); continue; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 0a9752e..0f4dd65 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -128,31 +128,22 @@ } struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, - enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) + enum gsm48_chan_mode chan_mode, bool full_rate) { enum gsm_chan_t type; switch (chan_mode) { case GSM48_CMODE_SIGN: - switch (chan_rate) { - case CH_RATE_SDCCH: type = GSM_LCHAN_SDCCH; break; - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; - } + type = GSM_LCHAN_SDCCH; break; case GSM48_CMODE_SPEECH_EFR: /* EFR works over FR channels only */ - if (chan_rate != CH_RATE_FULL) + if (!full_rate) return NULL; /* fall through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_AMR: - switch (chan_rate) { - case CH_RATE_HALF: type = GSM_LCHAN_TCH_H; break; - case CH_RATE_FULL: type = GSM_LCHAN_TCH_F; break; - default: return NULL; - } + type = full_rate ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H; break; default: return NULL; diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 5c8ce97..85aab22 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -626,48 +626,60 @@ static int select_codecs(struct assignment_request *req, struct gsm0808_channel_type *ct, struct gsm_subscriber_connection *conn) { - int rc, i, nc = 0; + int rc; struct bsc_msc_data *msc; msc = conn->sccp.msc; + req->ch_mode_rate_alt_present = false; switch (ct->ch_rate_type) { case GSM0808_SPEECH_FULL_BM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - nc += (rc == 0); break; case GSM0808_SPEECH_HALF_LM: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - nc += (rc == 0); break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF_NO_CHANGE: case GSM0808_SPEECH_FULL_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - nc += (rc == 0); - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + if (rc < 0) { + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + RATE_PREF_HR); + break; + } + rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - nc += (rc == 0); + if (rc == 0) + req->ch_mode_rate_alt_present = true; + rc = 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_HR); - nc += (rc == 0); - rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, conn_get_bts(conn), + + if (rc < 0) { + rc = match_codec_pref(&req->ch_mode_rate_pref, ct, &conn->codec_list, msc, conn_get_bts(conn), + RATE_PREF_FR); + break; + } + rc = match_codec_pref(&req->ch_mode_rate_alt, ct, &conn->codec_list, msc, conn_get_bts(conn), RATE_PREF_FR); - nc += (rc == 0); + if (rc == 0) + req->ch_mode_rate_alt_present = true; + rc = 0; break; default: rc = -EINVAL; break; } - if (!nc) { + if (rc < 0) { LOGP(DMSC, LOGL_ERROR, "No supported audio type found for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[%s] }\n", ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); @@ -676,69 +688,29 @@ return -EINVAL; } - for (i = 0; i < nc; i++ ) { - DEBUGP(DMSC, "Found matching audio type (pref=%d): %s %s for channel_type =" + if (req->ch_mode_rate_alt_present) { + DEBUGP(DMSC, "Found matching audio type (preferred): %s %s for channel_type =" " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", - i, - req->ch_mode_rate[i].chan_rate == CH_RATE_FULL ? "full rate" : "half rate", - get_value_string(gsm48_chan_mode_names, req->ch_mode_rate[i].chan_mode), + req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - } + DEBUGP(DMSC, "Found matching audio type (alternative): %s %s for channel_type =" + " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", + req->ch_mode_rate_alt.full_rate ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_alt.chan_mode), + ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); + } else { + DEBUGP(DMSC, "Found matching audio type: %s %s for channel_type =" + " { ch_indctr=0x%x, ch_rate_type=0x%x, perm_spch=[ %s] }\n", + req->ch_mode_rate_pref.full_rate ? "full rate" : "half rate", + get_value_string(gsm48_chan_mode_names, req->ch_mode_rate_pref.chan_mode), + ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); - req->n_ch_mode_rate = nc; + } return 0; } -static int select_sign_chan(struct assignment_request *req, struct gsm0808_channel_type *ct) -{ - int i, nc = 0; - - switch (ct->ch_rate_type) { - case GSM0808_SIGN_ANY: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - case GSM0808_SIGN_SDCCH: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - break; - case GSM0808_SIGN_SDCCH_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - case GSM0808_SIGN_SDCCH_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_SDCCH; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - break; - case GSM0808_SIGN_FULL_BM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - case GSM0808_SIGN_HALF_LM: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - break; - case GSM0808_SIGN_FULL_PREF: - case GSM0808_SIGN_FULL_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - break; - case GSM0808_SIGN_HALF_PREF: - case GSM0808_SIGN_HALF_PREF_NO_CHANGE: - req->ch_mode_rate[nc++].chan_rate = CH_RATE_HALF; - req->ch_mode_rate[nc++].chan_rate = CH_RATE_FULL; - break; - default: - break; - } - - for (i = 0; i < nc; i++) - req->ch_mode_rate[i].chan_mode = GSM48_CMODE_SIGN; - - req->n_ch_mode_rate = nc; - - return nc > 0 ? 0 : -EINVAL; -} - /* * Handle the assignment request message. * @@ -756,6 +728,7 @@ uint8_t cause; int rc; struct assignment_request req = {}; + struct channel_mode_and_rate ch_mode_rate_pref = {}; if (!conn) { LOGP(DMSC, LOGL_ERROR, @@ -876,15 +849,14 @@ } break; case GSM0808_CHAN_SIGN: - req = (struct assignment_request){ - .aoip = aoip, + ch_mode_rate_pref = (struct channel_mode_and_rate) { + .chan_mode = GSM48_CMODE_SIGN, }; - rc = select_sign_chan(&req, &ct); - if (rc < 0) { - cause = GSM0808_CAUSE_INCORRECT_VALUE; - goto reject; - } + req = (struct assignment_request){ + .aoip = aoip, + .ch_mode_rate_pref = ch_mode_rate_pref, + }; break; default: cause = GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS; diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c index ce82f3d..bb5468a 100644 --- a/tests/codec_pref/codec_pref_test.c +++ b/tests/codec_pref/codec_pref_test.c @@ -407,7 +407,7 @@ rc = match_codec_pref(&ch_mode_rate, ct, scl, msc, bts, RATE_PREF_NONE); printf(" * result: rc=%i, full_rate=%i, s15_s0=%04x, chan_mode=%s\n", - rc, ch_mode_rate.chan_rate == CH_RATE_FULL, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); + rc, ch_mode_rate.full_rate, ch_mode_rate.s15_s0, gsm48_chan_mode_name(ch_mode_rate.chan_mode)); printf("\n"); -- To view, visit https://gerrit.osmocom.org/13256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I72aaa03539919e7e85b5b75b133326cec5e68bc9 Gerrit-Change-Number: 13256 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: tnt Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 22:54:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 22:54:18 +0000 Subject: Change in osmo-bsc[master]: fix log line end in assignment_fsm.c Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13257 Change subject: fix log line end in assignment_fsm.c ...................................................................... fix log line end in assignment_fsm.c Change-Id: I4070ee9164eb161584df70ae174b538c394ab9cd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/57/13257/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index aa696ac..81a2a1e 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -563,7 +563,7 @@ struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); /* Do we still need to wait for the RTP stream at all? */ if (lchan_state_is(conn->assignment.new_lchan, LCHAN_ST_ESTABLISHED)) { - LOG_ASSIGNMENT(conn, LOGL_DEBUG, "lchan fully established, no need to wait"); + LOG_ASSIGNMENT(conn, LOGL_DEBUG, "lchan fully established, no need to wait\n"); assignment_fsm_post_lchan_established(fi); } } -- To view, visit https://gerrit.osmocom.org/13257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4070ee9164eb161584df70ae174b538c394ab9cd Gerrit-Change-Number: 13257 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 14 22:54:19 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Thu, 14 Mar 2019 22:54:19 +0000 Subject: Change in osmo-bsc[master]: avoid use-after-free: on MGW endpoint dealloc, also forget it in conn... Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13258 Change subject: avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.* ...................................................................... avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.* With the FORGET_MGW_ENDPOINT event, the MGW endpoint FSM notifies the gscon that it has deallocated and that hence the gscon should forget all references to it (to avoid a use-after-free). Also do this for the endpoint FSM and endpoint ci pointers in the conn->ho.* sub struct. I saw a use-after-free after a Handover Failure message tears down the lchan and MGW endpoint before triggering the handover_fsm.c cleanup code, which also tries to clean up an endpoint CI if it was created for the failed Handover. Change-Id: I6702ccd0df44bea5eb8b26d471d7903c24e6e30b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/13258/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 13a5730..1cc0c78 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -699,6 +699,7 @@ { conn->user_plane.mgw_endpoint = NULL; conn->user_plane.mgw_endpoint_ci_msc = NULL; + conn->ho.created_ci_for_msc = NULL; lchan_forget_mgw_endpoint(conn->lchan); lchan_forget_mgw_endpoint(conn->assignment.new_lchan); lchan_forget_mgw_endpoint(conn->ho.new_lchan); @@ -706,9 +707,11 @@ void gscon_forget_mgw_endpoint_ci(struct gsm_subscriber_connection *conn, struct mgwep_ci *ci) { - if (ci != conn->user_plane.mgw_endpoint_ci_msc) - return; - conn->user_plane.mgw_endpoint_ci_msc = NULL; + if (conn->ho.created_ci_for_msc == ci) + conn->ho.created_ci_for_msc = NULL; + + if (conn->user_plane.mgw_endpoint_ci_msc == ci) + conn->user_plane.mgw_endpoint_ci_msc = NULL; } static void gscon_fsm_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/13258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6702ccd0df44bea5eb8b26d471d7903c24e6e30b Gerrit-Change-Number: 13258 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 02:08:34 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 02:08:34 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13259 Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... add gsm0808_create_handover_request_ack2 to add AoIP RTP addr Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map 3 files changed, 54 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/13259/1 diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index a1345c3..b31a698 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -143,6 +143,26 @@ }; struct msgb *gsm0808_create_handover_required(const struct gsm0808_handover_required *params); +struct gsm0808_create_handover_request_ack { + const uint8_t *l3_info; + uint8_t l3_info_len; + + bool chosen_channel_present; + uint8_t chosen_channel; + + /*! For A5/N set chosen_encr_alg = N+1, e.g. chosen_encr_alg = 1 means A5/0 (no encryption), 2 means A5/1, 4 + * means A5/3. Set chosen_encr_alg = 0 to omit the Chosen Encryption Algorithm IE. */ + uint8_t chosen_encr_alg; + + /* chosen_speech_version == 0 omits the IE */ + uint8_t chosen_speech_version; + + struct sockaddr_storage aoip_transport_layer; + + /* more items are defined in the spec and may be added later */ + bool more_items; /*!< always set this to false */ +}; +struct msgb *gsm0808_create_handover_request_ack2(const struct gsm0808_create_handover_request_ack *params); struct msgb *gsm0808_create_handover_request_ack(const uint8_t *l3_info, uint8_t l3_info_len, uint8_t chosen_channel, uint8_t chosen_encr_alg, uint8_t chosen_speech_version); diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 4873076..ad51b5f 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -860,9 +860,7 @@ /*! Create BSSMAP HANDOVER REQUEST ACKNOWLEDGE message, 3GPP TS 48.008 3.2.1.10. * Sent from the MT BSC back to the MSC when it has allocated an lchan to handover to. * l3_info is the RR Handover Command that the MO BSC sends to the MS to move over. */ -struct msgb *gsm0808_create_handover_request_ack(const uint8_t *l3_info, uint8_t l3_info_len, - uint8_t chosen_channel, uint8_t chosen_encr_alg, - uint8_t chosen_speech_version) +struct msgb *gsm0808_create_handover_request_ack2(const struct gsm0808_create_handover_request_ack *params) { struct msgb *msg; @@ -873,13 +871,22 @@ /* Message Type, 3.2.2.1 */ msgb_v_put(msg, BSS_MAP_MSG_HANDOVER_RQST_ACKNOWLEDGE); - /* Layer 3 Information, 3.2.2.24 */ - msgb_tlv_put(msg, GSM0808_IE_LAYER_3_INFORMATION, l3_info_len, l3_info); + /* Layer 3 Information, 3.2.2.24 -- it is actually mandatory, but rather compose a nonstandard message than + * segfault or return NULL without a log message. */ + if (params->l3_info && params->l3_info_len) + msgb_tlv_put(msg, GSM0808_IE_LAYER_3_INFORMATION, params->l3_info_len, params->l3_info); - msgb_tv_put(msg, GSM0808_IE_CHOSEN_CHANNEL, chosen_channel); - msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, chosen_encr_alg); - if (chosen_speech_version != 0) - msgb_tv_put(msg, GSM0808_IE_SPEECH_VERSION, chosen_speech_version); + if (params->chosen_channel_present) + msgb_tv_put(msg, GSM0808_IE_CHOSEN_CHANNEL, params->chosen_channel); + if (params->chosen_encr_alg) + msgb_tv_put(msg, GSM0808_IE_CHOSEN_ENCR_ALG, params->chosen_encr_alg); + + if (params->chosen_speech_version != 0) + msgb_tv_put(msg, GSM0808_IE_SPEECH_VERSION, params->chosen_speech_version); + + if (params->aoip_transport_layer.ss_family == AF_INET + || params->aoip_transport_layer.ss_family == AF_INET6) + gsm0808_enc_aoip_trasp_addr(msg, ¶ms->aoip_transport_layer); /* prepend header with final length */ msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); @@ -887,6 +894,23 @@ return msg; } +/*! Same as gsm0808_create_handover_request_ack2() but with less parameters. + * In particular, this lacks the AoIP Transport Layer address. */ +struct msgb *gsm0808_create_handover_request_ack(const uint8_t *l3_info, uint8_t l3_info_len, + uint8_t chosen_channel, uint8_t chosen_encr_alg, + uint8_t chosen_speech_version) +{ + struct gsm0808_create_handover_request_ack params = { + .l3_info = l3_info, + .l3_info_len = l3_info_len, + .chosen_channel = chosen_channel, + .chosen_encr_alg = chosen_encr_alg, + .chosen_speech_version = chosen_speech_version, + }; + + return gsm0808_create_handover_request_ack2(¶ms); +} + /*! Create BSSMAP HANDOVER DETECT message, 3GPP TS 48.008 3.2.1.40. * Sent from the MT BSC back to the MSC when the MS has sent a handover RACH request and the MT BSC has * received the Handover Detect message. */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 3fadc5a..12ca1fa 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -183,6 +183,7 @@ gsm0808_create_sapi_reject; gsm0808_create_handover_required; gsm0808_create_handover_request_ack; +gsm0808_create_handover_request_ack2; gsm0808_create_handover_detect; gsm0808_create_handover_complete; gsm0808_create_handover_failure; -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 02:12:51 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 02:12:51 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13259 to look at the new patch set (#2). Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... add gsm0808_create_handover_request_ack2 to add AoIP RTP addr osmo-bsc so far omits the AoIP Transport Layer Address from its Handover Request Acknowledge message, which breaks inter-BSC Handover for AoIP. Allow fixing that. Related: I4a5acdb2d4a0b947cc0c62067a67be88a3d467ff (osmo-bsc) Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map 3 files changed, 54 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/13259/2 -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 02:16:15 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 02:16:15 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13259 to look at the new patch set (#3). Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... add gsm0808_create_handover_request_ack2 to add AoIP RTP addr osmo-bsc so far omits the AoIP Transport Layer Address from its Handover Request Acknowledge message, which breaks inter-BSC Handover for AoIP. Allow fixing that. Related: I4a5acdb2d4a0b947cc0c62067a67be88a3d467ff (osmo-bsc) Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map 3 files changed, 56 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/13259/3 -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 04:04:22 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 04:04:22 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 3: (1 comment) In the end I kept the naming the same, while spreading a lot more documentation to clarify. The outer struct could be called "osmo_use_count_list", but semantically, it represents *the* use count of this object, which happens to be fragmented into separate named tokens with a portion of the counts for each token. Each token has a 'use' (a name) and a 'count', which IMHO can't be improved upon naming wise. Suggestions welcome. (I also like how 'use' and 'count' make 'use count' ;) https://gerrit.osmocom.org/#/c/13121/2/src/use_count.c File src/use_count.c: https://gerrit.osmocom.org/#/c/13121/2/src/use_count.c at 205 PS2, Line 205: * \param[in] file Source file path, as in __FILE__. > ACK. [?] NACK, I disagree with describing all arguments here. The reason is that this is the kind of private implementation handle for the actual osmo_use_count_get_put() API, and writing out all arguments will be an exact copy of the description in osmo_use_count_get_put(). Add a few patches here and there, and very soon both will be out of sync. I will not introduce such a copy for function signatures that are so obviously one and the same. Having 'change' vs 'diff' isn't harmful, but I can change that if you insist. I can diff that if you insist. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 04:04:22 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 04:05:18 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 04:05:18 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, Pau Espin Pedrol, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13121 to look at the new patch set (#4). Change subject: add osmo_use_count API ...................................................................... add osmo_use_count API Provide a common implementation of use counting that supports naming each user as well as counting more than just one use per user, depending on the rules the caller implies. In osmo-msc, we were originally using a simple int counter to see whether a connection is still in use or should be discarded. For clarity, we later added names to each user in the form of a bitmask of flags, to figure out exactly which users are still active: for logging and to debug double get / double put bugs. This however is still not adequate, since there may be more than one CM Service Request pending. Also, it is a specialized implementation that is not re-usable. With this generalized implementation, we can: - fix the problem of inadequate counting of multiple concurrent CM Service Requests (more than one use count per user category), - directly use arbitrary names for uses like __func__ or "foo" (no need to define enums and value_string[]s), - re-use the same code for e.g. vlr_subscr and get fairly detailed VLR susbscriber usage logging for free. Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 --- M include/Makefile.am A include/osmocom/core/use_count.h M src/Makefile.am A src/use_count.c M tests/Makefile.am M tests/testsuite.at A tests/use_count/use_count_test.c A tests/use_count/use_count_test.err A tests/use_count/use_count_test.ok 9 files changed, 1,029 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/13121/4 -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 04:18:26 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 04:18:26 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13259 to look at the new patch set (#4). Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... add gsm0808_create_handover_request_ack2 to add AoIP RTP addr osmo-bsc so far omits the AoIP Transport Layer Address from its Handover Request Acknowledge message, which breaks inter-BSC Handover for AoIP. Allow fixing that. Related: I4a5acdb2d4a0b947cc0c62067a67be88a3d467ff (osmo-bsc) Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm_utils.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map 4 files changed, 56 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/13259/4 -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 04:36:49 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 04:36:49 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13259 to look at the new patch set (#5). Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... add gsm0808_create_handover_request_ack2 to add AoIP RTP addr osmo-bsc so far omits the AoIP Transport Layer Address from its Handover Request Acknowledge message, which breaks inter-BSC Handover for AoIP. Allow fixing that. Related: I4a5acdb2d4a0b947cc0c62067a67be88a3d467ff (osmo-bsc) Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map 3 files changed, 53 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/13259/5 -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 04:52:36 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 04:52:36 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13259 to look at the new patch set (#6). Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... add gsm0808_create_handover_request_ack2 to add AoIP RTP addr osmo-bsc so far omits the AoIP Transport Layer Address from its Handover Request Acknowledge message, which breaks inter-BSC Handover for AoIP. Allow fixing that. One quirk I really don't like about this: I would prefer to directly use struct sockaddr_storage as a member of the struct gsm0808_handover_request_ack. Even though struct sockaddr_storage appears in various function signatures, the gsm0808.c actually also gets built on embedded systems that lack arpa/inet.h (for me indicated by the ARM build job on jenkins). Compiling gsm0808.c works only because the actual coding of struct sockaddr_storage is implemented in gsm0808_util.c, which (apparently) does not get built on embedded and hence, even though there are undefined references to e.g. gsm0808_enc_aoip_trasp_addr() it works. Related: I4a5acdb2d4a0b947cc0c62067a67be88a3d467ff (osmo-bsc) Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 --- M include/osmocom/gsm/gsm0808.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map 3 files changed, 53 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/13259/6 -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 05:05:23 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 05:05:23 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13259 ) Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... Patch Set 6: This quirk explained in the commit log is a minor detail but it bugs me. If we merge this once, we will always keep this sockaddr_storage as pointer instead of as member chiseled in stone. The long term perspective could have been to also provide these structs like struct gsm0808_handover_request_ack as the output of decoding in libosmocore, instead of just as input to encoding. So far the situation is that libosmocore can only *encode* BSSAP, but *decoding* is done separately in each program. i.e., osmo-bsc implements TLV parsing of some BSSAP messages, while osmo-msc implements TLV parsing for others. Now, if at some point I would add a gsm0808_decode_handover_request_ack() function, I would like to provide struct gsm0808_handover_request_ack as out-argument, and I would also like to then have the sockaddr_storage as direct member. Otherwise the caller would need to first populate with a pointer before calling. All possible of course, but rather quirky IMO. This just because the use of sockaddr_storage isn't properly separated from implementations that get compiled on embedded and can't use it; embedded builds include headers naming struct sockaddr_storage even though the platform doesn't support it, and even function implementations using sockaddr_storage get compiled there but can't ever be used because they have unresolved references to functions handling sockaddr_storage ... meh If we reshuffled the files to separate sockaddr_storage from embedded properly, we could include netinet/in.h directly in gsm0808.h and just use struct sockaddr_* as members. A similar quirk shows up in that osmo_ip_port patch, I have to carefully navigate around what includes what. In the regression tests, it is even weirder. There is an "if ENABLE_MSGFILE" in testsuite.at, but an 'if' like that doesn't seem to have any effect at all. So we can't actually exclude individual tests on embedded. How does that work, we just don't run any tests there apparently? What do you guys think, should I try to separate sockaddr_storage from embedded builds before merging (or releasing) this, or is this a can of worms and incompatibilities that will suck me into realms where I don't want to go? -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Fri, 15 Mar 2019 05:05:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 07:21:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 07:21:18 +0000 Subject: Change in osmo-ci[master]: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13260 Change subject: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim ...................................................................... build_deps: add libulfius-dev and libjansson-dev for osmo-remsim Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/60/13260/1 diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml index 1a53b57..efbf94a 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -120,3 +120,13 @@ with_items: - liblimesuite-dev when: ansible_distribution == 'Debian' and ansible_distribution_version >= '9' + +- name: install osmo-remsim dependencies + apt: + name: "{{ item }}" + cache_valid_time: 3600 + update_cache: yes + with_items: + - libjansson-dev + - libulfius-dev + when: ansible_distribution == 'Debian' and ansible_distribution_version == '9' -- To view, visit https://gerrit.osmocom.org/13260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18 Gerrit-Change-Number: 13260 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 08:51:29 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 08:51:29 +0000 Subject: Change in osmo-msc[master]: silent_call: use osmo_strlcpy() instead of strncpy() Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13261 Change subject: silent_call: use osmo_strlcpy() instead of strncpy() ...................................................................... silent_call: use osmo_strlcpy() instead of strncpy() If gsm_silent_call_start() is called with an over long string in traffic_dst_ip, then the target string might be left unterminated. Lets use osmo_strlcpy() so that we can be sure the result in scd->traffic_ip is always terminated. Fixes: CID#196068 Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c --- M src/libmsc/silent_call.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/61/13261/1 diff --git a/src/libmsc/silent_call.c b/src/libmsc/silent_call.c index 7effba3..14974f3 100644 --- a/src/libmsc/silent_call.c +++ b/src/libmsc/silent_call.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -202,7 +203,7 @@ memcpy(&scd->ct, ct, sizeof(scd->ct)); if (traffic_dst_ip) { - strncpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); + osmo_strlcpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); scd->traffic_port = traffic_dst_port; } -- To view, visit https://gerrit.osmocom.org/13261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c Gerrit-Change-Number: 13261 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 09:01:57 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 09:01:57 +0000 Subject: Change in osmo-bts[master]: OC-2G: Nominal transmit power is 25 dBm, not 40 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13135 ) Change subject: OC-2G: Nominal transmit power is 25 dBm, not 40 ...................................................................... Patch Set 1: Verified+1 Code-Review+1 > Build Successful > > https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-bts/742/ : > SUCCESS' --verified 1 --code-review 0 -- To view, visit https://gerrit.osmocom.org/13135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia6b3476ab2f9279f8905b8c7cfd07ef7b0a939ed Gerrit-Change-Number: 13135 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 15 Mar 2019 09:01:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 09:58:53 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 09:58:53 +0000 Subject: Change in osmo-bts[master]: oc2g: remove unused define constant FACTORY_ROM_PATH Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13262 Change subject: oc2g: remove unused define constant FACTORY_ROM_PATH ...................................................................... oc2g: remove unused define constant FACTORY_ROM_PATH Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 --- M src/osmo-bts-oc2g/misc/oc2gbts_par.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/62/13262/1 diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_par.h b/src/osmo-bts-oc2g/misc/oc2gbts_par.h index 588a3c3..0bdbed9 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_par.h +++ b/src/osmo-bts-oc2g/misc/oc2gbts_par.h @@ -3,7 +3,6 @@ #include -#define FACTORY_ROM_PATH "/mnt/rom/factory" #define USER_ROM_PATH "/var/run/oc2gbts-mgr" #define UPTIME_TMP_PATH "/tmp/uptime" -- To view, visit https://gerrit.osmocom.org/13262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Gerrit-Change-Number: 13262 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 09:58:54 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 09:58:54 +0000 Subject: Change in osmo-bts[master]: lc15: remove unused define constant FACTORY_ROM_PATH Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13263 Change subject: lc15: remove unused define constant FACTORY_ROM_PATH ...................................................................... lc15: remove unused define constant FACTORY_ROM_PATH Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 --- M src/osmo-bts-litecell15/misc/lc15bts_par.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/63/13263/1 diff --git a/src/osmo-bts-litecell15/misc/lc15bts_par.h b/src/osmo-bts-litecell15/misc/lc15bts_par.h index 217ae5f..7429565 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_par.h +++ b/src/osmo-bts-litecell15/misc/lc15bts_par.h @@ -3,7 +3,6 @@ #include -#define FACTORY_ROM_PATH "/mnt/rom/factory" #define USER_ROM_PATH "/mnt/storage/var/run/lc15bts-mgr" enum lc15bts_par { -- To view, visit https://gerrit.osmocom.org/13263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Gerrit-Change-Number: 13263 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 09:58:54 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 09:58:54 +0000 Subject: Change in osmo-bts[master]: oml: make oml_tx_failure_event_rep() public Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13264 Change subject: oml: make oml_tx_failure_event_rep() public ...................................................................... oml: make oml_tx_failure_event_rep() public The static function oml_tx_failure_event_rep() is a lot easier to use than the currently implemented signal scheme. Lets make it public so that we can quickly generate failure event reports. Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Related: OS#3823 --- M include/osmo-bts/oml.h M src/common/oml.c 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/64/13264/1 diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h index 4dca2f8..a87d438 100644 --- a/include/osmo-bts/oml.h +++ b/include/osmo-bts/oml.h @@ -47,4 +47,7 @@ /* Transmit failure event report */ void oml_fail_rep(uint16_t cause_value, const char *fmt, ...); +int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, + const char *fmt, ...); + #endif // _OML_H */ diff --git a/src/common/oml.c b/src/common/oml.c index b04caf6..ac388d1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -67,8 +67,8 @@ } /* 3GPP TS 12.21 ? 8.8.2 */ -static int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, - const char *fmt, ...) +int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, + const char *fmt, ...) { struct msgb *nmsg; va_list ap; -- To view, visit https://gerrit.osmocom.org/13264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Gerrit-Change-Number: 13264 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 09:58:55 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 09:58:55 +0000 Subject: Change in osmo-bts[master]: oc2g: generate failure event report in case of bad calibration Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13265 Change subject: oc2g: generate failure event report in case of bad calibration ...................................................................... oc2g: generate failure event report in case of bad calibration When the TX/RX calibration files can not be loaded a failure event report should be sent to the BSC. Lets send a failure event report when calbration data is either bad or can not be loaded (see also remvoed TODOs). Related OS#3823 Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 7 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/65/13265/1 diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index 4976848..5beb895 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -34,6 +34,7 @@ #include #include +#include #include #include @@ -133,16 +134,8 @@ st->fp = fopen(fname, "rb"); if (!st->fp) { LOGP(DL1C, LOGL_NOTICE, "Failed to open '%s' for calibration data.\n", fname); - - /* TODO (oramadan): Fix OML alarms - if( fl1h->phy_inst->trx ){ - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - alarm_sig_data.add_text = (char*)&fname[0]; - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_OPEN_CALIB_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Failed to open '%s' for calibration data.", fname); return -1; } return 0; @@ -228,17 +221,8 @@ rc = calib_verify(fl1h, desc); if (rc < 0) { LOGP(DL1C, LOGL_NOTICE,"Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); - - /* TODO (oramadan): Fix OML alarms - if (fl1h->phy_inst->trx) { - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - alarm_sig_data.add_text = (char*)&desc->fname[0]; - memcpy(alarm_sig_data.spare, &rc, sizeof(int)); - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_VERIFY_CALIB_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Verify L1 calibration table %s -> failed (%d)", desc->fname, rc); st->last_file_idx = get_next_calib_file_idx(fl1h, st->last_file_idx); @@ -294,15 +278,8 @@ if (!calib_path) { LOGP(DL1C, LOGL_NOTICE, "Calibration file path not specified\n"); - - /* TODO (oramadan): Fix OML alarms - if( fl1h->phy_inst->trx ){ - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_NO_CALIB_PATH_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Calibration file path not specified"); return -1; } -- To view, visit https://gerrit.osmocom.org/13265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Gerrit-Change-Number: 13265 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 09:58:55 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 09:58:55 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13266 Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... oc2g: change log level for calibration file errors to ERROR The log level of the messages that notify calibration file loading problems is NOTICE, but since it is a severe problem when calibration can not be loaded lets change it to ERROR Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Related: OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/13266/1 diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index 5beb895..d7cbbb1 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -133,7 +133,7 @@ st->fp = fopen(fname, "rb"); if (!st->fp) { - LOGP(DL1C, LOGL_NOTICE, "Failed to open '%s' for calibration data.\n", fname); + LOGP(DL1C, LOGL_ERROR, "Failed to open '%s' for calibration data.\n", fname); oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, "Failed to open '%s' for calibration data.", fname); return -1; @@ -220,7 +220,7 @@ rc = calib_verify(fl1h, desc); if (rc < 0) { - LOGP(DL1C, LOGL_NOTICE,"Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); + LOGP(DL1C, LOGL_ERROR, "Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, "Verify L1 calibration table %s -> failed (%d)", desc->fname, rc); @@ -277,7 +277,7 @@ char *calib_path = fl1h->phy_inst->u.oc2g.calib_path; if (!calib_path) { - LOGP(DL1C, LOGL_NOTICE, "Calibration file path not specified\n"); + LOGP(DL1C, LOGL_ERROR, "Calibration file path not specified\n"); oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, "Calibration file path not specified"); return -1; -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:41:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:41:08 +0000 Subject: Change in osmo-bts[master]: oml: make oml_tx_failure_event_rep() public In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13264 ) Change subject: oml: make oml_tx_failure_event_rep() public ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Gerrit-Change-Number: 13264 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 11:41:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:41:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:41:20 +0000 Subject: Change in osmo-bts[master]: lc15: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13263 ) Change subject: lc15: remove unused define constant FACTORY_ROM_PATH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Gerrit-Change-Number: 13263 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 11:41:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:41:31 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:41:31 +0000 Subject: Change in osmo-bts[master]: oc2g: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13262 ) Change subject: oc2g: remove unused define constant FACTORY_ROM_PATH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Gerrit-Change-Number: 13262 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 11:41:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:41:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:41:56 +0000 Subject: Change in osmo-msc[master]: silent_call: use osmo_strlcpy() instead of strncpy() In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13261 ) Change subject: silent_call: use osmo_strlcpy() instead of strncpy() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c Gerrit-Change-Number: 13261 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 11:41:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:42:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:42:56 +0000 Subject: Change in osmo-ci[master]: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13260 ) Change subject: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18 Gerrit-Change-Number: 13260 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 11:42:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:43:32 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:43:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Log PCU socket path on errors In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13250 ) Change subject: Log PCU socket path on errors ...................................................................... Log PCU socket path on errors Change-Id: I5a4a7c9dc630ecd6fc0ca7a21d4b528d811edd06 --- M library/PCUIF_CodecPort.ttcn 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 676a91a..cc86fee 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -66,9 +66,9 @@ if (ispresent(res.result) and ispresent(res.result.result_code) and res.result.result_code == ERROR) { if (ispresent(res.result.err)) { - setverdict(fail, "Error connecting to PCU socket: ", res.result.err); + setverdict(fail, "Error connecting to PCU socket ", sock, ": ", res.result.err); } else { - setverdict(fail, "Error connecting to PCU socket"); + setverdict(fail, "Error connecting to PCU socket ", sock); } mtc.stop; } else { @@ -76,7 +76,7 @@ } } [] T.timeout { - setverdict(fail, "Timeout connecting to PCU socket"); + setverdict(fail, "Timeout connecting to PCU socket ", sock); mtc.stop; } } @@ -95,9 +95,9 @@ if (ispresent(res.result) and ispresent (res.result.result_code) and res.result.result_code == ERROR) { if (ispresent(res.result.err)) { - setverdict(fail, "Error listening on PCU socket: ", res.result.err); + setverdict(fail, "Error listening on PCU socket ", sock, ": ", res.result.err); } else { - setverdict(fail, "Error listening on PCU socket"); + setverdict(fail, "Error listening on PCU socket ", sock); } mtc.stop; } else { @@ -105,7 +105,7 @@ } } [] T.timeout { - setverdict(fail, "Timeout waiting for PCU socket connection"); + setverdict(fail, "Timeout waiting for PCU socket ", sock, " connection"); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/13250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5a4a7c9dc630ecd6fc0ca7a21d4b528d811edd06 Gerrit-Change-Number: 13250 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 11:58:34 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 15 Mar 2019 11:58:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 3: > I really like the idea and I'm surprised we didn't do this sooner. However, the fact that dumpcap is installed doesn't mean that a) it's setuid-root, or b) the current user has the right group/permission You're right. Moreover, on some system it might not have setuid-root but still allow users to capture traffic due to capabilities set: getcap /usr/bin/dumpcap /usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip so we can't just check for the bit either. I'll check how we can make this check more robust. -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 15 Mar 2019 11:58:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:46 +0000 Subject: Change in osmo-bts[master]: oc2g: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13262 to look at the new patch set (#2). Change subject: oc2g: remove unused define constant FACTORY_ROM_PATH ...................................................................... oc2g: remove unused define constant FACTORY_ROM_PATH Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Related: OS#3823 --- M src/osmo-bts-oc2g/misc/oc2gbts_par.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/62/13262/2 -- To view, visit https://gerrit.osmocom.org/13262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Gerrit-Change-Number: 13262 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:46 +0000 Subject: Change in osmo-bts[master]: lc15: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13263 to look at the new patch set (#2). Change subject: lc15: remove unused define constant FACTORY_ROM_PATH ...................................................................... lc15: remove unused define constant FACTORY_ROM_PATH Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Related: OS#3823 --- M src/osmo-bts-litecell15/misc/lc15bts_par.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/63/13263/2 -- To view, visit https://gerrit.osmocom.org/13263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Gerrit-Change-Number: 13263 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:46 +0000 Subject: Change in osmo-bts[master]: oc2g: generate failure event report in case of bad calibration In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13265 to look at the new patch set (#2). Change subject: oc2g: generate failure event report in case of bad calibration ...................................................................... oc2g: generate failure event report in case of bad calibration When the TX/RX calibration files can not be loaded a failure event report should be sent to the BSC. Lets send a failure event report when calbration data is either bad or can not be loaded (see also remvoed TODOs). Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Related OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 7 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/65/13265/2 -- To view, visit https://gerrit.osmocom.org/13265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Gerrit-Change-Number: 13265 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:48 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13267 Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... pcu_sock: cast to long unsigned int before printing When using %lu and sizeof() for printing the compiler may throw a warning. Lets prevent this by casting to long unsigned int. Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 --- M src/common/pcu_sock.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/13267/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 60e0f7a..64ec714 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -777,7 +777,7 @@ if (rc < sizeof(*pcu_prim)) { LOGP(DPCU, LOGL_ERROR, "Received %d bytes on PCU Socket, but primitive size " - "is %lu, discarding\n", rc, sizeof(*pcu_prim)); + "is %lu, discarding\n", rc, (long unsigned int) sizeof(*pcu_prim)); return 0; } -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:48 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13268 Change subject: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() ...................................................................... oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() The function oml_tx_failure_event_rep() replaces oml_fail_rep(), so lets use only oml_tx_failure_event_rep() and remove oml_fail_rep() Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Related: OS#3843 --- M include/osmo-bts/oml.h M src/common/bts.c M src/common/l1sap.c M src/common/main.c M src/common/oml.c M src/common/rsl.c 6 files changed, 29 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/13268/1 diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h index a87d438..5136058 100644 --- a/include/osmo-bts/oml.h +++ b/include/osmo-bts/oml.h @@ -45,8 +45,6 @@ extern const unsigned int oml_default_t200_ms[7]; /* Transmit failure event report */ -void oml_fail_rep(uint16_t cause_value, const char *fmt, ...); - int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, const char *fmt, ...); diff --git a/src/common/bts.c b/src/common/bts.c index abbaeb4..37d1cf9 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -309,10 +309,13 @@ rc = rsl_tx_rf_res(trx); else rc = bts_model_trx_deact_rf(trx); - if (rc < 0) - oml_fail_rep(OSMO_EVT_MAJ_RSL_FAIL, - link ? "Failed to establish RSL link (%d)" : - "Failed to deactivate RF (%d)", rc); + if (rc < 0) { + oml_tx_failure_event_rep(&trx->mo, OSMO_EVT_MAJ_RSL_FAIL, + link ? + "Failed to establish RSL link (%d)" : + "Failed to deactivate RF (%d)", rc); + } + return 0; } diff --git a/src/common/l1sap.c b/src/common/l1sap.c index dba08df..692c781 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1364,8 +1364,10 @@ default: LOGP(DL1P, LOGL_NOTICE, "unknown prim %d op %d\n", l1sap->oph.primitive, l1sap->oph.operation); - oml_fail_rep(OSMO_EVT_MAJ_UKWN_MSG, "unknown prim %d op %d", - l1sap->oph.primitive, l1sap->oph.operation); + oml_tx_failure_event_rep(&trx->mo, OSMO_EVT_MAJ_UKWN_MSG, + "unknown prim %d op %d", + l1sap->oph.primitive, + l1sap->oph.operation); break; } diff --git a/src/common/main.c b/src/common/main.c index 3a53813..be73b2b 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -183,8 +183,9 @@ case SIGINT: case SIGTERM: if (!quit) { - oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP, - "BTS: SIGINT received -> shutdown"); + oml_tx_failure_event_rep(&bts->mo, + OSMO_EVT_CRIT_PROC_STOP, + "BTS: SIGINT received -> shutdown"); bts_shutdown(bts, "SIGINT"); } quit++; @@ -192,9 +193,9 @@ case SIGABRT: case SIGUSR1: case SIGUSR2: - oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP, - "BTS: signal %d (%s) received", signal, - strsignal(signal)); + oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_CRIT_PROC_STOP, + "BTS: signal %d (%s) received", signal, + strsignal(signal)); talloc_report_full(tall_bts_ctx, stderr); break; default: diff --git a/src/common/oml.c b/src/common/oml.c index ac388d1..7ff5967 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -87,21 +87,6 @@ return oml_mo_send_msg(mo, nmsg, NM_MT_FAILURE_EVENT_REP); } -void oml_fail_rep(uint16_t cause_value, const char *fmt, ...) -{ - va_list ap; - char *rep; - - va_start(ap, fmt); - rep = talloc_asprintf(tall_bts_ctx, fmt, ap); - va_end(ap); - - osmo_signal_dispatch(SS_FAIL, cause_value, rep); - /* signal dispatch is synchronous so all the signal handlers are - finished already: we're free to free */ - talloc_free(rep); -} - /* Push OM header in front of msgb and send it */ int oml_send_msg(struct msgb *msg, int is_manuf) { diff --git a/src/common/rsl.c b/src/common/rsl.c index fce3495..516f6fb 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -465,9 +465,10 @@ rc = paging_add_identity(bts->paging_state, paging_group, identity_lv, chan_needed); if (rc < 0) { /* FIXME: notfiy the BSC on other errors? */ - if (rc == -ENOSPC) - oml_fail_rep(OSMO_EVT_MIN_PAG_TAB_FULL, - "BTS paging table is full"); + if (rc == -ENOSPC) { + oml_tx_failure_event_rep(&trx->mo, OSMO_EVT_MIN_PAG_TAB_FULL, + "BTS paging table is full"); + } } pcu_tx_pag_req(identity_lv, chan_needed); @@ -1937,9 +1938,10 @@ LOGP(DRTP, LOGL_ERROR, "%s IPAC Failed to create RTP/RTCP sockets\n", gsm_lchan_name(lchan)); - oml_fail_rep(OSMO_EVT_CRIT_RTP_TOUT, - "%s IPAC Failed to create RTP/RTCP sockets", - gsm_lchan_name(lchan)); + oml_tx_failure_event_rep(&lchan->ts->trx->mo, + OSMO_EVT_CRIT_RTP_TOUT, + "%s IPAC Failed to create RTP/RTCP sockets", + gsm_lchan_name(lchan)); return tx_ipac_XXcx_nack(lchan, RSL_ERR_RES_UNAVAIL, inc_ip_port, dch->c.msg_type); } @@ -1978,9 +1980,10 @@ LOGP(DRTP, LOGL_ERROR, "%s IPAC Failed to bind RTP/RTCP sockets\n", gsm_lchan_name(lchan)); - oml_fail_rep(OSMO_EVT_CRIT_RTP_TOUT, - "%s IPAC Failed to bind RTP/RTCP sockets", - gsm_lchan_name(lchan)); + oml_tx_failure_event_rep(&lchan->ts->trx->mo, + OSMO_EVT_CRIT_RTP_TOUT, + "%s IPAC Failed to bind RTP/RTCP sockets", + gsm_lchan_name(lchan)); osmo_rtp_socket_free(lchan->abis_ip.rtp_socket); lchan->abis_ip.rtp_socket = NULL; msgb_queue_flush(&lchan->dl_tch_queue); -- To view, visit https://gerrit.osmocom.org/13268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Gerrit-Change-Number: 13268 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:48 +0000 Subject: Change in osmo-bts[master]: oml: Use oml_tx_failure_event_rep() instead of signals to SS_FAIL Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13269 Change subject: oml: Use oml_tx_failure_event_rep() instead of signals to SS_FAIL ...................................................................... oml: Use oml_tx_failure_event_rep() instead of signals to SS_FAIL At some locations in the code a signal to SS_FAIL is dispatched in order to trigger the sending of an OML failure event report in oml.c. This is a bit overcomplicated for the task. Lets use oml_tx_failure_event_rep() to send the failure event reports and lets remove the signal handler for SS_FAIL. Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Related: OS#3843 --- M include/osmo-bts/signal.h M src/common/bts_ctrl_commands.c M src/common/oml.c M src/common/pcu_sock.c 4 files changed, 10 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/69/13269/1 diff --git a/include/osmo-bts/signal.h b/include/osmo-bts/signal.h index 01d4099..c8168a2 100644 --- a/include/osmo-bts/signal.h +++ b/include/osmo-bts/signal.h @@ -5,7 +5,6 @@ enum sig_subsys { SS_GLOBAL, - SS_FAIL, }; enum signals_global { diff --git a/src/common/bts_ctrl_commands.c b/src/common/bts_ctrl_commands.c index 4efb4ee..47d8a5d 100644 --- a/src/common/bts_ctrl_commands.c +++ b/src/common/bts_ctrl_commands.c @@ -34,6 +34,8 @@ #include #include +static struct gsm_bts *g_bts; + CTRL_CMD_DEFINE(therm_att, "thermal-attenuation"); static int get_therm_att(struct ctrl_cmd *cmd, void *data) { @@ -75,7 +77,7 @@ static int set_oml_alert(struct ctrl_cmd *cmd, void *data) { /* Note: we expect signal dispatch to be synchronous */ - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_EXT_ALARM, cmd->value); + oml_tx_failure_event_rep(&g_bts->mo, OSMO_EVT_EXT_ALARM, cmd->value); cmd->reply = "OK"; @@ -88,6 +90,7 @@ rc |= ctrl_cmd_install(CTRL_NODE_TRX, &cmd_therm_att); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_oml_alert); + g_bts = bts; return rc; } diff --git a/src/common/oml.c b/src/common/oml.c index 7ff5967..c96a893 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -1493,23 +1493,11 @@ return ret; } -static int handle_fail_sig(unsigned int subsys, unsigned int signal, void *handle, - void *signal_data) -{ - if (signal_data) - oml_tx_failure_event_rep(handle, signal, "%s", signal_data); - else - oml_tx_failure_event_rep(handle, signal, ""); - - return 0; -} - int oml_init(struct gsm_abis_mo *mo) { DEBUGP(DOML, "Initializing OML attribute definitions\n"); tlv_def_patch(&abis_nm_att_tlvdef_ipa_local, &abis_nm_att_tlvdef_ipa); tlv_def_patch(&abis_nm_att_tlvdef_ipa_local, &abis_nm_att_tlvdef); - osmo_signal_register_handler(SS_FAIL, handle_fail_sig, mo); return 0; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 64ec714..1414874 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -43,6 +43,7 @@ #include #include #include +#include uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx); @@ -577,7 +578,7 @@ case PCU_VERSION: LOGP(DPCU, LOGL_INFO, "OsmoPCU version %s connected\n", txt->text); - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_PCU_VERS, txt->text); + oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_PCU_VERS, txt->text); osmo_strlcpy(bts->pcu_version, txt->text, MAX_VERSION_LENGTH); if (GSM_BTS_HAS_SI(bts, SYSINFO_TYPE_13)) @@ -586,7 +587,7 @@ LOGP(DPCU, LOGL_INFO, "SI13 is not available on PCU connection\n"); break; case PCU_OML_ALERT: - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_EXT_ALARM, txt->text); + oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_EXT_ALARM, txt->text); break; default: LOGP(DPCU, LOGL_ERROR, "Unknown TXT_IND type %u received\n", @@ -713,7 +714,9 @@ bts = llist_entry(state->net->bts_list.next, struct gsm_bts, list); LOGP(DPCU, LOGL_NOTICE, "PCU socket has LOST connection\n"); - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_PCU_VERS, NULL); + oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_PCU_VERS, + "PCU socket has LOST connection"); + bts->pcu_version[0] = '\0'; close(bfd->fd); -- To view, visit https://gerrit.osmocom.org/13269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Gerrit-Change-Number: 13269 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:48 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_vty: remove calls to vty_install_default() Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13270 Change subject: oc2gbts_mgr_vty: remove calls to vty_install_default() ...................................................................... oc2gbts_mgr_vty: remove calls to vty_install_default() The function vty_install_default() is deprecated and throws a compiler warning that suggests to remove it, so lets remove it. Change-Id: I1a4afb6e352bed9a5af794b39b984a7ddef36e08 --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c 1 file changed, 0 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/13270/1 diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c index ef52739..7e80e03 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c @@ -878,46 +878,37 @@ install_node(&mgr_node, config_write_mgr); install_element(CONFIG_NODE, &cfg_mgr_cmd); - vty_install_default(MGR_NODE); /* install the limit nodes */ install_node(&limit_supply_temp_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_supply_temp_cmd); - vty_install_default(LIMIT_SUPPLY_TEMP_NODE); install_node(&limit_soc_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_soc_temp_cmd); - vty_install_default(LIMIT_SOC_NODE); install_node(&limit_fpga_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_fpga_temp_cmd); - vty_install_default(LIMIT_FPGA_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_RMS_FWD) || oc2gbts_option_get(OC2GBTS_OPTION_RMS_REFL)) { install_node(&limit_rmsdet_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_rmsdet_temp_cmd); - vty_install_default(LIMIT_RMSDET_NODE); } install_node(&limit_ocxo_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_ocxo_temp_cmd); - vty_install_default(LIMIT_OCXO_NODE); install_node(&limit_tx_temp_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_tx_temp_cmd); - vty_install_default(LIMIT_TX_TEMP_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA_TEMP)) { install_node(&limit_pa_temp_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_pa_temp_cmd); - vty_install_default(LIMIT_PA_TEMP_NODE); } install_node(&limit_supply_volt_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_supply_volt_cmd); register_limit(LIMIT_SUPPLY_VOLT_NODE, MGR_LIMIT_TYPE_VOLT); - vty_install_default(LIMIT_SUPPLY_VOLT_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA) && oc2gbts_option_get(OC2GBTS_OPTION_RMS_FWD) && @@ -925,23 +916,19 @@ install_node(&limit_vswr_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_vswr_cmd); register_limit(LIMIT_VSWR_NODE, MGR_LIMIT_TYPE_VSWR); - vty_install_default(LIMIT_VSWR_NODE); } install_node(&limit_supply_pwr_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_supply_pwr_cmd); register_limit(LIMIT_SUPPLY_PWR_NODE, MGR_LIMIT_TYPE_PWR); - vty_install_default(LIMIT_SUPPLY_PWR_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA)) { install_node(&limit_pa_pwr_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_pa_pwr_cmd); - vty_install_default(LIMIT_PA_PWR_NODE); } install_node(&limit_gps_fix_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_gps_fix_cmd); - vty_install_default(LIMIT_GPS_FIX_NODE); /* install the normal node */ install_node(&act_norm_node, config_write_dummy); @@ -952,12 +939,10 @@ install_node(&act_warn_node, config_write_dummy); install_element(MGR_NODE, &cfg_action_warn_cmd); register_action(ACT_WARN_NODE); - vty_install_default(ACT_WARN_NODE); install_node(&act_crit_node, config_write_dummy); install_element(MGR_NODE, &cfg_action_critical_cmd); register_action(ACT_CRIT_NODE); - vty_install_default(ACT_CRIT_NODE); /* install LED pattern command for debugging purpose */ install_element_ve(&set_led_pattern_cmd); -- To view, visit https://gerrit.osmocom.org/13270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1a4afb6e352bed9a5af794b39b984a7ddef36e08 Gerrit-Change-Number: 13270 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:49 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:49 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13271 Change subject: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer ...................................................................... oc2gbts_mgr_calib: don't use fsync() von *FILE pointer fsync() takes an integer file descriptor but we have a *FILE pointer here. Lets use fflush() then. Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/71/13271/1 diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c index eac8ed1..55b1d77 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c @@ -134,7 +134,7 @@ fclose(fp); return -EIO; } - fsync(fp); + fflush(fp); fclose(fp); return 0; -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:49 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:49 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: do not return NULL on integer function Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13272 Change subject: oc2gbts_mgr_calib: do not return NULL on integer function ...................................................................... oc2gbts_mgr_calib: do not return NULL on integer function The functions oc2gbts_par_get_uptime() and oc2gbts_par_set_uptime() try to return with NULL, but both functions are declared as int. Lets return -EINVAL instead. Change-Id: I63b61be2940c59b221089d3d1501371b0116d89a --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/72/13272/1 diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c index 55b1d77..2d12a49 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c @@ -87,7 +87,7 @@ fpath = talloc_asprintf(ctx, "%s", UPTIME_TMP_PATH); if (!fpath) - return NULL; + return -EINVAL; fp = fopen(fpath, "r"); if (!fp) @@ -117,7 +117,7 @@ fpath = talloc_asprintf(ctx, "%s", UPTIME_TMP_PATH); if (!fpath) - return NULL; + return -EINVAL; fp = fopen(fpath, "w"); if (!fp) -- To view, visit https://gerrit.osmocom.org/13272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I63b61be2940c59b221089d3d1501371b0116d89a Gerrit-Change-Number: 13272 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:49 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:49 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13273 Change subject: l1_if: add include for missing header file ...................................................................... l1_if: add include for missing header file the function bts_cbch_get() is used in l1_if.c. The function is decleared in cbch.h. Lets include this header file in order to be complete. Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/13273/1 diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 52ec3e7..53b3eba 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -54,6 +54,7 @@ #include #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:50 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13274 Change subject: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() ...................................................................... oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() The function msgb_set_talloc_ctx() is deprecated. Lets use msgb_talloc_ctx_init() as suggested. Change-Id: I61f80a7b11e9117e8b71c49b7d81d2f959f3150d --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/74/13274/1 diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c index f8768e4..46831f6 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c @@ -274,7 +274,7 @@ tall_mgr_ctx = talloc_named_const(NULL, 1, "bts manager"); tall_msgb_ctx = talloc_named_const(tall_mgr_ctx, 1, "msgb"); - msgb_set_talloc_ctx(tall_msgb_ctx); + msgb_talloc_ctx_init(tall_msgb_ctx, 0); mgr_log_init(); -- To view, visit https://gerrit.osmocom.org/13274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I61f80a7b11e9117e8b71c49b7d81d2f959f3150d Gerrit-Change-Number: 13274 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:50 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13275 Change subject: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() ...................................................................... oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() The function osmo_init_logging() is deprecated, lets use osmo_init_logging2() as suggested. Change-Id: Iebc80cd1f77f10a879d4536d788377f522dd853f --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/75/13275/1 diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c index 46831f6..2aa8a01 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c @@ -261,9 +261,9 @@ .num_cat = ARRAY_SIZE(mgr_log_info_cat), }; -static int mgr_log_init(void) +static int mgr_log_init(void *ctx) { - osmo_init_logging(&mgr_log_info); + osmo_init_logging2(ctx, &mgr_log_info); return 0; } @@ -276,7 +276,7 @@ tall_msgb_ctx = talloc_named_const(tall_mgr_ctx, 1, "msgb"); msgb_talloc_ctx_init(tall_msgb_ctx, 0); - mgr_log_init(); + mgr_log_init(tall_msgb_ctx); osmo_init_ignore_signals(); signal(SIGINT, &signal_handler); -- To view, visit https://gerrit.osmocom.org/13275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iebc80cd1f77f10a879d4536d788377f522dd853f Gerrit-Change-Number: 13275 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:46:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 Mar 2019 14:46:50 +0000 Subject: Change in osmo-bts[master]: vty: add function gsmnet_from_vty() to vty.h Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13276 Change subject: vty: add function gsmnet_from_vty() to vty.h ...................................................................... vty: add function gsmnet_from_vty() to vty.h The function gsmnet_from_vty() is used in oc2gbts_vty.c, but it is not declared in vty.h. Lets add the declaration to vty.h, so that gsmnet_from_vty() can be used properly by other modules. Change-Id: I8cf63c6fabdb1f2dc67ca8193704ce4d1d4882d9 --- M include/osmo-bts/vty.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/13276/1 diff --git a/include/osmo-bts/vty.h b/include/osmo-bts/vty.h index d27acb5..d90a989 100644 --- a/include/osmo-bts/vty.h +++ b/include/osmo-bts/vty.h @@ -27,6 +27,8 @@ int bts_vty_init(struct gsm_bts *bts, const struct log_info *cat); +struct gsm_network *gsmnet_from_vty(struct vty *v); + extern struct vty_app_info bts_vty_info; #endif -- To view, visit https://gerrit.osmocom.org/13276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8cf63c6fabdb1f2dc67ca8193704ce4d1d4882d9 Gerrit-Change-Number: 13276 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:58:00 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 14:58:00 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() In-Reply-To: References: Message-ID: Hello Max, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13118 to look at the new patch set (#2). Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() osmo-msc identifies its BSC and RNC peers by SCCP address, and compares those by memcmp(), which is not really accurate. Rather provide a meaningful osmo_sccp_addr_cmp() API to determine whether SCCP addresses are identical. Go for a full cmp that would also allow sorting. Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 --- M include/osmocom/sigtran/sccp_sap.h M src/sccp_user.c M tests/xua/xua_test.c M tests/xua/xua_test.ok 4 files changed, 392 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/18/13118/2 -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:58:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 14:58:01 +0000 Subject: Change in libosmo-sccp[master]: add caller-owns-msgb variant osmo_sccp_user_sap_down2() Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13277 Change subject: add caller-owns-msgb variant osmo_sccp_user_sap_down2() ...................................................................... add caller-owns-msgb variant osmo_sccp_user_sap_down2() Add osmo_sccp_user_sap_down2(), which is identical to osmo_sccp_user_sap_down(), but doesn't imply a msgb_free(). To implement that, sccp_sclc_user_sap_down2() with the same msgb semantics is required. Rationale: Avoiding msgb leaks is easiest if the caller retains ownership of the msgb. Take this hypothetical chain where leaks are obviously avoided: void send() { msg = msgb_alloc(); dispatch(msg); msgb_free(msg); } void dispatch(msg) { osmo_fsm_inst_dispatch(fi, msg); } void fi_on_event(fi, data) { if (socket_is_ok) socket_write((struct msgb*)data); } void socket_write(msgb) { if (!ok1) return; if (ok2) { if (!ok3) return; write(sock, msg->data); } } However, if the caller passes ownership down to the msgb consumer, things become nightmarishly complex: void send() { msg = msgb_alloc(); rc = dispatch(msg); /* dispatching event failed? */ if (rc) msgb_free(msg); } int dispatch(msg) { if (osmo_fsm_inst_dispatch(fi, msg)) return -1; if (something_else()) return -1; // <-- double free! } void fi_on_event(fi, data) { if (socket_is_ok) { socket_write((struct msgb*)data); else /* socket didn't consume? */ msgb_free(data); } int socket_write(msgb) { if (!ok1) return -1; // <-- leak! if (ok2) { if (!ok3) goto out; write(sock, msg->data); } out: msgb_free(msg); return -2; } If any link in this call chain fails to be aware of the importance to return a failed RC or to free a msgb if the chain is broken, or to not return a failed RC if the msgb is consumed, we have a hidden msgb leak or double free. This is the case with osmo_sccp_user_sap_down(). In new osmo-msc, passing data through various FSM instances, there is high potential for leak/double-free bugs. A very large brain is required to track down every msgb path. osmo_sccp_user_sap_down2() makes this problem trivial to solve even for humans. Change-Id: Ic818efa78b90f727e1a94c18b60d9a306644f340 --- M include/osmocom/sigtran/sccp_sap.h M src/sccp_internal.h M src/sccp_sclc.c M src/sccp_scoc.c 4 files changed, 36 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/77/13277/1 diff --git a/include/osmocom/sigtran/sccp_sap.h b/include/osmocom/sigtran/sccp_sap.h index 84d762c..f1fdd98 100644 --- a/include/osmocom/sigtran/sccp_sap.h +++ b/include/osmocom/sigtran/sccp_sap.h @@ -263,6 +263,7 @@ osmo_prim_cb prim_cb, uint16_t ssn); int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); +int osmo_sccp_user_sap_down2(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); struct osmo_ss7_instance * osmo_sccp_addr_by_name(struct osmo_sccp_addr *dest_addr, diff --git a/src/sccp_internal.h b/src/sccp_internal.h index 000f0f7..f4c723f 100644 --- a/src/sccp_internal.h +++ b/src/sccp_internal.h @@ -116,6 +116,7 @@ /* SCU -> SCLC */ int sccp_sclc_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); +int sccp_sclc_user_sap_down2(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); struct msgb *sccp_msgb_alloc(const char *name); diff --git a/src/sccp_sclc.c b/src/sccp_sclc.c index db67660..bfaaafc 100644 --- a/src/sccp_sclc.c +++ b/src/sccp_sclc.c @@ -115,15 +115,14 @@ return rc; } -/*! \brief Main entrance function for primitives from SCCP User +/*! Main entrance function for primitives from SCCP User + * The caller is required to free oph->msg. * \param[in] scu SCCP User who is sending the primitive * \param[on] oph Osmocom primitive header of the primitive * \returns 0 on success; negtive in case of error */ -int sccp_sclc_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) +int sccp_sclc_user_sap_down2(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) { struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; - struct msgb *msg = prim->oph.msg; - int rc = 0; /* we get called from osmo_sccp_user_sap_down() which already * has debug-logged the primitive */ @@ -131,20 +130,25 @@ switch (OSMO_PRIM_HDR(&prim->oph)) { case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_REQUEST): /* Connectionless by-passes this altogether */ - rc = xua_gen_encode_and_send(scu, -1, prim, SUA_CL_CLDT); - goto out; + return xua_gen_encode_and_send(scu, -1, prim, SUA_CL_CLDT); default: LOGP(DLSCCP, LOGL_ERROR, "Received unknown SCCP User " "primitive %s from user\n", osmo_scu_prim_name(&prim->oph)); - rc = -1; - goto out; + return -1; } +} -out: - /* the SAP is supposed to consume the primitive/msgb */ +/*! Same as sccp_sclc_user_sap_down2() but implies a msgb_free(oph->msg). + * \param[in] scu SCCP User who is sending the primitive + * \param[on] oph Osmocom primitive header of the primitive + * \returns 0 on success; negtive in case of error */ +int sccp_sclc_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) +{ + struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; + struct msgb *msg = prim->oph.msg; + int rc = sccp_sclc_user_sap_down2(scu, oph); msgb_free(msg); - return rc; } diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index cb1d567..6a56692 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -1687,15 +1687,15 @@ } } -/*! \brief Main entrance function for primitives from SCCP User +/*! Main entrance function for primitives from SCCP User. + * The caller is required to free oph->msg. * \param[in] scu SCCP User sending us the primitive * \param[in] oph Osmocom primitive sent by the user * \returns 0 on success; negative on error */ -int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) +int osmo_sccp_user_sap_down2(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) { struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; struct osmo_sccp_instance *inst = scu->inst; - struct msgb *msg = prim->oph.msg; struct sccp_connection *conn; int rc = 0; int event; @@ -1707,7 +1707,7 @@ case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_REQUEST): /* other CL primitives? */ /* Connectionless by-passes this altogether */ - return sccp_sclc_user_sap_down(scu, oph); + return sccp_sclc_user_sap_down2(scu, oph); case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_REQUEST): /* Allocate new connection structure */ conn = conn_create_id(inst, prim->u.connect.conn_id); @@ -1715,7 +1715,7 @@ /* FIXME: inform SCCP user with proper reply */ LOGP(DLSCCP, LOGL_ERROR, "Cannot create conn-id for primitive %s\n", osmo_scu_prim_name(&prim->oph)); - goto out; + return rc; } conn->user = scu; break; @@ -1729,25 +1729,32 @@ /* FIXME: inform SCCP user with proper reply */ LOGP(DLSCCP, LOGL_ERROR, "Received unknown conn-id %u for primitive %s\n", scu_prim_conn_id(prim), osmo_scu_prim_name(&prim->oph)); - goto out; + return rc; } break; default: LOGP(DLSCCP, LOGL_ERROR, "Received unknown primitive %s\n", osmo_scu_prim_name(&prim->oph)); - rc = -1; - goto out; + return -1; } /* Map from primitive to event */ event = osmo_event_for_prim(oph, scu_scoc_event_map); /* Dispatch event into connection */ - rc = osmo_fsm_inst_dispatch(conn->fi, event, prim); -out: - /* the SAP is supposed to consume the primitive/msgb */ - msgb_free(msg); + return osmo_fsm_inst_dispatch(conn->fi, event, prim); +} +/*! Same as osmo_sccp_user_sap_down2() but implies a msgb_free(oph->msg). + * \param[in] scu SCCP User sending us the primitive + * \param[in] oph Osmocom primitive sent by the user + * \returns 0 on success; negative on error */ +int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) +{ + struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; + struct msgb *msg = prim->oph.msg; + int rc = osmo_sccp_user_sap_down2(scu, oph); + msgb_free(msg); return rc; } -- To view, visit https://gerrit.osmocom.org/13277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic818efa78b90f727e1a94c18b60d9a306644f340 Gerrit-Change-Number: 13277 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 14:58:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 14:58:01 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_inst_unused_conn_id() Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13278 Change subject: add osmo_sccp_inst_unused_conn_id() ...................................................................... add osmo_sccp_inst_unused_conn_id() On incoming connections, sccp_scoc.c assigns a new local reference (osmo_scu_prim conn_id) to a conn. When creating a new outgoing connection, the caller needs to provide that. Allow callers to use the same local reference creation code that is used on incoming connections. Change-Id: I6e1b4897f4143b97bf90bfd8d0ae5d50bbd2e1dd --- M include/osmocom/sigtran/sccp_sap.h M src/sccp_scoc.c 2 files changed, 25 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/78/13278/1 diff --git a/include/osmocom/sigtran/sccp_sap.h b/include/osmocom/sigtran/sccp_sap.h index f1fdd98..def8459 100644 --- a/include/osmocom/sigtran/sccp_sap.h +++ b/include/osmocom/sigtran/sccp_sap.h @@ -250,6 +250,8 @@ struct osmo_ss7_instance *osmo_sccp_get_ss7(const struct osmo_sccp_instance *sccp); struct osmo_sccp_instance *osmo_sccp_get_sccp(const struct osmo_sccp_user *scu); +int osmo_sccp_instance_unused_conn_id(struct osmo_sccp_instance *inst, uint32_t *conn_id); + void osmo_sccp_user_unbind(struct osmo_sccp_user *scu); void osmo_sccp_user_set_priv(struct osmo_sccp_user *scu, void *priv); void *osmo_sccp_user_get_priv(struct osmo_sccp_user *scu); diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index 6a56692..db3ded7 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -47,6 +47,7 @@ */ #include +#include #include #include @@ -485,14 +486,30 @@ return conn; } +/* Return a free connection ID (local reference) */ +int osmo_sccp_instance_unused_conn_id(struct osmo_sccp_instance *inst, uint32_t *conn_id) +{ + uint32_t id; + uint32_t started_at = inst->next_id; + + do { + id = inst->next_id++; + if (inst->next_id == started_at) { + LOGP(DLSCCP, LOGL_ERROR, "No unused local reference available\n"); + return -ENOSPC; + } + } while (conn_find_by_id(inst, id)); + + *conn_id = id; + return 0; +} + /* Search for next free connection ID (local reference) and allocate conn */ static struct sccp_connection *conn_create(struct osmo_sccp_instance *inst) { uint32_t conn_id; - - do { - conn_id = inst->next_id++; - } while (conn_find_by_id(inst, conn_id)); + if (osmo_sccp_instance_unused_conn_id(inst, &conn_id)) + return NULL; return conn_create_id(inst, conn_id); } @@ -1616,6 +1633,8 @@ } /* Allocate new connection */ conn = conn_create(inst); + if (!conn) + return; conn->user = scu; conn->incoming = true; } else { -- To view, visit https://gerrit.osmocom.org/13278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6e1b4897f4143b97bf90bfd8d0ae5d50bbd2e1dd Gerrit-Change-Number: 13278 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 15:11:48 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 15:11:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13191 to look at the new patch set (#2). Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... msc: for mo and mt call, interleave MGCP and Assignment Upcoming osmo-msc changes move away from the current ordering of MGCP and Assignment messages. Allow these async dialogs to appear in any order. Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 21 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/13191/2 -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 15:15:57 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 15 Mar 2019 15:15:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13191 ) Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/13191/2/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/#/c/13191/2/msc/BSC_ConnectionHandler.ttcn at 533 PS2, Line 533: } I think this style is full on inconsistent with all other coding style everywhere else. I'm only doing this because you guys made me do it, and hating it. https://gerrit.osmocom.org/#/c/13191/2/msc/BSC_ConnectionHandler.ttcn at 703 PS2, Line 703: } I mean just look at this one. That is what happens with this nonsense indenting. Illogical, hard to read, flow broken. But there you have it. -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 15 Mar 2019 15:15:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 16:15:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 16:15:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix TC_sns_so_config_success expectations Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13279 Change subject: pcu: Fix TC_sns_so_config_success expectations ...................................................................... pcu: Fix TC_sns_so_config_success expectations If there's only one IP/PORT/NSVC, we cannot expect something happening on another NSVC. In this test case, only index 0 / NSVC0 is used. Change-Id: Ia83d726c4223d61544f80d266ea832fcaa235518 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/13279/1 diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 26d8011..c179f07 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -166,8 +166,8 @@ as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true); /* wait for one FLOW-CONTROL BVC and then ACK any further in the future */ - as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); - activate(as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, idx := 1)); + as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, oneshot := true); + activate(as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci)); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/13279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia83d726c4223d61544f80d266ea832fcaa235518 Gerrit-Change-Number: 13279 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:03:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:03:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix TC_sns_so_config_success expectations In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13279 ) Change subject: pcu: Fix TC_sns_so_config_success expectations ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia83d726c4223d61544f80d266ea832fcaa235518 Gerrit-Change-Number: 13279 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:03:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:03:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:03:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix TC_sns_so_config_success expectations In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13279 ) Change subject: pcu: Fix TC_sns_so_config_success expectations ...................................................................... pcu: Fix TC_sns_so_config_success expectations If there's only one IP/PORT/NSVC, we cannot expect something happening on another NSVC. In this test case, only index 0 / NSVC0 is used. Change-Id: Ia83d726c4223d61544f80d266ea832fcaa235518 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 26d8011..c179f07 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -166,8 +166,8 @@ as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true); /* wait for one FLOW-CONTROL BVC and then ACK any further in the future */ - as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); - activate(as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, idx := 1)); + as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, oneshot := true); + activate(as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci)); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/13279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia83d726c4223d61544f80d266ea832fcaa235518 Gerrit-Change-Number: 13279 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:06:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:06:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13191 ) Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... Patch Set 2: Code-Review+2 (2 comments) https://gerrit.osmocom.org/#/c/13191/2/msc/BSC_ConnectionHandler.ttcn File msc/BSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/#/c/13191/2/msc/BSC_ConnectionHandler.ttcn at 533 PS2, Line 533: } > I think this style is full on inconsistent with all other coding style everywhere else. [?] thanks. I'm to be blamed here, but I don't really see any other way in TTCN3 without wasting yet another layer of indentation :/ https://gerrit.osmocom.org/#/c/13191/2/msc/BSC_ConnectionHandler.ttcn at 703 PS2, Line 703: } > I mean just look at this one. That is what happens with this nonsense indenting. [?] what' your solution then? alt{} is basically like a switch statement, and I really don't want to loose one indent level. The way TTCN3 works you will then end up having two closing braces at one indent level somewhere. -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 15 Mar 2019 17:06:20 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:07:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:07:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: expect only one Paging on failed MT SMS, and clear the failed SMS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13192 ) Change subject: msc: expect only one Paging on failed MT SMS, and clear the failed SMS ...................................................................... Patch Set 2: Code-Review-1 I haven't yes seen any response whatsoever to my comments questioning whether a MSC should really never repeat paging requests. If we make such bold statements, we must be sure that they're correct and I'd like to see something in the specs to back this up. -- To view, visit https://gerrit.osmocom.org/13192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7dce12942a65eaaf97f78ca69401c7f93faacb9e Gerrit-Change-Number: 13192 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:07:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:08:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:08:15 +0000 Subject: Change in osmo-bts[master]: oc2g: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13262 ) Change subject: oc2g: remove unused define constant FACTORY_ROM_PATH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Gerrit-Change-Number: 13262 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 17:08:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:08:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:08:22 +0000 Subject: Change in osmo-bts[master]: lc15: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13263 ) Change subject: lc15: remove unused define constant FACTORY_ROM_PATH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Gerrit-Change-Number: 13263 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 17:08:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:09:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:09:23 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13267 ) Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Patch Set 1: Code-Review-1 isn't that what %z as a format string would be for? -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:09:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:09:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:09:38 +0000 Subject: Change in osmo-bts[master]: oml: make oml_tx_failure_event_rep() public In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13264 ) Change subject: oml: make oml_tx_failure_event_rep() public ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Gerrit-Change-Number: 13264 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 17:09:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:10:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:10:08 +0000 Subject: Change in osmo-bts[master]: oc2g: generate failure event report in case of bad calibration In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13265 ) Change subject: oc2g: generate failure event report in case of bad calibration ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Gerrit-Change-Number: 13265 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:10:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:10:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:10:28 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... Patch Set 2: Code-Review+2 one might even argue in favor of FATAL -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:10:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:15:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:15:25 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13268 ) Change subject: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() ...................................................................... Patch Set 1: Code-Review-1 (4 comments) Regarding the MO: trx->mo is the "Radio carrier" managed object. This should only be used for errors that relate to the radio carrier, which I don't any of the lines relate to. https://gerrit.osmocom.org/#/c/13268/1/src/common/bts.c File src/common/bts.c: https://gerrit.osmocom.org/#/c/13268/1/src/common/bts.c at 313 PS1, Line 313: oml_tx_failure_event_rep(&trx->mo, OSMO_EVT_MAJ_RSL_FAIL, trx->bb_transc.mo https://gerrit.osmocom.org/#/c/13268/1/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/13268/1/src/common/l1sap.c at 1367 PS1, Line 1367: trx->mo trx->bb_transc.mo https://gerrit.osmocom.org/#/c/13268/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/#/c/13268/1/src/common/main.c at 196 PS1, Line 196: oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_CRIT_PROC_STOP, : "BTS: signal %d (%s) received", signal, : strsignal(signal)); this is actually wrong. A SIGUSR1/2 is not a terminal signal, we only use it to get an intermediate talloc report without leaving the process. So I think there should be a separate patch which removes this oml_fail_rep() completely. https://gerrit.osmocom.org/#/c/13268/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/13268/1/src/common/rsl.c at 469 PS1, Line 469: &trx->mo paging queue is per BTS level, so it should be trx->bts->mo -- To view, visit https://gerrit.osmocom.org/13268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Gerrit-Change-Number: 13268 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:15:25 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:16:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:16:10 +0000 Subject: Change in osmo-bts[master]: oc2g: generate failure event report in case of bad calibration In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13265 ) Change subject: oc2g: generate failure event report in case of bad calibration ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13265/2/src/osmo-bts-oc2g/calib_file.c File src/osmo-bts-oc2g/calib_file.c: https://gerrit.osmocom.org/#/c/13265/2/src/osmo-bts-oc2g/calib_file.c at 137 PS2, Line 137: fl1h->phy_inst->trx->mo here trx->mo is correct, as the calibration tables relate to the "radio carrier" and not the "baseband transceiver". -- To view, visit https://gerrit.osmocom.org/13265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Gerrit-Change-Number: 13265 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:16:10 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:17:47 +0000 Subject: Change in osmo-bts[master]: oml: Use oml_tx_failure_event_rep() instead of signals to SS_FAIL In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13269 ) Change subject: oml: Use oml_tx_failure_event_rep() instead of signals to SS_FAIL ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/13269/1/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/#/c/13269/1/src/common/pcu_sock.c at 581 PS1, Line 581: bts->mo this should be bts->gprs.cell.mo https://gerrit.osmocom.org/#/c/13269/1/src/common/pcu_sock.c at 590 PS1, Line 590: oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_EXT_ALARM, txt->text); this should be bts->gprs.cell.mo https://gerrit.osmocom.org/#/c/13269/1/src/common/pcu_sock.c at 717 PS1, Line 717: oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_PCU_VERS, this should be bts->gprs.cell.mo -- To view, visit https://gerrit.osmocom.org/13269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Gerrit-Change-Number: 13269 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:17:47 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:18:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:18:01 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_vty: remove calls to vty_install_default() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13270 ) Change subject: oc2gbts_mgr_vty: remove calls to vty_install_default() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a4afb6e352bed9a5af794b39b984a7ddef36e08 Gerrit-Change-Number: 13270 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:18:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:18:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:18:18 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13271 ) Change subject: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:18:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:18:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:18:31 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: do not return NULL on integer function In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13272 ) Change subject: oc2gbts_mgr_calib: do not return NULL on integer function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63b61be2940c59b221089d3d1501371b0116d89a Gerrit-Change-Number: 13272 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:18:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:18:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:18:37 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13273 ) Change subject: l1_if: add include for missing header file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:18:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:18:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:18:48 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13274 ) Change subject: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I61f80a7b11e9117e8b71c49b7d81d2f959f3150d Gerrit-Change-Number: 13274 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:18:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:18:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:18:55 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13275 ) Change subject: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebc80cd1f77f10a879d4536d788377f522dd853f Gerrit-Change-Number: 13275 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:18:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:19:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:19:01 +0000 Subject: Change in osmo-bts[master]: vty: add function gsmnet_from_vty() to vty.h In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13276 ) Change subject: vty: add function gsmnet_from_vty() to vty.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8cf63c6fabdb1f2dc67ca8193704ce4d1d4882d9 Gerrit-Change-Number: 13276 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:19:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:21:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:21:25 +0000 Subject: Change in libosmo-sccp[master]: add caller-owns-msgb variant osmo_sccp_user_sap_down2() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13277 ) Change subject: add caller-owns-msgb variant osmo_sccp_user_sap_down2() ...................................................................... Patch Set 1: what about the proposal with the 'volatile select dispatch talloc context'? If we merge this patch, I think for sure the naming would have to be reworked. The '2' function suffix is normally used only in case we have a new API that deprecates older API. However, here we're adding something with different semantics, so those semantics should be expressed with something like _nofree or the like. This way it's more obvious what those symbols are about. -- To view, visit https://gerrit.osmocom.org/13277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic818efa78b90f727e1a94c18b60d9a306644f340 Gerrit-Change-Number: 13277 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 15 Mar 2019 17:21:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:24:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:24:25 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_inst_unused_conn_id() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13278 ) Change subject: add osmo_sccp_inst_unused_conn_id() ...................................................................... Patch Set 1: Code-Review-1 This API, like I think I described quite verbosely, breaks the idea of a SAP. The idea of a SAP is that there's no shared state between the provider and the user of the SAP, and that any communication between provider and user happens by means of asynchronous primitives. Also, as I equally explained, we should neither expose nor document (in the commitlog, ...) that osmo_sccp currently simply uses the connection identifier (local significance on the SAP) as SCCP local reference on the wire. That's a hack, and nobody should ever rely on it, or make that assumption. Also, as we have seen in the related discussion, this is introducing bugs as the SCCP local reference is scoped to the SCCP user, while the "connection id" like the SAP is scoped to the SCCP instance. -- To view, visit https://gerrit.osmocom.org/13278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6e1b4897f4143b97bf90bfd8d0ae5d50bbd2e1dd Gerrit-Change-Number: 13278 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 17:24:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:25:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:25:18 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13118 ) Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Fri, 15 Mar 2019 17:25:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:25:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:25:30 +0000 Subject: Change in osmo-bts[master]: OC-2G: Nominal transmit power is 25 dBm, not 40 In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13135 ) Change subject: OC-2G: Nominal transmit power is 25 dBm, not 40 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia6b3476ab2f9279f8905b8c7cfd07ef7b0a939ed Gerrit-Change-Number: 13135 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 15 Mar 2019 17:25:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:25:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:25:31 +0000 Subject: Change in osmo-bts[master]: OC-2G: Nominal transmit power is 25 dBm, not 40 In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13135 ) Change subject: OC-2G: Nominal transmit power is 25 dBm, not 40 ...................................................................... OC-2G: Nominal transmit power is 25 dBm, not 40 According to the OC-2G product specifiacation, the maximum output power is 25 dBm. This should be reflected in the code, there's no point in claiming to be able to trnasmit 40 dBm - which just creates confusion on all levels (such as the logs, where Tx power is claimed to be ramped up to 40 dBm right now). Closes: OS#3823 Change-Id: Ia6b3476ab2f9279f8905b8c7cfd07ef7b0a939ed --- M src/osmo-bts-oc2g/main.c M src/osmo-bts-oc2g/oc2gbts_vty.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve; Verified Harald Welte: Looks good to me, approved diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c index ab3d36d..29fab47 100644 --- a/src/osmo-bts-oc2g/main.c +++ b/src/osmo-bts-oc2g/main.c @@ -126,7 +126,7 @@ int bts_model_trx_init(struct gsm_bts_trx *trx) { - trx->nominal_power = 40; + trx->nominal_power = 25; trx->power_params.trx_p_max_out_mdBm = to_mdB(trx->bts->c0->nominal_power); return 0; } diff --git a/src/osmo-bts-oc2g/oc2gbts_vty.c b/src/osmo-bts-oc2g/oc2gbts_vty.c index 9bb4579..4c3915b 100644 --- a/src/osmo-bts-oc2g/oc2gbts_vty.c +++ b/src/osmo-bts-oc2g/oc2gbts_vty.c @@ -328,15 +328,15 @@ } DEFUN(cfg_trx_nominal_power, cfg_trx_nominal_power_cmd, - "nominal-tx-power <0-40>", + "nominal-tx-power <0-25>", "Set the nominal transmit output power in dBm\n" "Nominal transmit output power level in dBm\n") { int nominal_power = atoi(argv[0]); struct gsm_bts_trx *trx = vty->index; - if (( nominal_power > 40 ) || ( nominal_power < 0 )) { - vty_out(vty, "Nominal Tx power level must be between 0 and 40 dBm (%d) %s", + if (( nominal_power > 25 ) || ( nominal_power < 0 )) { + vty_out(vty, "Nominal Tx power level must be between 0 and 25 dBm (%d) %s", nominal_power, VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/13135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia6b3476ab2f9279f8905b8c7cfd07ef7b0a939ed Gerrit-Change-Number: 13135 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:25:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:25:59 +0000 Subject: Change in libosmo-sccp[master]: Fix output of route destination in 'show ss7 instance <0-15> route' In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13233 ) Change subject: Fix output of route destination in 'show ss7 instance <0-15> route' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef Gerrit-Change-Number: 13233 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Fri, 15 Mar 2019 17:25:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:26:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 17:26:01 +0000 Subject: Change in libosmo-sccp[master]: Fix output of route destination in 'show ss7 instance <0-15> route' In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13233 ) Change subject: Fix output of route destination in 'show ss7 instance <0-15> route' ...................................................................... Fix output of route destination in 'show ss7 instance <0-15> route' We were printing the mask of the route, but not the point code itself. Best would probably be to print both? Closes: OS#3835 Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef --- M include/osmocom/sigtran/osmo_ss7.h M src/osmo_ss7.c M src/osmo_ss7_vty.c M tests/ss7/ss7_test.c M tests/ss7/ss7_test.ok 5 files changed, 53 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index a97e236..f448ce7 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -238,6 +238,7 @@ osmo_ss7_route_create(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask, const char *linkset_name); void osmo_ss7_route_destroy(struct osmo_ss7_route *rt); +const char *osmo_ss7_route_print(const struct osmo_ss7_route *rt); const char *osmo_ss7_route_name(struct osmo_ss7_route *rt, bool list_asps); diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index f8633b6..e8a6918 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -838,6 +838,48 @@ talloc_free(rt); } +/* count number of consecutive leading (MSB) bits that are '1' */ +static unsigned int count_leading_one_bits(uint32_t inp, unsigned int nbits) +{ + unsigned int i; + + for (i = 0; i < nbits; i++) { + if (!(inp & (1 << (nbits-1-i)))) + return i; + } + return i; +} + +/* determine the mask length in number of bits; negative if non-consecutive mask */ +static int u32_masklen(uint32_t mask, unsigned int nbits) +{ + unsigned int i; + unsigned int leading_one_bits = count_leading_one_bits(mask, nbits); + + /* are there any bits set after the initial bits? */ + for (i = leading_one_bits; i < nbits; i++) { + if (mask & (1 << (nbits-1-i))) + return -1; /* not a simple prefix mask */ + } + return leading_one_bits; +} + +const char *osmo_ss7_route_print(const struct osmo_ss7_route *rt) +{ + const struct osmo_ss7_instance *inst = rt->rtable->inst; + unsigned int pc_width = osmo_ss7_pc_width(&inst->cfg.pc_fmt); + static char buf[64]; + int rc = u32_masklen(rt->cfg.mask, pc_width); + + if (rc < 0) + snprintf(buf, sizeof(buf), "%s/%s", osmo_ss7_pointcode_print(inst, rt->cfg.pc), + osmo_ss7_pointcode_print2(inst, rt->cfg.mask)); + else + snprintf(buf, sizeof(buf), "%s/%u", osmo_ss7_pointcode_print(inst, rt->cfg.pc), rc); + return buf; +} + + /*********************************************************************** * SS7 Application Server ***********************************************************************/ diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 950eb08..cc53b05 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -384,7 +384,7 @@ llist_for_each_entry(rt, &rtbl->routes, list) { vty_out(vty, "%-22s %c %c %u %-19s %-7s %-7s %-7s%s", - osmo_ss7_pointcode_print(rtbl->inst, rt->cfg.mask), + osmo_ss7_route_print(rt), ' ', ' ', rt->cfg.priority, rt->cfg.linkset_name, "?", "?", "?", VTY_NEWLINE); } } diff --git a/tests/ss7/ss7_test.c b/tests/ss7/ss7_test.c index 0c0cf25..a3f47b6 100644 --- a/tests/ss7/ss7_test.c +++ b/tests/ss7/ss7_test.c @@ -162,12 +162,14 @@ /* route with full mask */ OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 12) == NULL); rt = osmo_ss7_route_create(rtbl, 12, 0xffff, "a"); + printf("route with full mask: %s\n", osmo_ss7_route_print(rt)); OSMO_ASSERT(rt); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 12) == rt); osmo_ss7_route_destroy(rt); /* route with partial mask */ rt = osmo_ss7_route_create(rtbl, 8, 0xfff8, "a"); + printf("route with partial mask: %s\n", osmo_ss7_route_print(rt)); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 8) == rt); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 9) == rt); OSMO_ASSERT(osmo_ss7_route_find_dpc(rtbl, 12) == rt); @@ -189,6 +191,10 @@ osmo_ss7_route_destroy(rt12); osmo_ss7_route_destroy(rt); + rt = osmo_ss7_route_create(rtbl, 8, 0xfff9, "a"); + printf("route with non-consecutive mask: %s\n", osmo_ss7_route_print(rt)); + osmo_ss7_route_destroy(rt); + osmo_ss7_linkset_destroy(lset_a); osmo_ss7_linkset_destroy(lset_b); } diff --git a/tests/ss7/ss7_test.ok b/tests/ss7/ss7_test.ok index 8aea63d..1f8c0d8 100644 --- a/tests/ss7/ss7_test.ok +++ b/tests/ss7/ss7_test.ok @@ -24,4 +24,7 @@ mask /24 => 16777215 (0xffffff) 255-255-255 Testing SS7 user Testing SS7 routing +route with full mask: 0.1.4/14 +route with partial mask: 0.1.0/11 +route with non-consecutive mask: 0.1.0/7.255.1 Testing SS7 linkset/link -- To view, visit https://gerrit.osmocom.org/13233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifa4fdbad953d40f222beb470a082eed8c20991ef Gerrit-Change-Number: 13233 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 17:30:10 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 17:30:10 +0000 Subject: Change in libosmocore[master]: osmo_select_main: Fix typo in doc Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13280 Change subject: osmo_select_main: Fix typo in doc ...................................................................... osmo_select_main: Fix typo in doc Change-Id: I6f84758521f598470e06af39e368248e693520ac --- M src/select.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/80/13280/1 diff --git a/src/select.c b/src/select.c index 4e7be35..19c06f4 100644 --- a/src/select.c +++ b/src/select.c @@ -234,7 +234,7 @@ } /*! select main loop integration - * \param[in] polling should we pollonly (1) or block on select (0) + * \param[in] polling should be pollonly (1) or block on select (0) * \returns 0 if no fd handled; 1 if fd handled; negative in case of error */ int osmo_select_main(int polling) -- To view, visit https://gerrit.osmocom.org/13280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6f84758521f598470e06af39e368248e693520ac Gerrit-Change-Number: 13280 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:00 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:00 +0000 Subject: Change in osmo-sysmon[master]: Integrate sleeping/printing loop into osmo main loop Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13281 Change subject: Integrate sleeping/printing loop into osmo main loop ...................................................................... Integrate sleeping/printing loop into osmo main loop Among other possibles issue, it should avoid sporadic print loop hanging if no events are fired in osmocom main loop. Change-Id: Ie2f0983eaf75826483b5b70f58b4d4acb842d6ea --- M src/osysmon_main.c 1 file changed, 27 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/81/13281/1 diff --git a/src/osysmon_main.c b/src/osysmon_main.c index c2df6ad..1ba3753 100644 --- a/src/osysmon_main.c +++ b/src/osysmon_main.c @@ -35,6 +35,7 @@ #include #include #include +#include static struct log_info log_info = {}; @@ -191,9 +192,31 @@ } } +static struct osmo_timer_list print_timer; +int ping_init; + +static void print_nodes(__attribute__((unused)) void *data) +{ + struct value_node *root = value_node_add(NULL, "root", NULL); + osysmon_openvpn_poll(root); + osysmon_sysinfo_poll(root); + osysmon_ctrl_poll(root); + osysmon_rtnl_poll(root); + + if (ping_init == 0) + osysmon_ping_poll(root); + + osysmon_file_poll(root); + + display_update(root); + value_node_del(root); + + osmo_timer_schedule(&print_timer, 1, 0); +} + int main(int argc, char **argv) { - int rc, ping_init; + int rc; osmo_init_logging2(NULL, &log_info); @@ -231,26 +254,11 @@ } } - while (1) { - struct value_node *root = value_node_add(NULL, "root", NULL); - int vpns = osysmon_openvpn_poll(root); - osysmon_sysinfo_poll(root); - osysmon_ctrl_poll(root); - osysmon_rtnl_poll(root); + osmo_timer_setup(&print_timer, print_nodes, NULL); + osmo_timer_schedule(&print_timer, 0, 0); - if (ping_init == 0) - osysmon_ping_poll(root); - - osysmon_file_poll(root); - - display_update(root); - value_node_del(root); - - if (vpns) + while (1) osmo_select_main(0); - sleep(1); - } - exit(0); } -- To view, visit https://gerrit.osmocom.org/13281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie2f0983eaf75826483b5b70f58b4d4acb842d6ea Gerrit-Change-Number: 13281 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:00 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:00 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Improve logging and status information Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13282 Change subject: openvpn: Improve logging and status information ...................................................................... openvpn: Improve logging and status information New strings are far more comprehensive to understand the current status during (re)connect to openvpn management socket. Change-Id: Ifd0f821ed2d237740b6d3381a7190ad7058ce889 --- M src/osysmon_openvpn.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/82/13282/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 148e3b8..8c95984 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -117,7 +117,7 @@ { struct openvpn_client *vpn = osmo_stream_cli_get_data(conn); - update_name(vpn->rem_cfg, "management interface unavailable"); + update_name(vpn->rem_cfg, "disconnected from openvpn management socket"); vpn->connected = false; talloc_free(vpn->tun_ip); talloc_free(vpn->rem_cfg->remote_host); @@ -131,7 +131,7 @@ { struct openvpn_client *vpn = osmo_stream_cli_get_data(conn); - update_name(vpn->rem_cfg, "management interface incompatible"); + update_name(vpn->rem_cfg, "connected to openvpn management socket"); vpn->connected = true; return 0; @@ -149,7 +149,7 @@ bytes = osmo_stream_cli_recv(conn, msg); if (bytes < 0) - OVPN_LOG(msg, vpn, "unable to receive message in callback\n"); + OVPN_LOG(msg, vpn, "read on openvpn management socket failed (%d)\n", bytes); else parse_state(msg, vpn); @@ -174,7 +174,7 @@ if (!vpn->cfg) goto dealloc; - vpn->rem_cfg = host_cfg_alloc(vpn, "management interface unavailable", NULL, 0); + vpn->rem_cfg = host_cfg_alloc(vpn, "connecting to openvpn management socket", NULL, 0); if (!vpn->rem_cfg) goto dealloc; @@ -191,7 +191,7 @@ osmo_stream_cli_set_disconnect_cb(vpn->mgmt, disconnect_cb); if (osmo_stream_cli_open(vpn->mgmt) < 0) { - OVPN_LOG(vpn->rem_cfg, vpn, "failed to connect to management interface\n"); + OVPN_LOG(vpn->rem_cfg, vpn, "failed to connect to management socket\n"); goto dealloc; } -- To view, visit https://gerrit.osmocom.org/13282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifd0f821ed2d237740b6d3381a7190ad7058ce889 Gerrit-Change-Number: 13282 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:01 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Set reconnect timeout to a much lower value Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13283 Change subject: openvpn: Set reconnect timeout to a much lower value ...................................................................... openvpn: Set reconnect timeout to a much lower value It's a connection towards localhost, so it doesn't hurt reconnecting in a timely fashion, otherwise upon openvpn restart user needed to wait for 1 minute to see changes. Change-Id: Ie9638120d1ce5bfa43bc7c15f05cf81de37624c5 --- M src/osysmon_openvpn.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/83/13283/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 8c95984..d9e38f0 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -185,7 +185,7 @@ } /* Wait for 1 minute before attempting to reconnect to management interface */ - osmo_stream_cli_set_reconnect_timeout(vpn->mgmt, 60); + osmo_stream_cli_set_reconnect_timeout(vpn->mgmt, 5); osmo_stream_cli_set_read_cb(vpn->mgmt, read_cb); osmo_stream_cli_set_connect_cb(vpn->mgmt, connect_cb); osmo_stream_cli_set_disconnect_cb(vpn->mgmt, disconnect_cb); -- To view, visit https://gerrit.osmocom.org/13283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie9638120d1ce5bfa43bc7c15f05cf81de37624c5 Gerrit-Change-Number: 13283 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:01 +0000 Subject: Change in osmo-sysmon[master]: openvpn: String returned from openvpn is not null-terminated Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13284 Change subject: openvpn: String returned from openvpn is not null-terminated ...................................................................... openvpn: String returned from openvpn is not null-terminated wireshark shows strings returned by OpenVPN management interface as an aswer to "state" cmd contain no null character at the end. As a consequence, osmo_strlcpy cannot be used since it calls strlen() on the source. Probably previous implementation was harmless because we zero-fill msgb buffers prior to filling them. Change-Id: I4356dc08324a6d877c9e8112306570aabbf6e777 --- M src/osysmon_openvpn.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/84/13284/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index d9e38f0..5ca0c83 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -65,9 +65,10 @@ char *tok; unsigned int i = 0; uint8_t *m = msgb_data(msg); + unsigned int truncated_len = OSMO_MIN(sizeof(tmp) - 1, msgb_length(msg)); - if (msgb_length(msg) > 128) - OVPN_LOG(msg, vpn, "received message too long (%d > %u), truncating...\n", msgb_length(msg), 128); + if (msgb_length(msg) > truncated_len) + OVPN_LOG(msg, vpn, "received message too long (%d >= %u), truncating...\n", msgb_length(msg), truncated_len); if (msgb_length(msg) > 0) { if (!isdigit(m[0])) /* skip OpenVPN greetings and alike */ @@ -77,7 +78,8 @@ return NULL; } - OSMO_STRLCPY_ARRAY(tmp, (char *)m); + memcpy(tmp, m, truncated_len); + tmp[truncated_len] = '\0'; for (tok = strtok(tmp, ","); tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { /* The string format is documented in https://openvpn.net/community-resources/management-interface/ */ -- To view, visit https://gerrit.osmocom.org/13284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4356dc08324a6d877c9e8112306570aabbf6e777 Gerrit-Change-Number: 13284 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:01 +0000 Subject: Change in osmo-sysmon[master]: openvpn: log status description Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13285 Change subject: openvpn: log status description ...................................................................... openvpn: log status description Useful specially during RECONNECTING and EXITING to show reason of the disconnect according to openvpn documentation. Change-Id: I9f47f5d843bb550a4ce7956c89d31f06394201cf --- M src/osysmon_openvpn.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/85/13285/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 5ca0c83..672fd51 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -61,7 +61,7 @@ static char *parse_state(struct msgb *msg, struct openvpn_client *vpn) { - char tmp[128]; + char tmp[128], buf[128]; char *tok; unsigned int i = 0; uint8_t *m = msgb_data(msg); @@ -85,9 +85,13 @@ /* The string format is documented in https://openvpn.net/community-resources/management-interface/ */ if (tok) { /* Parse csv string and pick interesting tokens while ignoring the rest. */ switch (i++) { + /* case 0: unix/date time, not needed */ case 1: update_name(vpn->rem_cfg, tok); break; + case 2: + snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); + update_name(vpn->rem_cfg, buf); case 3: osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); break; -- To view, visit https://gerrit.osmocom.org/13285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9f47f5d843bb550a4ce7956c89d31f06394201cf Gerrit-Change-Number: 13285 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:02 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Fix garbage printed after remote port Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13286 Change subject: openvpn: Fix garbage printed after remote port ...................................................................... openvpn: Fix garbage printed after remote port Last strtok() returns chunk from last "," until end of strig. Since openvpn sends a trailing new line + "END" string, that was being copied into the remote port. Change-Id: Ie24fed9c64bc482fd5af8bc9d03d37937c6471bf --- M src/osysmon_openvpn.c 1 file changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/86/13286/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 672fd51..3c03099 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -59,11 +59,19 @@ bool connected; }; +/* + * The string format is documented in https://openvpn.net/community-resources/management-interface/ + * Conversation loop looks like this (non-null terminated strings): + * CLI -> SRV: "state" + * SRV -> CLI: "1552674378,CONNECTED,SUCCESS,10.8.0.11,144.76.43.77,1194,," {0x0d, 0xa} "END" {0x0d, 0xa} + * More or less comma-separated fields are returned depending on OpenVPN version. + * v2.1.3: Sends only up to field 4 incl, eg: "1552674378,CONNECTED,SUCCESS,10.8.0.11,144.76.43.77" {0x0d, 0xa} "END" {0x0d, 0xa} + */ static char *parse_state(struct msgb *msg, struct openvpn_client *vpn) { char tmp[128], buf[128]; char *tok; - unsigned int i = 0; + unsigned int i; uint8_t *m = msgb_data(msg); unsigned int truncated_len = OSMO_MIN(sizeof(tmp) - 1, msgb_length(msg)); @@ -81,8 +89,15 @@ memcpy(tmp, m, truncated_len); tmp[truncated_len] = '\0'; - for (tok = strtok(tmp, ","); tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { - /* The string format is documented in https://openvpn.net/community-resources/management-interface/ */ + /* Only interested in first line; Remove return carriage, line feed + new line string "END" */ + for (i = 0; i < truncated_len; i++) { + if (!isprint(tmp[i])) { + tmp[i] = '\0'; + break; + } + } + + for (tok = strtok(tmp, ","), i = 0; tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { if (tok) { /* Parse csv string and pick interesting tokens while ignoring the rest. */ switch (i++) { /* case 0: unix/date time, not needed */ -- To view, visit https://gerrit.osmocom.org/13286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie24fed9c64bc482fd5af8bc9d03d37937c6471bf Gerrit-Change-Number: 13286 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 19:59:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 19:59:02 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Remove useless conditional block in parse_state Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13287 Change subject: openvpn: Remove useless conditional block in parse_state ...................................................................... openvpn: Remove useless conditional block in parse_state tok != NULL is already checked in the for loop conditions. Change-Id: I86e42e4537060b2ed8c860c0b71a225c5fe026c7 --- M src/osysmon_openvpn.c 1 file changed, 18 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/87/13287/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 3c03099..5d9af8a 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -98,25 +98,24 @@ } for (tok = strtok(tmp, ","), i = 0; tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { - if (tok) { /* Parse csv string and pick interesting tokens while ignoring the rest. */ - switch (i++) { - /* case 0: unix/date time, not needed */ - case 1: - update_name(vpn->rem_cfg, tok); - break; - case 2: - snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); - update_name(vpn->rem_cfg, buf); - case 3: - osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); - break; - case 4: - update_host(vpn->rem_cfg, tok); - break; - case 5: - vpn->rem_cfg->remote_port = atoi(tok); - break; - } + /* Parse csv string and pick interesting tokens while ignoring the rest. */ + switch (i++) { + /* case 0: unix/date time, not needed */ + case 1: + update_name(vpn->rem_cfg, tok); + break; + case 2: + snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); + update_name(vpn->rem_cfg, buf); + case 3: + osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); + break; + case 4: + update_host(vpn->rem_cfg, tok); + break; + case 5: + vpn->rem_cfg->remote_port = atoi(tok); + break; } } return NULL; -- To view, visit https://gerrit.osmocom.org/13287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I86e42e4537060b2ed8c860c0b71a225c5fe026c7 Gerrit-Change-Number: 13287 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:04:00 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:04:00 +0000 Subject: Change in osmo-bsc[master]: fix log line end in assignment_fsm.c In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13257 ) Change subject: fix log line end in assignment_fsm.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4070ee9164eb161584df70ae174b538c394ab9cd Gerrit-Change-Number: 13257 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:04:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:04:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:04:01 +0000 Subject: Change in osmo-bsc[master]: fix log line end in assignment_fsm.c In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13257 ) Change subject: fix log line end in assignment_fsm.c ...................................................................... fix log line end in assignment_fsm.c Change-Id: I4070ee9164eb161584df70ae174b538c394ab9cd --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index aa696ac..81a2a1e 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -563,7 +563,7 @@ struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); /* Do we still need to wait for the RTP stream at all? */ if (lchan_state_is(conn->assignment.new_lchan, LCHAN_ST_ESTABLISHED)) { - LOG_ASSIGNMENT(conn, LOGL_DEBUG, "lchan fully established, no need to wait"); + LOG_ASSIGNMENT(conn, LOGL_DEBUG, "lchan fully established, no need to wait\n"); assignment_fsm_post_lchan_established(fi); } } -- To view, visit https://gerrit.osmocom.org/13257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4070ee9164eb161584df70ae174b538c394ab9cd Gerrit-Change-Number: 13257 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:06:34 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:06:34 +0000 Subject: Change in osmo-bsc[master]: fix another log line end in assignment_fsm.c Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13288 Change subject: fix another log line end in assignment_fsm.c ...................................................................... fix another log line end in assignment_fsm.c Change-Id: I3be062ad7ecb5ba801cd7412e90c4bc5bf7e367c --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/13288/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 81a2a1e..c17b555 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -88,7 +88,7 @@ conn->assignment.result_rate_ctr_done = true; \ } else \ LOG_ASSIGNMENT(conn, LOGL_DEBUG, \ - "result rate counter already recorded, NOT counting as: %s %s", \ + "result rate counter already recorded, NOT counting as: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ } while(0) -- To view, visit https://gerrit.osmocom.org/13288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3be062ad7ecb5ba801cd7412e90c4bc5bf7e367c Gerrit-Change-Number: 13288 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:08:16 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:08:16 +0000 Subject: Change in osmo-msc[master]: silent_call: use osmo_strlcpy() instead of strncpy() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13261 ) Change subject: silent_call: use osmo_strlcpy() instead of strncpy() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c Gerrit-Change-Number: 13261 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:08:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:08:20 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:08:20 +0000 Subject: Change in osmo-msc[master]: silent_call: use osmo_strlcpy() instead of strncpy() In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13261 ) Change subject: silent_call: use osmo_strlcpy() instead of strncpy() ...................................................................... silent_call: use osmo_strlcpy() instead of strncpy() If gsm_silent_call_start() is called with an over long string in traffic_dst_ip, then the target string might be left unterminated. Lets use osmo_strlcpy() so that we can be sure the result in scd->traffic_ip is always terminated. Fixes: CID#196068 Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c --- M src/libmsc/silent_call.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/src/libmsc/silent_call.c b/src/libmsc/silent_call.c index 7effba3..14974f3 100644 --- a/src/libmsc/silent_call.c +++ b/src/libmsc/silent_call.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -202,7 +203,7 @@ memcpy(&scd->ct, ct, sizeof(scd->ct)); if (traffic_dst_ip) { - strncpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); + osmo_strlcpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); scd->traffic_port = traffic_dst_port; } -- To view, visit https://gerrit.osmocom.org/13261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c Gerrit-Change-Number: 13261 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:09:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:09:41 +0000 Subject: Change in osmo-msc[master]: silent_call: use osmo_strlcpy() instead of strncpy() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13261 ) Change subject: silent_call: use osmo_strlcpy() instead of strncpy() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13261/1/src/libmsc/silent_call.c File src/libmsc/silent_call.c: https://gerrit.osmocom.org/#/c/13261/1/src/libmsc/silent_call.c at 206 PS1, Line 206: osmo_strlcpy(scd->traffic_ip, traffic_dst_ip, sizeof(scd->traffic_ip)); Actually OSMO_STRLCPY_ARRAY() should have been better here -- To view, visit https://gerrit.osmocom.org/13261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic81842175e412ae7d97d023b612412f33411d60c Gerrit-Change-Number: 13261 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:09:41 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:16:10 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:16:10 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: Use proper SDK for OC2G builds In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13112 ) Change subject: contrib: Use proper SDK for OC2G builds ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5adde9cf8a5f84cfc4b6fc4d4def3836444929ec Gerrit-Change-Number: 13112 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:16:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:16:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:16:14 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: Use proper SDK for OC2G builds In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13112 ) Change subject: contrib: Use proper SDK for OC2G builds ...................................................................... contrib: Use proper SDK for OC2G builds Binaries produced by sysmobts SDK are not compatible with OC2G. Change-Id: I5adde9cf8a5f84cfc4b6fc4d4def3836444929ec --- M contrib/jenkins-build-osmo-bts-oc2g.sh M contrib/jenkins-build-osmo-pcu-oc2g.sh 2 files changed, 12 insertions(+), 12 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/jenkins-build-osmo-bts-oc2g.sh b/contrib/jenkins-build-osmo-bts-oc2g.sh index 9ed2099..c4357f0 100755 --- a/contrib/jenkins-build-osmo-bts-oc2g.sh +++ b/contrib/jenkins-build-osmo-bts-oc2g.sh @@ -1,16 +1,16 @@ #!/bin/sh set -e -x -_poky_version="$POKY_VERSION" -_poky_path="$POKY_PATH" +_poky_version="$POKY_OC2G_VERSION" +_poky_path="$POKY_OC2G_PATH" -[ -z "$_poky_version" ] && _poky_version="2.3.2" -[ -z "$_poky_path" ] && _poky_path="/opt/poky/$_poky_version" +[ -z "$_poky_version" ] && _poky_version="2.3.4" +[ -z "$_poky_path" ] && _poky_path="/opt/poky-oc2g/$_poky_version" -. "$_poky_path/environment-setup-armv5te-poky-linux-gnueabi" +. "$_poky_path/environment-setup-cortexa15hf-neon-poky-linux-gnueabi" # Cross-compilation: all installations need to be put in the sysmo SDK sysroot -export DESTDIR="$_poky_path/sysroots/armv5te-poky-linux-gnueabi" +export DESTDIR="$_poky_path/sysroots/cortexa15hf-neon-poky-linux-gnueabi" base="$PWD" name="osmo-bts-oc2g" diff --git a/contrib/jenkins-build-osmo-pcu-oc2g.sh b/contrib/jenkins-build-osmo-pcu-oc2g.sh index 2164926..c10b14e 100755 --- a/contrib/jenkins-build-osmo-pcu-oc2g.sh +++ b/contrib/jenkins-build-osmo-pcu-oc2g.sh @@ -1,16 +1,16 @@ #!/bin/sh set -e -x -_poky_version="$POKY_VERSION" -_poky_path="$POKY_PATH" +_poky_version="$POKY_OC2G_VERSION" +_poky_path="$POKY_OC2G_PATH" -[ -z "$_poky_version" ] && _poky_version="2.3.2" -[ -z "$_poky_path" ] && _poky_path="/opt/poky/$_poky_version" +[ -z "$_poky_version" ] && _poky_version="2.3.4" +[ -z "$_poky_path" ] && _poky_path="/opt/poky-oc2g/$_poky_version" -. "$_poky_path/environment-setup-armv5te-poky-linux-gnueabi" +. "$_poky_path/environment-setup-cortexa15hf-neon-poky-linux-gnueabi" # Cross-compilation: all installations need to be put in the sysmo SDK sysroot -export DESTDIR="$_poky_path/sysroots/armv5te-poky-linux-gnueabi" +export DESTDIR="$_poky_path/sysroots/cortexa15hf-neon-poky-linux-gnueabi" base="$PWD" name="osmo-pcu-oc2g" -- To view, visit https://gerrit.osmocom.org/13112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5adde9cf8a5f84cfc4b6fc4d4def3836444929ec Gerrit-Change-Number: 13112 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:19:57 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:19:57 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13267 ) Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Patch Set 1: Code-Review-1 Agree with Harald -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:19:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:20:22 +0000 Subject: Change in osmo-bts[master]: oc2g: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13262 ) Change subject: oc2g: remove unused define constant FACTORY_ROM_PATH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Gerrit-Change-Number: 13262 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:20:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:20:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:20:30 +0000 Subject: Change in osmo-bts[master]: lc15: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13263 ) Change subject: lc15: remove unused define constant FACTORY_ROM_PATH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Gerrit-Change-Number: 13263 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:20:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:21:20 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:21:20 +0000 Subject: Change in osmo-bts[master]: oml: make oml_tx_failure_event_rep() public In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13264 ) Change subject: oml: make oml_tx_failure_event_rep() public ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Gerrit-Change-Number: 13264 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:21:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:27:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:27:30 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13268 ) Change subject: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13268/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/#/c/13268/1/src/common/main.c at 196 PS1, Line 196: oml_tx_failure_event_rep(&bts->mo, OSMO_EVT_CRIT_PROC_STOP, : "BTS: signal %d (%s) received", signal, : strsignal(signal)); > this is actually wrong. [?] Agree with Harald here. -- To view, visit https://gerrit.osmocom.org/13268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Gerrit-Change-Number: 13268 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:27:30 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:28:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:28:53 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_vty: remove calls to vty_install_default() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13270 ) Change subject: oc2gbts_mgr_vty: remove calls to vty_install_default() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a4afb6e352bed9a5af794b39b984a7ddef36e08 Gerrit-Change-Number: 13270 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:28:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:29:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:29:42 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13271 ) Change subject: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13271/1/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c File src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c: https://gerrit.osmocom.org/#/c/13271/1/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c at 137 PS1, Line 137: fflush(fp); Alternatively you can do "fsync(fileno(fp));" here. -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:29:42 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:31:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:31:14 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: do not return NULL on integer function In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13272 ) Change subject: oc2gbts_mgr_calib: do not return NULL on integer function ...................................................................... Patch Set 1: I'm almost sure I did the same kind of fixes for LC-15 at some point in the past. Please check if you fix it the same way as in LC-15 to make it easier later to merge duplicated code. -- To view, visit https://gerrit.osmocom.org/13272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63b61be2940c59b221089d3d1501371b0116d89a Gerrit-Change-Number: 13272 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:31:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:31:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:31:45 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13273 ) Change subject: l1_if: add include for missing header file ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/13273/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13273/1//COMMIT_MSG at 10 PS1, Line 10: decleared in cbch.h. Lets include this header file in order to be typo: decleared -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:31:45 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:32:27 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:32:27 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13274 ) Change subject: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I61f80a7b11e9117e8b71c49b7d81d2f959f3150d Gerrit-Change-Number: 13274 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:32:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 20:32:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 20:32:56 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13275 ) Change subject: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebc80cd1f77f10a879d4536d788377f522dd853f Gerrit-Change-Number: 13275 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 15 Mar 2019 20:32:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:11:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:11:48 +0000 Subject: Change in libosmocore[master]: osmo_select_main: Fix typo in doc In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13280 ) Change subject: osmo_select_main: Fix typo in doc ...................................................................... Patch Set 1: I don't think it's a typo actually. I think I wrote it that way: "should we (the machine with its software and possibly the developer) wait on ..." -- To view, visit https://gerrit.osmocom.org/13280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6f84758521f598470e06af39e368248e693520ac Gerrit-Change-Number: 13280 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 15 Mar 2019 21:11:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:12:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:12:15 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Improve logging and status information In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13282 ) Change subject: openvpn: Improve logging and status information ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifd0f821ed2d237740b6d3381a7190ad7058ce889 Gerrit-Change-Number: 13282 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:12:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:12:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:12:25 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Set reconnect timeout to a much lower value In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13283 ) Change subject: openvpn: Set reconnect timeout to a much lower value ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie9638120d1ce5bfa43bc7c15f05cf81de37624c5 Gerrit-Change-Number: 13283 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:12:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:12:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:12:49 +0000 Subject: Change in osmo-sysmon[master]: openvpn: String returned from openvpn is not null-terminated In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13284 ) Change subject: openvpn: String returned from openvpn is not null-terminated ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4356dc08324a6d877c9e8112306570aabbf6e777 Gerrit-Change-Number: 13284 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:12:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:13:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:13:01 +0000 Subject: Change in osmo-sysmon[master]: openvpn: log status description In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13285 ) Change subject: openvpn: log status description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9f47f5d843bb550a4ce7956c89d31f06394201cf Gerrit-Change-Number: 13285 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:13:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:13:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:13:28 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Fix garbage printed after remote port In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13286 ) Change subject: openvpn: Fix garbage printed after remote port ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie24fed9c64bc482fd5af8bc9d03d37937c6471bf Gerrit-Change-Number: 13286 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:13:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:13:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:13:39 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Remove useless conditional block in parse_state In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13287 ) Change subject: openvpn: Remove useless conditional block in parse_state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I86e42e4537060b2ed8c860c0b71a225c5fe026c7 Gerrit-Change-Number: 13287 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:13:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:14:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:14:45 +0000 Subject: Change in osmo-bsc[master]: fix another log line end in assignment_fsm.c In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13288 ) Change subject: fix another log line end in assignment_fsm.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3be062ad7ecb5ba801cd7412e90c4bc5bf7e367c Gerrit-Change-Number: 13288 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Fri, 15 Mar 2019 21:14:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:14:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:14:47 +0000 Subject: Change in osmo-bsc[master]: fix another log line end in assignment_fsm.c In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13288 ) Change subject: fix another log line end in assignment_fsm.c ...................................................................... fix another log line end in assignment_fsm.c Change-Id: I3be062ad7ecb5ba801cd7412e90c4bc5bf7e367c --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 81a2a1e..c17b555 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -88,7 +88,7 @@ conn->assignment.result_rate_ctr_done = true; \ } else \ LOG_ASSIGNMENT(conn, LOGL_DEBUG, \ - "result rate counter already recorded, NOT counting as: %s %s", \ + "result rate counter already recorded, NOT counting as: %s %s\n", \ bsc_ctr_description[counter].name, \ bsc_ctr_description[counter].description); \ } while(0) -- To view, visit https://gerrit.osmocom.org/13288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3be062ad7ecb5ba801cd7412e90c4bc5bf7e367c Gerrit-Change-Number: 13288 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:18:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:18:34 +0000 Subject: Change in osmo-sysmon[master]: Integrate sleeping/printing loop into osmo main loop In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13281 ) Change subject: Integrate sleeping/printing loop into osmo main loop ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie2f0983eaf75826483b5b70f58b4d4acb842d6ea Gerrit-Change-Number: 13281 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:18:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:39:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:39:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13289 Change subject: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach ...................................................................... pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/13289/1 diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index c179f07..bd9fa1e 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -256,6 +256,7 @@ testcase TC_pcuif_rach() runs on RAW_Test_CT { f_sns_bringup_1c1u(); + activate(as_pcu_activate()); f_pcuif_tx(ts_PCUIF_RACH_IND(bts_nr:=0, ra:=23, is_11bit:=0, burst_type:=BURST_TYPE_0, fn:=42, arfcn:=871, qta:=0)); -- To view, visit https://gerrit.osmocom.org/13289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 Gerrit-Change-Number: 13289 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:39:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:39:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13289 ) Change subject: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 Gerrit-Change-Number: 13289 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:39:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:42:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:42:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13289 to look at the new patch set (#2). Change subject: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach ...................................................................... pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/13289/2 -- To view, visit https://gerrit.osmocom.org/13289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 Gerrit-Change-Number: 13289 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:42:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:42:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13289 ) Change subject: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 Gerrit-Change-Number: 13289 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 15 Mar 2019 21:42:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 21:42:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 15 Mar 2019 21:42:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13289 ) Change subject: pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach ...................................................................... pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index c179f07..cc3cb5b 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -254,8 +254,15 @@ PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); } +altstep as_pcu_activate() runs on RAW_PCU_CT { + var PCUIF_send_data sd; + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_ACT_REQ(?, ?, ?))) -> value sd { repeat; } + +} + testcase TC_pcuif_rach() runs on RAW_Test_CT { f_sns_bringup_1c1u(); + activate(as_pcu_activate()); f_pcuif_tx(ts_PCUIF_RACH_IND(bts_nr:=0, ra:=23, is_11bit:=0, burst_type:=BURST_TYPE_0, fn:=42, arfcn:=871, qta:=0)); -- To view, visit https://gerrit.osmocom.org/13289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0 Gerrit-Change-Number: 13289 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:35:25 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:35:25 +0000 Subject: Change in libosmocore[master]: osmo_select_main: Fix typo in doc In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13280 ) Change subject: osmo_select_main: Fix typo in doc ...................................................................... Patch Set 1: Ah indeed, "pollonly" is not the subject, it's just the name of the variable in front of the description. -- To view, visit https://gerrit.osmocom.org/13280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6f84758521f598470e06af39e368248e693520ac Gerrit-Change-Number: 13280 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 15 Mar 2019 23:35:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:35:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:35:30 +0000 Subject: Change in libosmocore[master]: osmo_select_main: Fix typo in doc In-Reply-To: References: Message-ID: Pau Espin Pedrol has abandoned this change. ( https://gerrit.osmocom.org/13280 ) Change subject: osmo_select_main: Fix typo in doc ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I6f84758521f598470e06af39e368248e693520ac Gerrit-Change-Number: 13280 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:42 +0000 Subject: Change in osmo-sysmon[master]: Integrate sleeping/printing loop into osmo main loop In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13281 ) Change subject: Integrate sleeping/printing loop into osmo main loop ...................................................................... Integrate sleeping/printing loop into osmo main loop Among other possibles issue, it should avoid sporadic print loop hanging if no events are fired in osmocom main loop. Change-Id: Ie2f0983eaf75826483b5b70f58b4d4acb842d6ea --- M src/osysmon_main.c 1 file changed, 27 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_main.c b/src/osysmon_main.c index c2df6ad..1ba3753 100644 --- a/src/osysmon_main.c +++ b/src/osysmon_main.c @@ -35,6 +35,7 @@ #include #include #include +#include static struct log_info log_info = {}; @@ -191,9 +192,31 @@ } } +static struct osmo_timer_list print_timer; +int ping_init; + +static void print_nodes(__attribute__((unused)) void *data) +{ + struct value_node *root = value_node_add(NULL, "root", NULL); + osysmon_openvpn_poll(root); + osysmon_sysinfo_poll(root); + osysmon_ctrl_poll(root); + osysmon_rtnl_poll(root); + + if (ping_init == 0) + osysmon_ping_poll(root); + + osysmon_file_poll(root); + + display_update(root); + value_node_del(root); + + osmo_timer_schedule(&print_timer, 1, 0); +} + int main(int argc, char **argv) { - int rc, ping_init; + int rc; osmo_init_logging2(NULL, &log_info); @@ -231,26 +254,11 @@ } } - while (1) { - struct value_node *root = value_node_add(NULL, "root", NULL); - int vpns = osysmon_openvpn_poll(root); - osysmon_sysinfo_poll(root); - osysmon_ctrl_poll(root); - osysmon_rtnl_poll(root); + osmo_timer_setup(&print_timer, print_nodes, NULL); + osmo_timer_schedule(&print_timer, 0, 0); - if (ping_init == 0) - osysmon_ping_poll(root); - - osysmon_file_poll(root); - - display_update(root); - value_node_del(root); - - if (vpns) + while (1) osmo_select_main(0); - sleep(1); - } - exit(0); } -- To view, visit https://gerrit.osmocom.org/13281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie2f0983eaf75826483b5b70f58b4d4acb842d6ea Gerrit-Change-Number: 13281 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:43 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:43 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Improve logging and status information In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13282 ) Change subject: openvpn: Improve logging and status information ...................................................................... openvpn: Improve logging and status information New strings are far more comprehensive to understand the current status during (re)connect to openvpn management socket. Change-Id: Ifd0f821ed2d237740b6d3381a7190ad7058ce889 --- M src/osysmon_openvpn.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 148e3b8..8c95984 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -117,7 +117,7 @@ { struct openvpn_client *vpn = osmo_stream_cli_get_data(conn); - update_name(vpn->rem_cfg, "management interface unavailable"); + update_name(vpn->rem_cfg, "disconnected from openvpn management socket"); vpn->connected = false; talloc_free(vpn->tun_ip); talloc_free(vpn->rem_cfg->remote_host); @@ -131,7 +131,7 @@ { struct openvpn_client *vpn = osmo_stream_cli_get_data(conn); - update_name(vpn->rem_cfg, "management interface incompatible"); + update_name(vpn->rem_cfg, "connected to openvpn management socket"); vpn->connected = true; return 0; @@ -149,7 +149,7 @@ bytes = osmo_stream_cli_recv(conn, msg); if (bytes < 0) - OVPN_LOG(msg, vpn, "unable to receive message in callback\n"); + OVPN_LOG(msg, vpn, "read on openvpn management socket failed (%d)\n", bytes); else parse_state(msg, vpn); @@ -174,7 +174,7 @@ if (!vpn->cfg) goto dealloc; - vpn->rem_cfg = host_cfg_alloc(vpn, "management interface unavailable", NULL, 0); + vpn->rem_cfg = host_cfg_alloc(vpn, "connecting to openvpn management socket", NULL, 0); if (!vpn->rem_cfg) goto dealloc; @@ -191,7 +191,7 @@ osmo_stream_cli_set_disconnect_cb(vpn->mgmt, disconnect_cb); if (osmo_stream_cli_open(vpn->mgmt) < 0) { - OVPN_LOG(vpn->rem_cfg, vpn, "failed to connect to management interface\n"); + OVPN_LOG(vpn->rem_cfg, vpn, "failed to connect to management socket\n"); goto dealloc; } -- To view, visit https://gerrit.osmocom.org/13282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifd0f821ed2d237740b6d3381a7190ad7058ce889 Gerrit-Change-Number: 13282 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:43 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:43 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Set reconnect timeout to a much lower value In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13283 ) Change subject: openvpn: Set reconnect timeout to a much lower value ...................................................................... openvpn: Set reconnect timeout to a much lower value It's a connection towards localhost, so it doesn't hurt reconnecting in a timely fashion, otherwise upon openvpn restart user needed to wait for 1 minute to see changes. Change-Id: Ie9638120d1ce5bfa43bc7c15f05cf81de37624c5 --- M src/osysmon_openvpn.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 8c95984..d9e38f0 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -185,7 +185,7 @@ } /* Wait for 1 minute before attempting to reconnect to management interface */ - osmo_stream_cli_set_reconnect_timeout(vpn->mgmt, 60); + osmo_stream_cli_set_reconnect_timeout(vpn->mgmt, 5); osmo_stream_cli_set_read_cb(vpn->mgmt, read_cb); osmo_stream_cli_set_connect_cb(vpn->mgmt, connect_cb); osmo_stream_cli_set_disconnect_cb(vpn->mgmt, disconnect_cb); -- To view, visit https://gerrit.osmocom.org/13283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie9638120d1ce5bfa43bc7c15f05cf81de37624c5 Gerrit-Change-Number: 13283 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:44 +0000 Subject: Change in osmo-sysmon[master]: openvpn: String returned from openvpn is not null-terminated In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13284 ) Change subject: openvpn: String returned from openvpn is not null-terminated ...................................................................... openvpn: String returned from openvpn is not null-terminated wireshark shows strings returned by OpenVPN management interface as an aswer to "state" cmd contain no null character at the end. As a consequence, osmo_strlcpy cannot be used since it calls strlen() on the source. Probably previous implementation was harmless because we zero-fill msgb buffers prior to filling them. Change-Id: I4356dc08324a6d877c9e8112306570aabbf6e777 --- M src/osysmon_openvpn.c 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index d9e38f0..5ca0c83 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -65,9 +65,10 @@ char *tok; unsigned int i = 0; uint8_t *m = msgb_data(msg); + unsigned int truncated_len = OSMO_MIN(sizeof(tmp) - 1, msgb_length(msg)); - if (msgb_length(msg) > 128) - OVPN_LOG(msg, vpn, "received message too long (%d > %u), truncating...\n", msgb_length(msg), 128); + if (msgb_length(msg) > truncated_len) + OVPN_LOG(msg, vpn, "received message too long (%d >= %u), truncating...\n", msgb_length(msg), truncated_len); if (msgb_length(msg) > 0) { if (!isdigit(m[0])) /* skip OpenVPN greetings and alike */ @@ -77,7 +78,8 @@ return NULL; } - OSMO_STRLCPY_ARRAY(tmp, (char *)m); + memcpy(tmp, m, truncated_len); + tmp[truncated_len] = '\0'; for (tok = strtok(tmp, ","); tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { /* The string format is documented in https://openvpn.net/community-resources/management-interface/ */ -- To view, visit https://gerrit.osmocom.org/13284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4356dc08324a6d877c9e8112306570aabbf6e777 Gerrit-Change-Number: 13284 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:44 +0000 Subject: Change in osmo-sysmon[master]: openvpn: log status description In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13285 ) Change subject: openvpn: log status description ...................................................................... openvpn: log status description Useful specially during RECONNECTING and EXITING to show reason of the disconnect according to openvpn documentation. Change-Id: I9f47f5d843bb550a4ce7956c89d31f06394201cf --- M src/osysmon_openvpn.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 5ca0c83..672fd51 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -61,7 +61,7 @@ static char *parse_state(struct msgb *msg, struct openvpn_client *vpn) { - char tmp[128]; + char tmp[128], buf[128]; char *tok; unsigned int i = 0; uint8_t *m = msgb_data(msg); @@ -85,9 +85,13 @@ /* The string format is documented in https://openvpn.net/community-resources/management-interface/ */ if (tok) { /* Parse csv string and pick interesting tokens while ignoring the rest. */ switch (i++) { + /* case 0: unix/date time, not needed */ case 1: update_name(vpn->rem_cfg, tok); break; + case 2: + snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); + update_name(vpn->rem_cfg, buf); case 3: osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); break; -- To view, visit https://gerrit.osmocom.org/13285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9f47f5d843bb550a4ce7956c89d31f06394201cf Gerrit-Change-Number: 13285 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:45 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Fix garbage printed after remote port In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13286 ) Change subject: openvpn: Fix garbage printed after remote port ...................................................................... openvpn: Fix garbage printed after remote port Last strtok() returns chunk from last "," until end of strig. Since openvpn sends a trailing new line + "END" string, that was being copied into the remote port. Change-Id: Ie24fed9c64bc482fd5af8bc9d03d37937c6471bf --- M src/osysmon_openvpn.c 1 file changed, 18 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 672fd51..3c03099 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -59,11 +59,19 @@ bool connected; }; +/* + * The string format is documented in https://openvpn.net/community-resources/management-interface/ + * Conversation loop looks like this (non-null terminated strings): + * CLI -> SRV: "state" + * SRV -> CLI: "1552674378,CONNECTED,SUCCESS,10.8.0.11,144.76.43.77,1194,," {0x0d, 0xa} "END" {0x0d, 0xa} + * More or less comma-separated fields are returned depending on OpenVPN version. + * v2.1.3: Sends only up to field 4 incl, eg: "1552674378,CONNECTED,SUCCESS,10.8.0.11,144.76.43.77" {0x0d, 0xa} "END" {0x0d, 0xa} + */ static char *parse_state(struct msgb *msg, struct openvpn_client *vpn) { char tmp[128], buf[128]; char *tok; - unsigned int i = 0; + unsigned int i; uint8_t *m = msgb_data(msg); unsigned int truncated_len = OSMO_MIN(sizeof(tmp) - 1, msgb_length(msg)); @@ -81,8 +89,15 @@ memcpy(tmp, m, truncated_len); tmp[truncated_len] = '\0'; - for (tok = strtok(tmp, ","); tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { - /* The string format is documented in https://openvpn.net/community-resources/management-interface/ */ + /* Only interested in first line; Remove return carriage, line feed + new line string "END" */ + for (i = 0; i < truncated_len; i++) { + if (!isprint(tmp[i])) { + tmp[i] = '\0'; + break; + } + } + + for (tok = strtok(tmp, ","), i = 0; tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { if (tok) { /* Parse csv string and pick interesting tokens while ignoring the rest. */ switch (i++) { /* case 0: unix/date time, not needed */ -- To view, visit https://gerrit.osmocom.org/13286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie24fed9c64bc482fd5af8bc9d03d37937c6471bf Gerrit-Change-Number: 13286 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 15 23:38:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 15 Mar 2019 23:38:45 +0000 Subject: Change in osmo-sysmon[master]: openvpn: Remove useless conditional block in parse_state In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13287 ) Change subject: openvpn: Remove useless conditional block in parse_state ...................................................................... openvpn: Remove useless conditional block in parse_state tok != NULL is already checked in the for loop conditions. Change-Id: I86e42e4537060b2ed8c860c0b71a225c5fe026c7 --- M src/osysmon_openvpn.c 1 file changed, 18 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 3c03099..5d9af8a 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -98,25 +98,24 @@ } for (tok = strtok(tmp, ","), i = 0; tok && i < MAX_RESP_COMPONENTS; tok = strtok(NULL, ",")) { - if (tok) { /* Parse csv string and pick interesting tokens while ignoring the rest. */ - switch (i++) { - /* case 0: unix/date time, not needed */ - case 1: - update_name(vpn->rem_cfg, tok); - break; - case 2: - snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); - update_name(vpn->rem_cfg, buf); - case 3: - osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); - break; - case 4: - update_host(vpn->rem_cfg, tok); - break; - case 5: - vpn->rem_cfg->remote_port = atoi(tok); - break; - } + /* Parse csv string and pick interesting tokens while ignoring the rest. */ + switch (i++) { + /* case 0: unix/date time, not needed */ + case 1: + update_name(vpn->rem_cfg, tok); + break; + case 2: + snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); + update_name(vpn->rem_cfg, buf); + case 3: + osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); + break; + case 4: + update_host(vpn->rem_cfg, tok); + break; + case 5: + vpn->rem_cfg->remote_port = atoi(tok); + break; } } return NULL; -- To view, visit https://gerrit.osmocom.org/13287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I86e42e4537060b2ed8c860c0b71a225c5fe026c7 Gerrit-Change-Number: 13287 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 16 02:53:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 16 Mar 2019 02:53:20 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c8c652e768bb_67af8ca5f0838988@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 161s] | #define HAVE_STDINT_H 1 [ 161s] | #define HAVE_UNISTD_H 1 [ 161s] | #define HAVE_DLFCN_H 1 [ 161s] | #define LT_OBJDIR ".libs/" [ 161s] | #define STDC_HEADERS 1 [ 161s] | #define HAVE_EXECINFO_H 1 [ 161s] | #define HAVE_SYS_SELECT_H 1 [ 161s] | #define HAVE_SYS_SOCKET_H 1 [ 161s] | #define HAVE_SYSLOG_H 1 [ 161s] | #define HAVE_CTYPE_H 1 [ 161s] | #define HAVE_LIBSCTP 1 [ 161s] | #define HAVE_PCAP_H 1 [ 161s] | [ 161s] | configure: exit 0 [ 161s] [ 161s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 [ 161s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 161s] make: *** [debian/rules:13: build] Error 2 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] [ 161s] lamb23 failed "build libosmo-netif_0.4.0.23.1ab2.dsc" at Sat Mar 16 02:53:08 UTC 2019. [ 161s] [ 161s] ### VM INTERACTION START ### [ 164s] [ 148.799260] sysrq: SysRq : Power Off [ 164s] [ 148.813822] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] lamb23 failed "build libosmo-netif_0.4.0.23.1ab2.dsc" at Sat Mar 16 02:53:12 UTC 2019. [ 164s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Mar 16 08:01:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 08:01:48 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/13121/5/include/osmocom/core/use_count.h File include/osmocom/core/use_count.h: https://gerrit.osmocom.org/#/c/13121/5/include/osmocom/core/use_count.h at 154 PS5, Line 154: * foo_get(foo, "bar"); // one osmo_use_count_entry was allocated : * foo_get(foo, "baz"); // a second osmo_use_count_entry was allocated : * foo_get(foo, "baz"); // still two entries : * : * printf("use: %s\n", osmo_use_count_name_buf(namebuf, sizeof(namebuf), &foo->use_count)); : * // "use: 3 (bar,2*baz)" : * : * foo_put(foo, "bar"); // still two entries, one entry is idle ("bar"=0) : * foo_put(foo, "baz"); I know this is just an example, but at least in any code that eveer uses this I strongly suggest to not use literal strings here, but have #defines for it. The rationale is quite simple: If you have a typo in the enum, then it will give a compile-time failure. If you have a typo in a literal string that you write dozens of time in your code, it is hard to spot by the human eye and the compiler will not warn/fail. You will only see the error at runtime, which is the worst outcome. -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max Gerrit-Comment-Date: Sat, 16 Mar 2019 08:01:48 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 08:06:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 08:06:55 +0000 Subject: Change in osmo-msc[master]: vlr_subscr: use osmo_use_count In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13136 ) Change subject: vlr_subscr: use osmo_use_count ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/gsm_04_08.c at 1804 PS2, Line 1804: "conn" no #define here? See my comment about in-line literal strings vs. #defines and the risk of undiscovered typos in the use_count libosmocore patchset. https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/ran_conn.c File src/libmsc/ran_conn.c: https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/ran_conn.c at 555 PS2, Line 555: vlr_subscr_put(conn->vsub, "conn"); no #define here? See my comment about in-line literal strings vs. #defines and the risk of undiscovered typos in the use_count libosmocore patchset. https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/sgs_iface.c File src/libmsc/sgs_iface.c: https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/sgs_iface.c at 101 PS2, Line 101: vlr_subscr_get(vsub, "conn"); no #define here? See my comment about in-line literal strings vs. #defines and the risk of undiscovered typos in the use_count libosmocore patchset. -- To view, visit https://gerrit.osmocom.org/13136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475 Gerrit-Change-Number: 13136 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Sat, 16 Mar 2019 08:06:55 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 13:43:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 13:43:18 +0000 Subject: Change in libosmocore[master]: gprs_ns.c: Update comment: IP SNS has recently been implemented Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13290 Change subject: gprs_ns.c: Update comment: IP SNS has recently been implemented ...................................................................... gprs_ns.c: Update comment: IP SNS has recently been implemented Change-Id: I8b98621a582a23d0483a5340b4aca7e0bc096e6d --- M src/gb/gprs_ns.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/13290/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 33de2c1..93c219c 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -58,7 +58,6 @@ * - Only one NS-VC for each NSE: No load-sharing function * - NSVCI 65535 and 65534 are reserved for internal use * - Only UDP is supported as of now, no frame relay support - * - The IP Sub-Network-Service (SNS) as specified in 48.016 is not implemented * - There are no BLOCK and UNBLOCK timers (yet?) * * \file gprs_ns.c */ -- To view, visit https://gerrit.osmocom.org/13290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8b98621a582a23d0483a5340b4aca7e0bc096e6d Gerrit-Change-Number: 13290 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 13:43:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 13:43:19 +0000 Subject: Change in libosmocore[master]: gprs_ns: Don't use initial IP/port for anything but SNS Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13291 Change subject: gprs_ns: Don't use initial IP/port for anything but SNS ...................................................................... gprs_ns: Don't use initial IP/port for anything but SNS Section 6.2.1 of 3GPP TS 48.016 states: > A pre-configured endpoint shall not be used for NSE data or signalling > traffic (with the exception of Size and Configuration procedures) unless > it is configured by the SGSN using the auto-configuration procedures. However, in the current SNS implementation, the initial IP/Port over which we perform the SNS-SIZE + SNS-CONFIG are treated as one of the normal NS-VCs. Specifically, we also perform the NS-ALIVE procedure on it, which is clearly wrong. Let's explicitly create the "initial" NS-VC with data and signalling weight of 0, and ensure we never start the alive timer or send any non-SNS PDUs on this connection as long as SNS was not used to change either of the two weights to non-zero. While at it, also safeguard against processing any incoming non-SNS messages on such a all-zero-weight connection. Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Closes: OS#3844 --- M src/gb/gprs_ns.c 1 file changed, 55 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/13291/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 93c219c..6508aa7 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -195,6 +195,14 @@ LOGP(DNS, LOGL_ERROR, "TX failed (%d) to peer %s\n", \ rc, gprs_ns_ll_str(nsvc)); +static bool nsvc_is_not_used(const struct gprs_nsvc *nsvc) +{ + if (nsvc->data_weight == 0 && nsvc->sig_weight == 0) + return true; + else + return false; +} + struct msgb *gprs_ns_msgb_alloc(void) { struct msgb *msg = msgb_alloc_headroom(NS_ALLOC_SIZE, NS_ALLOC_HEADROOM, @@ -444,12 +452,40 @@ static int nsip_sendmsg(struct gprs_nsvc *nsvc, struct msgb *msg); extern int grps_ns_frgre_sendmsg(struct gprs_nsvc *nsvc, struct msgb *msg); +static bool ns_is_sns(uint8_t pdu_type) +{ + switch (pdu_type) { + case SNS_PDUT_CONFIG: + case SNS_PDUT_ACK: + case SNS_PDUT_ADD: + case SNS_PDUT_CHANGE_WEIGHT: + case SNS_PDUT_DELETE: + case SNS_PDUT_CONFIG_ACK: + case SNS_PDUT_SIZE: + case SNS_PDUT_SIZE_ACK: + return true; + default: + return false; + } +} + static int gprs_ns_tx(struct gprs_nsvc *nsvc, struct msgb *msg) { + struct gprs_ns_hdr *nsh = (struct gprs_ns_hdr *) msg->l2h; int ret; log_set_context(LOG_CTX_GB_NSVC, nsvc); + /* A pre-configured endpoint shall not be used for NSE data or signalling + * traffic (with the exception of Size and Configuration procedures) unless it + * is configured by the SGSN using the auto-configuration procedures. */ + if (nsvc_is_not_used(nsvc) && !ns_is_sns(nsh->pdu_type) && nsh->pdu_type != NS_PDUT_STATUS) { + LOGP(DNS, LOGL_NOTICE, "Not transmitting %s on unused/pre-configured eindpoint\n", + get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + msgb_free(msg); + return -EINVAL; + } + /* Increment number of Uplink bytes */ rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT]); rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT], msgb_l2len(msg)); @@ -1690,6 +1726,13 @@ rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_PKTS_IN]); rate_ctr_add(&(*nsvc)->ctrg->ctr[NS_CTR_BYTES_IN], msgb_l2len(msg)); + if (nsvc_is_not_used(*nsvc) && !ns_is_sns(nsh->pdu_type) && nsh->pdu_type != NS_PDUT_STATUS) { + LOGP(DNS, LOGL_NOTICE, "NSEI=%u Rx %s on unused/pre-configured endpoint, discarding\n", + (*nsvc)->nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + gprs_ns_tx_status(*nsvc, NS_CAUSE_PROTO_ERR_UNSPEC, 0, msg); + return 0; + } + switch (nsh->pdu_type) { case NS_PDUT_ALIVE: /* If we're dead and blocked and suddenly receive a @@ -2116,8 +2159,14 @@ * require some massive code and API changes compared to existing libosmogb, * so let's keep the old logic. */ nsvc = gprs_nsvc_by_rem_addr(nsi, dest); - if (!nsvc) - nsvc = gprs_nsvc_create(nsi, nsvci); + if (!nsvc) { + /* create NSVC with 0 data + signalling weight. This is illegal in SNS + * and can hence only be created locally and serves as indication that + * this NS-VC shall not be used for anything except SNS _unless_ it is + * modified via SNS-{CONFIG,CHANGEWEIGHT,ADD} to become part of the + * active NS-VCs */ + nsvc = gprs_nsvc_create2(nsi, nsvci, 0, 0); + } nsvc->ip.bts_addr = *dest; nsvc->nsei = nsei; nsvc->remote_end_is_sgsn = 1; @@ -2161,6 +2210,10 @@ /*! Start the ALIVE timer procedure in all NS-VCs part of this NS Instance */ void gprs_nsvc_start_test(struct gprs_nsvc *nsvc) { + /* skip the initial NS-VC unless it has explicitly been configured + * via SNS-CONFIG from the SGSN */ + if (nsvc_is_not_used(nsvc)) + return; gprs_ns_tx_alive(nsvc); nsvc_start_timer(nsvc, NSVC_TIMER_TNS_TEST); } -- To view, visit https://gerrit.osmocom.org/13291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Gerrit-Change-Number: 13291 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 13:46:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 13:46:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test SNS where initial IP/port is not part of configured NS-VCs Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13292 Change subject: pcu: Test SNS where initial IP/port is not part of configured NS-VCs ...................................................................... pcu: Test SNS where initial IP/port is not part of configured NS-VCs As per section 6.2.1 of 3GPP TS 48.016, the initial IP/port where the SNS SIZE/CONFIG procedures are being performed is not automatically part of the later NS-VCs. This means we shall not perform the NS-ALIVE procedure or any other procedure beyond SNS with that specific endpoint. This adds a new TC_sns_1c1u_separate() to test for this behavior. Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d Related: OS#3844 --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 91 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/13292/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 923b086..a30829e 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -124,6 +124,37 @@ } } +/* perform outbound NS-ALIVE procedure */ +function f_outgoing_ns_alive_no_ack(integer idx := 0, float tout := 10.0) runs on RAW_NS_CT { + timer T := tout; + NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], t_NS_ALIVE)); + T.start; + alt { + [] NSCP[idx].receive(t_NS_RecvFrom(t_NS_ALIVE_ACK)) { + setverdict(fail, "Received unexpected NS-ALIVE ACK"); + } + [] NSCP[idx].receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } +} + +/* ensure no matching message is received within 'tout' */ +function f_ensure_no_ns(template PDU_NS ns := ?, integer idx := 0, float tout := 3.0) +runs on RAW_Test_CT { + timer T := tout; + T.start; + alt { + [] NSCP[idx].receive(t_NS_RecvFrom(ns)) { + setverdict(fail, "NS-ALIVE from unconfigured (possibly initial) endpoint"); + } + [] T.timeout { + setverdict(pass); + } + } +} + /* perform outbound NS-BLOCK procedure */ function f_outgoing_ns_block(NsCause cause, integer idx := 0) runs on RAW_NS_CT { NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_NS_BLOCK(cause, g_nsconfig[idx].nsvci))); diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index cc3cb5b..a216dbe 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -67,6 +67,19 @@ rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig[idx].nsei, cause), idx); } +/* perform outbound SNS-CONFIG procedure (separate endpoints: 1 for control, 1 for user */ +function f_outgoing_sns_config_1c1u_separate(template (omit) NsCause cause := omit, integer idx := 0) +runs on RAW_NS_CT { + log("f_outgoing_sns_config_1c1u_separate(idx=", idx, ")"); + var PDU_NS rx; + var template (omit) IP4_Elements v4 := { ts_SNS_IPv4(g_nsconfig[1].local_ip, + g_nsconfig[1].local_udp_port, 1, 0), + ts_SNS_IPv4(g_nsconfig[2].local_ip, + g_nsconfig[2].local_udp_port, 0, 1) }; + NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_SNS_CONFIG(g_nsconfig[idx].nsei, true, v4))); + rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig[idx].nsei, cause), idx); +} + function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0) runs on RAW_NS_CT { log("f_outgoing_sns_add(idx_add=", idx_add, ")"); @@ -211,6 +224,52 @@ setverdict(pass); } +private function f_sns_bringup_1c1u_separate() runs on RAW_Test_CT { + /* Activate two NS codec ports */ + f_init_ns_codec(); + f_init_ns_codec(1); + f_init_ns_codec(2); + f_init_pcuif(); + /* Perform Size + BSS-originated config */ + f_incoming_sns_size(); + f_incoming_sns_config(); + /* perform SGSN-originated config using idx==0 for signalling and idx==1 for user traffic */ + f_outgoing_sns_config_1c1u_separate(); + + /* wait for one ALIVE cycle, then ACK any further ALIVE in the background + * for both NS-VCs */ + as_rx_alive_tx_ack(oneshot := true, idx := 1); + activate(as_rx_alive_tx_ack(idx := 1)); + as_rx_alive_tx_ack(oneshot := true, idx := 2); + activate(as_rx_alive_tx_ack(idx := 2)); + /* ensure there's no NS-ALIVE received on idx==0 */ + f_ensure_no_ns(t_NS_ALIVE, idx := 0); + + /* perform outgoing ALIVE procedure for both NS-VCs */ + f_outgoing_ns_alive(1); + f_outgoing_ns_alive(2); + /* ensure there's no response to NS-ALIVE sent on idx==0 */ + f_outgoing_ns_alive_no_ack(idx := 0); + + /* Expect BVC-RESET for signaling BVCI=0 and ptp BVCI */ + as_rx_bvc_reset_tx_ack(0, oneshot := true, idx := 1); + as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + /* Expect UNBLOCK for ptp BVCI on signaling NS-VC (idx==1) */ + as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + + /* wait for one FLOW-CONTROL BVC and then ACK any further in the future. Flow + * control happens on the p-t-p BVCI and hence on index 1 */ + as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 2); + activate(as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, idx := 2)); +} + +/* Test full IP-SNS bring-up with two NS-VCs, one sig-only and one user-only - and where + * the initial IP/port for the SNS procedure is *not* part of the NS-VCs later */ +testcase TC_sns_1c1u_separate() runs on RAW_Test_CT { + f_sns_bringup_1c1u_separate(); + setverdict(pass); +} + /* Test adding new IP endpoints at runtime */ testcase TC_sns_add() runs on RAW_Test_CT { f_sns_bringup_1c1u(); @@ -281,6 +340,7 @@ execute( TC_sns_po_config_nack() ); execute( TC_sns_so_config_success() ); execute( TC_sns_1c1u() ); + execute( TC_sns_1c1u_separate() ); execute( TC_sns_add() ); execute( TC_sns_del() ); execute( TC_sns_chg_weight() ); -- To view, visit https://gerrit.osmocom.org/13292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d Gerrit-Change-Number: 13292 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 13:51:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 13:51:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test SNS where initial IP/port is not part of configured NS-VCs In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13292 ) Change subject: pcu: Test SNS where initial IP/port is not part of configured NS-VCs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d Gerrit-Change-Number: 13292 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sat, 16 Mar 2019 13:51:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 13:51:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 13:51:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Test SNS where initial IP/port is not part of configured NS-VCs In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13292 ) Change subject: pcu: Test SNS where initial IP/port is not part of configured NS-VCs ...................................................................... pcu: Test SNS where initial IP/port is not part of configured NS-VCs As per section 6.2.1 of 3GPP TS 48.016, the initial IP/port where the SNS SIZE/CONFIG procedures are being performed is not automatically part of the later NS-VCs. This means we shall not perform the NS-ALIVE procedure or any other procedure beyond SNS with that specific endpoint. This adds a new TC_sns_1c1u_separate() to test for this behavior. Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d Related: OS#3844 --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 91 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 923b086..a30829e 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -124,6 +124,37 @@ } } +/* perform outbound NS-ALIVE procedure */ +function f_outgoing_ns_alive_no_ack(integer idx := 0, float tout := 10.0) runs on RAW_NS_CT { + timer T := tout; + NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], t_NS_ALIVE)); + T.start; + alt { + [] NSCP[idx].receive(t_NS_RecvFrom(t_NS_ALIVE_ACK)) { + setverdict(fail, "Received unexpected NS-ALIVE ACK"); + } + [] NSCP[idx].receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } +} + +/* ensure no matching message is received within 'tout' */ +function f_ensure_no_ns(template PDU_NS ns := ?, integer idx := 0, float tout := 3.0) +runs on RAW_Test_CT { + timer T := tout; + T.start; + alt { + [] NSCP[idx].receive(t_NS_RecvFrom(ns)) { + setverdict(fail, "NS-ALIVE from unconfigured (possibly initial) endpoint"); + } + [] T.timeout { + setverdict(pass); + } + } +} + /* perform outbound NS-BLOCK procedure */ function f_outgoing_ns_block(NsCause cause, integer idx := 0) runs on RAW_NS_CT { NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_NS_BLOCK(cause, g_nsconfig[idx].nsvci))); diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index cc3cb5b..a216dbe 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -67,6 +67,19 @@ rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig[idx].nsei, cause), idx); } +/* perform outbound SNS-CONFIG procedure (separate endpoints: 1 for control, 1 for user */ +function f_outgoing_sns_config_1c1u_separate(template (omit) NsCause cause := omit, integer idx := 0) +runs on RAW_NS_CT { + log("f_outgoing_sns_config_1c1u_separate(idx=", idx, ")"); + var PDU_NS rx; + var template (omit) IP4_Elements v4 := { ts_SNS_IPv4(g_nsconfig[1].local_ip, + g_nsconfig[1].local_udp_port, 1, 0), + ts_SNS_IPv4(g_nsconfig[2].local_ip, + g_nsconfig[2].local_udp_port, 0, 1) }; + NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_SNS_CONFIG(g_nsconfig[idx].nsei, true, v4))); + rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig[idx].nsei, cause), idx); +} + function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0) runs on RAW_NS_CT { log("f_outgoing_sns_add(idx_add=", idx_add, ")"); @@ -211,6 +224,52 @@ setverdict(pass); } +private function f_sns_bringup_1c1u_separate() runs on RAW_Test_CT { + /* Activate two NS codec ports */ + f_init_ns_codec(); + f_init_ns_codec(1); + f_init_ns_codec(2); + f_init_pcuif(); + /* Perform Size + BSS-originated config */ + f_incoming_sns_size(); + f_incoming_sns_config(); + /* perform SGSN-originated config using idx==0 for signalling and idx==1 for user traffic */ + f_outgoing_sns_config_1c1u_separate(); + + /* wait for one ALIVE cycle, then ACK any further ALIVE in the background + * for both NS-VCs */ + as_rx_alive_tx_ack(oneshot := true, idx := 1); + activate(as_rx_alive_tx_ack(idx := 1)); + as_rx_alive_tx_ack(oneshot := true, idx := 2); + activate(as_rx_alive_tx_ack(idx := 2)); + /* ensure there's no NS-ALIVE received on idx==0 */ + f_ensure_no_ns(t_NS_ALIVE, idx := 0); + + /* perform outgoing ALIVE procedure for both NS-VCs */ + f_outgoing_ns_alive(1); + f_outgoing_ns_alive(2); + /* ensure there's no response to NS-ALIVE sent on idx==0 */ + f_outgoing_ns_alive_no_ack(idx := 0); + + /* Expect BVC-RESET for signaling BVCI=0 and ptp BVCI */ + as_rx_bvc_reset_tx_ack(0, oneshot := true, idx := 1); + as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + /* Expect UNBLOCK for ptp BVCI on signaling NS-VC (idx==1) */ + as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + + /* wait for one FLOW-CONTROL BVC and then ACK any further in the future. Flow + * control happens on the p-t-p BVCI and hence on index 1 */ + as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 2); + activate(as_rx_bvc_fc_tx_ack(mp_gb_cfg.bvci, idx := 2)); +} + +/* Test full IP-SNS bring-up with two NS-VCs, one sig-only and one user-only - and where + * the initial IP/port for the SNS procedure is *not* part of the NS-VCs later */ +testcase TC_sns_1c1u_separate() runs on RAW_Test_CT { + f_sns_bringup_1c1u_separate(); + setverdict(pass); +} + /* Test adding new IP endpoints at runtime */ testcase TC_sns_add() runs on RAW_Test_CT { f_sns_bringup_1c1u(); @@ -281,6 +340,7 @@ execute( TC_sns_po_config_nack() ); execute( TC_sns_so_config_success() ); execute( TC_sns_1c1u() ); + execute( TC_sns_1c1u_separate() ); execute( TC_sns_add() ); execute( TC_sns_del() ); execute( TC_sns_chg_weight() ); -- To view, visit https://gerrit.osmocom.org/13292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d Gerrit-Change-Number: 13292 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 14:00:34 2019 From: gerrit-no-reply at lists.osmocom.org (Alexander Chemeris) Date: Sat, 16 Mar 2019 14:00:34 +0000 Subject: Change in libosmocore[master]: gprs_ns: Don't use initial IP/port for anything but SNS In-Reply-To: References: Message-ID: Alexander Chemeris has posted comments on this change. ( https://gerrit.osmocom.org/13291 ) Change subject: gprs_ns: Don't use initial IP/port for anything but SNS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13291/1/src/gb/gprs_ns.c File src/gb/gprs_ns.c: https://gerrit.osmocom.org/#/c/13291/1/src/gb/gprs_ns.c at 483 PS1, Line 483: i Typo -- To view, visit https://gerrit.osmocom.org/13291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Gerrit-Change-Number: 13291 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Alexander Chemeris Gerrit-Comment-Date: Sat, 16 Mar 2019 14:00:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:09:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:09:12 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13293 Change subject: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint ...................................................................... gprs_ns_sns: Use "correct" remote IP address for local IP endpoint we cannot use "nsi->nsip.remote_ip", as this address is not set when SNS is in use. We can only have a valid nsi->nsip.remote_ip if there's only a single NS-VC inside the NS Instance, as this would connect() the UDP socket to the remote IP/port, breaking any possibility to have multiple NS-VCs to different SGNS-side IP addresses. Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 --- M src/gb/gprs_ns_sns.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/13293/1 diff --git a/src/gb/gprs_ns_sns.c b/src/gb/gprs_ns_sns.c index b0ee5d7..cbaa468 100644 --- a/src/gb/gprs_ns_sns.c +++ b/src/gb/gprs_ns_sns.c @@ -657,8 +657,8 @@ /* unspecified local address. Figure out which address the kernel would use if we * wanted to send a packet to the remote_ip */ char local_ip[32]; - struct in_addr in = { .s_addr = htonl(nsi->nsip.remote_ip) }; - osmo_sock_local_ip(local_ip, inet_ntoa(in)); + struct sockaddr_in *daddr = &nsvc->ip.bts_addr; + osmo_sock_local_ip(local_ip, inet_ntoa(daddr->sin_addr)); ip4->ip_addr = inet_addr(local_ip); } ip4->udp_port = htons(gss->nsi->nsip.local_port); -- To view, visit https://gerrit.osmocom.org/13293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 Gerrit-Change-Number: 13293 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:26:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sat, 16 Mar 2019 17:26:30 +0000 Subject: Change in osmo-sysmon[master]: openvn: Fix missing break in last commit Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13294 Change subject: openvn: Fix missing break in last commit ...................................................................... openvn: Fix missing break in last commit Fixes: 778ac848d30b3c814f40dde2e30ea374b12bcc7a Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 --- M src/osysmon_openvpn.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/94/13294/1 diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 5d9af8a..8d88def 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -107,6 +107,7 @@ case 2: snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); update_name(vpn->rem_cfg, buf); + break; case 3: osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); break; -- To view, visit https://gerrit.osmocom.org/13294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 Gerrit-Change-Number: 13294 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:28:04 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sat, 16 Mar 2019 17:28:04 +0000 Subject: Change in osmo-sysmon[master]: openvn: Fix missing break in last commit In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13294 to look at the new patch set (#2). Change subject: openvn: Fix missing break in last commit ...................................................................... openvn: Fix missing break in last commit Fixes: a3a92ecc5c6208e495a45b0061ae7ef1b0477622 Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 --- M src/osysmon_openvpn.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/94/13294/2 -- To view, visit https://gerrit.osmocom.org/13294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 Gerrit-Change-Number: 13294 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sat, 16 Mar 2019 17:29:05 +0000 Subject: Change in libosmocore[master]: gprs_ns.c: Update comment: IP SNS has recently been implemented In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13290 ) Change subject: gprs_ns.c: Update comment: IP SNS has recently been implemented ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8b98621a582a23d0483a5340b4aca7e0bc096e6d Gerrit-Change-Number: 13290 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sat, 16 Mar 2019 17:29:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:32:39 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sat, 16 Mar 2019 17:32:39 +0000 Subject: Change in osmo-sysmon[master]: openvn: Fix missing break in last commit In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13294 ) Change subject: openvn: Fix missing break in last commit ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 Gerrit-Change-Number: 13294 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sat, 16 Mar 2019 17:32:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:32:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sat, 16 Mar 2019 17:32:41 +0000 Subject: Change in osmo-sysmon[master]: openvn: Fix missing break in last commit In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13294 ) Change subject: openvn: Fix missing break in last commit ...................................................................... openvn: Fix missing break in last commit Fixes: a3a92ecc5c6208e495a45b0061ae7ef1b0477622 Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 --- M src/osysmon_openvpn.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osysmon_openvpn.c b/src/osysmon_openvpn.c index 5d9af8a..8d88def 100644 --- a/src/osysmon_openvpn.c +++ b/src/osysmon_openvpn.c @@ -107,6 +107,7 @@ case 2: snprintf(buf, sizeof(buf), "%s (%s)", vpn->rem_cfg->name, tok); update_name(vpn->rem_cfg, buf); + break; case 3: osmo_talloc_replace_string(vpn->rem_cfg, &vpn->tun_ip, tok); break; -- To view, visit https://gerrit.osmocom.org/13294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6d5aeea965cc9d2f417be24dbeca0278d2f83567 Gerrit-Change-Number: 13294 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:34:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:34:14 +0000 Subject: Change in libosmocore[master]: gprs_ns.c: Update comment: IP SNS has recently been implemented In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13290 ) Change subject: gprs_ns.c: Update comment: IP SNS has recently been implemented ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8b98621a582a23d0483a5340b4aca7e0bc096e6d Gerrit-Change-Number: 13290 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sat, 16 Mar 2019 17:34:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:34:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:34:15 +0000 Subject: Change in libosmocore[master]: gprs_ns.c: Update comment: IP SNS has recently been implemented In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13290 ) Change subject: gprs_ns.c: Update comment: IP SNS has recently been implemented ...................................................................... gprs_ns.c: Update comment: IP SNS has recently been implemented Change-Id: I8b98621a582a23d0483a5340b4aca7e0bc096e6d --- M src/gb/gprs_ns.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 33de2c1..93c219c 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -58,7 +58,6 @@ * - Only one NS-VC for each NSE: No load-sharing function * - NSVCI 65535 and 65534 are reserved for internal use * - Only UDP is supported as of now, no frame relay support - * - The IP Sub-Network-Service (SNS) as specified in 48.016 is not implemented * - There are no BLOCK and UNBLOCK timers (yet?) * * \file gprs_ns.c */ -- To view, visit https://gerrit.osmocom.org/13290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8b98621a582a23d0483a5340b4aca7e0bc096e6d Gerrit-Change-Number: 13290 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:35:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:35:10 +0000 Subject: Change in libosmocore[master]: gprs_ns: Don't use initial IP/port for anything but SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13291 to look at the new patch set (#2). Change subject: gprs_ns: Don't use initial IP/port for anything but SNS ...................................................................... gprs_ns: Don't use initial IP/port for anything but SNS Section 6.2.1 of 3GPP TS 48.016 states: > A pre-configured endpoint shall not be used for NSE data or signalling > traffic (with the exception of Size and Configuration procedures) unless > it is configured by the SGSN using the auto-configuration procedures. However, in the current SNS implementation, the initial IP/Port over which we perform the SNS-SIZE + SNS-CONFIG are treated as one of the normal NS-VCs. Specifically, we also perform the NS-ALIVE procedure on it, which is clearly wrong. Let's explicitly create the "initial" NS-VC with data and signalling weight of 0, and ensure we never start the alive timer or send any non-SNS PDUs on this connection as long as SNS was not used to change either of the two weights to non-zero. While at it, also safeguard against processing any incoming non-SNS messages on such a all-zero-weight connection. Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Closes: OS#3844 --- M src/gb/gprs_ns.c 1 file changed, 55 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/13291/2 -- To view, visit https://gerrit.osmocom.org/13291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Gerrit-Change-Number: 13291 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Alexander Chemeris -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:35:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:35:10 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13293 to look at the new patch set (#2). Change subject: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint ...................................................................... gprs_ns_sns: Use "correct" remote IP address for local IP endpoint we cannot use "nsi->nsip.remote_ip", as this address is not set when SNS is in use. We can only have a valid nsi->nsip.remote_ip if there's only a single NS-VC inside the NS Instance, as this would connect() the UDP socket to the remote IP/port, breaking any possibility to have multiple NS-VCs to different SGNS-side IP addresses. Closes: OS#3845 Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 --- M src/gb/gprs_ns_sns.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/13293/2 -- To view, visit https://gerrit.osmocom.org/13293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 Gerrit-Change-Number: 13293 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:38:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:38:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13295 Change subject: pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU ...................................................................... pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU Prior to this patch, the test accepted anything as list of IPv4 endpoints in the PCU-originated SNS-CONFIG PDU. Using this patch, the corect IPv4 address and UDP port number is verified. Change-Id: Ia57100c7833bebc8d77118968c19ab12a3834036 Related: OS#3845 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/13295/1 diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index a216dbe..7f71744 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -39,7 +39,9 @@ runs on RAW_NS_CT { log("f_incoming_sns_config(idx=", idx, ")"); var PDU_NS rx; - rx := f_ns_exp(tr_SNS_CONFIG(g_nsconfig[idx].nsei, end_flag := true, v4 := ?), idx); + var template IP4_Elements v4_elem := { tr_SNS_IPv4(mp_nsconfig.remote_ip, + mp_nsconfig.remote_udp_port) }; + rx := f_ns_exp(tr_SNS_CONFIG(g_nsconfig[idx].nsei, end_flag := true, v4 := v4_elem), idx); NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_SNS_CONFIG_ACK(g_nsconfig[idx].nsei, cause))); } -- To view, visit https://gerrit.osmocom.org/13295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia57100c7833bebc8d77118968c19ab12a3834036 Gerrit-Change-Number: 13295 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:53:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:53:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13295 ) Change subject: pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia57100c7833bebc8d77118968c19ab12a3834036 Gerrit-Change-Number: 13295 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sat, 16 Mar 2019 17:53:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 16 17:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 16 Mar 2019 17:54:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13295 ) Change subject: pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU ...................................................................... pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU Prior to this patch, the test accepted anything as list of IPv4 endpoints in the PCU-originated SNS-CONFIG PDU. Using this patch, the corect IPv4 address and UDP port number is verified. Change-Id: Ia57100c7833bebc8d77118968c19ab12a3834036 Related: OS#3845 --- M pcu/PCU_Tests_RAW_SNS.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index a216dbe..7f71744 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -39,7 +39,9 @@ runs on RAW_NS_CT { log("f_incoming_sns_config(idx=", idx, ")"); var PDU_NS rx; - rx := f_ns_exp(tr_SNS_CONFIG(g_nsconfig[idx].nsei, end_flag := true, v4 := ?), idx); + var template IP4_Elements v4_elem := { tr_SNS_IPv4(mp_nsconfig.remote_ip, + mp_nsconfig.remote_udp_port) }; + rx := f_ns_exp(tr_SNS_CONFIG(g_nsconfig[idx].nsei, end_flag := true, v4 := v4_elem), idx); NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_SNS_CONFIG_ACK(g_nsconfig[idx].nsei, cause))); } -- To view, visit https://gerrit.osmocom.org/13295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia57100c7833bebc8d77118968c19ab12a3834036 Gerrit-Change-Number: 13295 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 09:57:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 17 Mar 2019 09:57:05 +0000 Subject: Change in libosmocore[master]: gprs_ns: Don't use initial IP/port for anything but SNS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13291 ) Change subject: gprs_ns: Don't use initial IP/port for anything but SNS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Gerrit-Change-Number: 13291 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Alexander Chemeris Gerrit-Comment-Date: Sun, 17 Mar 2019 09:57:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 09:57:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 17 Mar 2019 09:57:07 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13293 ) Change subject: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 Gerrit-Change-Number: 13293 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Alexander Chemeris Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sun, 17 Mar 2019 09:57:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 09:57:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 17 Mar 2019 09:57:08 +0000 Subject: Change in libosmocore[master]: gprs_ns: Don't use initial IP/port for anything but SNS In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13291 ) Change subject: gprs_ns: Don't use initial IP/port for anything but SNS ...................................................................... gprs_ns: Don't use initial IP/port for anything but SNS Section 6.2.1 of 3GPP TS 48.016 states: > A pre-configured endpoint shall not be used for NSE data or signalling > traffic (with the exception of Size and Configuration procedures) unless > it is configured by the SGSN using the auto-configuration procedures. However, in the current SNS implementation, the initial IP/Port over which we perform the SNS-SIZE + SNS-CONFIG are treated as one of the normal NS-VCs. Specifically, we also perform the NS-ALIVE procedure on it, which is clearly wrong. Let's explicitly create the "initial" NS-VC with data and signalling weight of 0, and ensure we never start the alive timer or send any non-SNS PDUs on this connection as long as SNS was not used to change either of the two weights to non-zero. While at it, also safeguard against processing any incoming non-SNS messages on such a all-zero-weight connection. Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Closes: OS#3844 --- M src/gb/gprs_ns.c 1 file changed, 55 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 93c219c..8c3b0fa 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -195,6 +195,14 @@ LOGP(DNS, LOGL_ERROR, "TX failed (%d) to peer %s\n", \ rc, gprs_ns_ll_str(nsvc)); +static bool nsvc_is_not_used(const struct gprs_nsvc *nsvc) +{ + if (nsvc->data_weight == 0 && nsvc->sig_weight == 0) + return true; + else + return false; +} + struct msgb *gprs_ns_msgb_alloc(void) { struct msgb *msg = msgb_alloc_headroom(NS_ALLOC_SIZE, NS_ALLOC_HEADROOM, @@ -444,12 +452,40 @@ static int nsip_sendmsg(struct gprs_nsvc *nsvc, struct msgb *msg); extern int grps_ns_frgre_sendmsg(struct gprs_nsvc *nsvc, struct msgb *msg); +static bool ns_is_sns(uint8_t pdu_type) +{ + switch (pdu_type) { + case SNS_PDUT_CONFIG: + case SNS_PDUT_ACK: + case SNS_PDUT_ADD: + case SNS_PDUT_CHANGE_WEIGHT: + case SNS_PDUT_DELETE: + case SNS_PDUT_CONFIG_ACK: + case SNS_PDUT_SIZE: + case SNS_PDUT_SIZE_ACK: + return true; + default: + return false; + } +} + static int gprs_ns_tx(struct gprs_nsvc *nsvc, struct msgb *msg) { + struct gprs_ns_hdr *nsh = (struct gprs_ns_hdr *) msg->l2h; int ret; log_set_context(LOG_CTX_GB_NSVC, nsvc); + /* A pre-configured endpoint shall not be used for NSE data or signalling + * traffic (with the exception of Size and Configuration procedures) unless it + * is configured by the SGSN using the auto-configuration procedures. */ + if (nsvc_is_not_used(nsvc) && !ns_is_sns(nsh->pdu_type) && nsh->pdu_type != NS_PDUT_STATUS) { + LOGP(DNS, LOGL_NOTICE, "Not transmitting %s on unused/pre-configured endpoint\n", + get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + msgb_free(msg); + return -EINVAL; + } + /* Increment number of Uplink bytes */ rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_OUT]); rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_OUT], msgb_l2len(msg)); @@ -1690,6 +1726,13 @@ rate_ctr_inc(&(*nsvc)->ctrg->ctr[NS_CTR_PKTS_IN]); rate_ctr_add(&(*nsvc)->ctrg->ctr[NS_CTR_BYTES_IN], msgb_l2len(msg)); + if (nsvc_is_not_used(*nsvc) && !ns_is_sns(nsh->pdu_type) && nsh->pdu_type != NS_PDUT_STATUS) { + LOGP(DNS, LOGL_NOTICE, "NSEI=%u Rx %s on unused/pre-configured endpoint, discarding\n", + (*nsvc)->nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + gprs_ns_tx_status(*nsvc, NS_CAUSE_PROTO_ERR_UNSPEC, 0, msg); + return 0; + } + switch (nsh->pdu_type) { case NS_PDUT_ALIVE: /* If we're dead and blocked and suddenly receive a @@ -2116,8 +2159,14 @@ * require some massive code and API changes compared to existing libosmogb, * so let's keep the old logic. */ nsvc = gprs_nsvc_by_rem_addr(nsi, dest); - if (!nsvc) - nsvc = gprs_nsvc_create(nsi, nsvci); + if (!nsvc) { + /* create NSVC with 0 data + signalling weight. This is illegal in SNS + * and can hence only be created locally and serves as indication that + * this NS-VC shall not be used for anything except SNS _unless_ it is + * modified via SNS-{CONFIG,CHANGEWEIGHT,ADD} to become part of the + * active NS-VCs */ + nsvc = gprs_nsvc_create2(nsi, nsvci, 0, 0); + } nsvc->ip.bts_addr = *dest; nsvc->nsei = nsei; nsvc->remote_end_is_sgsn = 1; @@ -2161,6 +2210,10 @@ /*! Start the ALIVE timer procedure in all NS-VCs part of this NS Instance */ void gprs_nsvc_start_test(struct gprs_nsvc *nsvc) { + /* skip the initial NS-VC unless it has explicitly been configured + * via SNS-CONFIG from the SGSN */ + if (nsvc_is_not_used(nsvc)) + return; gprs_ns_tx_alive(nsvc); nsvc_start_timer(nsvc, NSVC_TIMER_TNS_TEST); } -- To view, visit https://gerrit.osmocom.org/13291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I16a91a07e5914d123b2ea2f8413b94e7cd518628 Gerrit-Change-Number: 13291 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Alexander Chemeris -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 09:57:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 17 Mar 2019 09:57:08 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13293 ) Change subject: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint ...................................................................... gprs_ns_sns: Use "correct" remote IP address for local IP endpoint we cannot use "nsi->nsip.remote_ip", as this address is not set when SNS is in use. We can only have a valid nsi->nsip.remote_ip if there's only a single NS-VC inside the NS Instance, as this would connect() the UDP socket to the remote IP/port, breaking any possibility to have multiple NS-VCs to different SGNS-side IP addresses. Closes: OS#3845 Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 --- M src/gb/gprs_ns_sns.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/gb/gprs_ns_sns.c b/src/gb/gprs_ns_sns.c index b0ee5d7..cbaa468 100644 --- a/src/gb/gprs_ns_sns.c +++ b/src/gb/gprs_ns_sns.c @@ -657,8 +657,8 @@ /* unspecified local address. Figure out which address the kernel would use if we * wanted to send a packet to the remote_ip */ char local_ip[32]; - struct in_addr in = { .s_addr = htonl(nsi->nsip.remote_ip) }; - osmo_sock_local_ip(local_ip, inet_ntoa(in)); + struct sockaddr_in *daddr = &nsvc->ip.bts_addr; + osmo_sock_local_ip(local_ip, inet_ntoa(daddr->sin_addr)); ip4->ip_addr = inet_addr(local_ip); } ip4->udp_port = htons(gss->nsi->nsip.local_port); -- To view, visit https://gerrit.osmocom.org/13293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330 Gerrit-Change-Number: 13293 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Alexander Chemeris Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 14:38:37 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 17 Mar 2019 14:38:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: expect only one Paging on failed MT SMS, and clear the failed SMS In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13192 ) Change subject: msc: expect only one Paging on failed MT SMS, and clear the failed SMS ...................................................................... Patch Set 2: a reply is here https://gerrit.osmocom.org/c/osmo-msc/+/13173/1//COMMIT_MSG#26 but haven't yet found the time to rephrase the commit msgs -- To view, visit https://gerrit.osmocom.org/13192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7dce12942a65eaaf97f78ca69401c7f93faacb9e Gerrit-Change-Number: 13192 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Sun, 17 Mar 2019 14:38:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 14:39:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 17 Mar 2019 14:39:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: for mo and mt call, interleave MGCP and Assignment In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13191 ) Change subject: msc: for mo and mt call, interleave MGCP and Assignment ...................................................................... msc: for mo and mt call, interleave MGCP and Assignment Upcoming osmo-msc changes move away from the current ordering of MGCP and Assignment messages. Allow these async dialogs to appear in any order. Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 21 insertions(+), 13 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index e6cf2b0..c7a4a71 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -513,8 +513,13 @@ f_mgcp_par_append(mgcp_resp.params, ts_MgcpParSpecEP(cpars.mgcp_ep)); MGCP.send(mgcp_resp); } + + var BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := + valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); + + interleave { /* Second MGCP CRCX (this time for MSS/CN side) */ - MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { + [] MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_rtp_ip_mss, cpars.mgw_rtp_ip_mss, hex2str(cpars.mgcp_call_id), "42", cpars.mgw_rtp_port_mss, @@ -525,18 +530,19 @@ MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, cpars.mgcp_connection_id_mss, sdp)); /* MSC acknowledges the MNCC_CREATE to the MNCC handler */ MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)); - } + } /* expect the MSC to trigger a BSSMAP ASSIGNMENT */ - var BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := - valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); - BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { + [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; var BSSMAP_IE_SpeechCodec codec; + tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port)); codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); } + } /* MS -> MSC: ALERTING */ BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_CONNECT(cpars.transaction_id))); @@ -613,8 +619,12 @@ MGCP.send(mgcp_resp); } } + + var BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := + valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); + interleave { /* Second MGCP CRCX (this time for MSS/CN side) */ - MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { + [] MGCP.receive(tr_CRCX(cpars.mgcp_ep)) -> value mgcp_cmd { var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_rtp_ip_mss, cpars.mgw_rtp_ip_mss, hex2str(cpars.mgcp_call_id), "42", cpars.mgw_rtp_port_mss, @@ -623,15 +633,13 @@ cpars.rtp_sdp_format)), valueof(ts_SDP_ptime(20)) })); MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, cpars.mgcp_connection_id_mss, sdp)); - } - /* Alerting */ - MNCC.send(ts_MNCC_ALERT_req(cpars.mncc_callref)); + /* Alerting */ + MNCC.send(ts_MNCC_ALERT_req(cpars.mncc_callref)); + } - var BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := - valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss)); - interleave { - [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_ALERTING(cpars.transaction_id))) {} + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_ALERTING(cpars.transaction_id))) { + } /* expect AoIP IP/Port to match what we returned in CRCX_ACK above */ [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) { var BSSMAP_IE_AoIP_TransportLayerAddress tla; -- To view, visit https://gerrit.osmocom.org/13191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7 Gerrit-Change-Number: 13191 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 17 19:15:02 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Sun, 17 Mar 2019 19:15:02 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13057 to look at the new patch set (#3). Change subject: Use boolean for DL resegmentation parameter ...................................................................... Use boolean for DL resegmentation parameter In some places #define was used for DL resegmentation parameter, in other int, in some other bool. Let's clarify this and always use boolean value. Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 --- M src/bts.h M src/gprs_coding_scheme.h M src/pcu_main.cpp M src/pcu_vty.c M tests/tbf/TbfTest.cpp 5 files changed, 9 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/13057/3 -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:06:12 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:06:12 +0000 Subject: Change in osmo-bts[master]: oc2g: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13262 ) Change subject: oc2g: remove unused define constant FACTORY_ROM_PATH ...................................................................... oc2g: remove unused define constant FACTORY_ROM_PATH Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Related: OS#3823 --- M src/osmo-bts-oc2g/misc/oc2gbts_par.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_par.h b/src/osmo-bts-oc2g/misc/oc2gbts_par.h index 588a3c3..0bdbed9 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_par.h +++ b/src/osmo-bts-oc2g/misc/oc2gbts_par.h @@ -3,7 +3,6 @@ #include -#define FACTORY_ROM_PATH "/mnt/rom/factory" #define USER_ROM_PATH "/var/run/oc2gbts-mgr" #define UPTIME_TMP_PATH "/tmp/uptime" -- To view, visit https://gerrit.osmocom.org/13262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5eb12332568c85bfd2dd83eb5ef1d9c1c9bbfd27 Gerrit-Change-Number: 13262 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:06:22 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:06:22 +0000 Subject: Change in osmo-bts[master]: lc15: remove unused define constant FACTORY_ROM_PATH In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13263 ) Change subject: lc15: remove unused define constant FACTORY_ROM_PATH ...................................................................... lc15: remove unused define constant FACTORY_ROM_PATH Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Related: OS#3823 --- M src/osmo-bts-litecell15/misc/lc15bts_par.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-litecell15/misc/lc15bts_par.h b/src/osmo-bts-litecell15/misc/lc15bts_par.h index 217ae5f..7429565 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_par.h +++ b/src/osmo-bts-litecell15/misc/lc15bts_par.h @@ -3,7 +3,6 @@ #include -#define FACTORY_ROM_PATH "/mnt/rom/factory" #define USER_ROM_PATH "/mnt/storage/var/run/lc15bts-mgr" enum lc15bts_par { -- To view, visit https://gerrit.osmocom.org/13263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I76d47471a8480da5a7cb4a11655d5150d4f33508 Gerrit-Change-Number: 13263 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:21:52 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:21:52 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13267 ) Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Patch Set 1: > Agree with Harald I see, didn't know about the %z before. Thanks for the hint. I hope it is now correct. -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 18 Mar 2019 08:21:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:42:44 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:42:44 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: do not return NULL on integer function In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13272 ) Change subject: oc2gbts_mgr_calib: do not return NULL on integer function ...................................................................... Patch Set 1: > I'm almost sure I did the same kind of fixes for LC-15 at some > point in the past. Please check if you fix it the same way as in > LC-15 to make it easier later to merge duplicated code. I have checked the lc15 specific part including lc15bts_mgr_calib.c, but I could not find any function like xxx_par_get/set_uptime(). -- To view, visit https://gerrit.osmocom.org/13272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63b61be2940c59b221089d3d1501371b0116d89a Gerrit-Change-Number: 13272 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 08:42:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:49:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:49:15 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13267 to look at the new patch set (#2). Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... pcu_sock: cast to long unsigned int before printing When using %lu and sizeof() for printing the compiler may throw a warning. Lets prevent this by casting to long unsigned int. Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 --- M src/common/pcu_sock.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/13267/2 -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:49:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:49:15 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13273 to look at the new patch set (#2). Change subject: l1_if: add include for missing header file ...................................................................... l1_if: add include for missing header file the function bts_cbch_get() is used in l1_if.c. The function is declared in cbch.h. Lets include this header file in order to be complete. Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/13273/2 -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 08:49:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 08:49:15 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer In-Reply-To: References: Message-ID: Hello Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13271 to look at the new patch set (#2). Change subject: oc2gbts_mgr_calib: don't use fsync() von *FILE pointer ...................................................................... oc2gbts_mgr_calib: don't use fsync() von *FILE pointer fsync() takes an integer file descriptor but we have a *FILE pointer here. Lets use fflush() then. Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/71/13271/2 -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 09:05:31 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 09:05:31 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13273 ) Change subject: l1_if: add include for missing header file ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 09:05:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 09:06:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 09:06:09 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13267 ) Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 18 Mar 2019 09:06:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:21:18 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:21:18 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13266 to look at the new patch set (#3). Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... oc2g: change log level for calibration file errors to ERROR The log level of the messages that notify calibration file loading problems is NOTICE, but since it is a severe problem when calibration can not be loaded lets change it to ERROR Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Related: OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/13266/3 -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:21:18 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:21:18 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13268 to look at the new patch set (#2). Change subject: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() ...................................................................... oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() The function oml_tx_failure_event_rep() replaces oml_fail_rep(), so lets use only oml_tx_failure_event_rep() and remove oml_fail_rep() Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Related: OS#3843 --- M include/osmo-bts/oml.h M src/common/bts.c M src/common/l1sap.c M src/common/main.c M src/common/oml.c M src/common/rsl.c 6 files changed, 26 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/13268/2 -- To view, visit https://gerrit.osmocom.org/13268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Gerrit-Change-Number: 13268 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:21:18 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:21:18 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13269 to look at the new patch set (#2). Change subject: oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL ...................................................................... oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL At some locations in the code a signal to SS_FAIL is dispatched in order to trigger the sending of an OML failure event report in oml.c. This is a bit overcomplicated for the task. Lets use oml_tx_failure_event_rep() to send the failure event reports and lets remove the signal handler for SS_FAIL. Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Related: OS#3843 --- M include/osmo-bts/signal.h M src/common/bts_ctrl_commands.c M src/common/oml.c M src/common/pcu_sock.c 4 files changed, 10 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/69/13269/2 -- To view, visit https://gerrit.osmocom.org/13269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Gerrit-Change-Number: 13269 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:21:23 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:21:23 +0000 Subject: Change in osmo-bts[master]: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13296 Change subject: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT ...................................................................... main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT SIGUSR1/2 and SIGABRT should not trigger a failure event report on OML since we only use it to get an intermediate talloc report. (In case of SIGUSR1/2 without leaving the process.) Change-Id: I99e637496afff2530425b89c6e9befc76db24906 --- M src/common/main.c 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/96/13296/1 diff --git a/src/common/main.c b/src/common/main.c index 3a53813..9575f57 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -192,9 +192,6 @@ case SIGABRT: case SIGUSR1: case SIGUSR2: - oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP, - "BTS: signal %d (%s) received", signal, - strsignal(signal)); talloc_report_full(tall_bts_ctx, stderr); break; default: -- To view, visit https://gerrit.osmocom.org/13296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I99e637496afff2530425b89c6e9befc76db24906 Gerrit-Change-Number: 13296 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:29:03 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 10:29:03 +0000 Subject: Change in osmo-pcu[master]: MS store: move test helper to unit test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13213 ) Change subject: MS store: move test helper to unit test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33 Gerrit-Change-Number: 13213 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 10:29:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:38:40 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:38:40 +0000 Subject: Change in osmo-bts[master]: oml: make oml_tx_failure_event_rep() public In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13264 ) Change subject: oml: make oml_tx_failure_event_rep() public ...................................................................... oml: make oml_tx_failure_event_rep() public The static function oml_tx_failure_event_rep() is a lot easier to use than the currently implemented signal scheme. Lets make it public so that we can quickly generate failure event reports. Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Related: OS#3823 --- M include/osmo-bts/oml.h M src/common/oml.c 2 files changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Max: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h index 4dca2f8..a87d438 100644 --- a/include/osmo-bts/oml.h +++ b/include/osmo-bts/oml.h @@ -47,4 +47,7 @@ /* Transmit failure event report */ void oml_fail_rep(uint16_t cause_value, const char *fmt, ...); +int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, + const char *fmt, ...); + #endif // _OML_H */ diff --git a/src/common/oml.c b/src/common/oml.c index b04caf6..ac388d1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -67,8 +67,8 @@ } /* 3GPP TS 12.21 ? 8.8.2 */ -static int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, - const char *fmt, ...) +int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, + const char *fmt, ...) { struct msgb *nmsg; va_list ap; -- To view, visit https://gerrit.osmocom.org/13264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Gerrit-Change-Number: 13264 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:40:18 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:40:18 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_vty: remove calls to vty_install_default() In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13270 ) Change subject: oc2gbts_mgr_vty: remove calls to vty_install_default() ...................................................................... oc2gbts_mgr_vty: remove calls to vty_install_default() The function vty_install_default() is deprecated and throws a compiler warning that suggests to remove it, so lets remove it. Change-Id: I1a4afb6e352bed9a5af794b39b984a7ddef36e08 --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c 1 file changed, 0 insertions(+), 15 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c index ef52739..7e80e03 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_vty.c @@ -878,46 +878,37 @@ install_node(&mgr_node, config_write_mgr); install_element(CONFIG_NODE, &cfg_mgr_cmd); - vty_install_default(MGR_NODE); /* install the limit nodes */ install_node(&limit_supply_temp_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_supply_temp_cmd); - vty_install_default(LIMIT_SUPPLY_TEMP_NODE); install_node(&limit_soc_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_soc_temp_cmd); - vty_install_default(LIMIT_SOC_NODE); install_node(&limit_fpga_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_fpga_temp_cmd); - vty_install_default(LIMIT_FPGA_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_RMS_FWD) || oc2gbts_option_get(OC2GBTS_OPTION_RMS_REFL)) { install_node(&limit_rmsdet_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_rmsdet_temp_cmd); - vty_install_default(LIMIT_RMSDET_NODE); } install_node(&limit_ocxo_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_ocxo_temp_cmd); - vty_install_default(LIMIT_OCXO_NODE); install_node(&limit_tx_temp_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_tx_temp_cmd); - vty_install_default(LIMIT_TX_TEMP_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA_TEMP)) { install_node(&limit_pa_temp_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_pa_temp_cmd); - vty_install_default(LIMIT_PA_TEMP_NODE); } install_node(&limit_supply_volt_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_supply_volt_cmd); register_limit(LIMIT_SUPPLY_VOLT_NODE, MGR_LIMIT_TYPE_VOLT); - vty_install_default(LIMIT_SUPPLY_VOLT_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA) && oc2gbts_option_get(OC2GBTS_OPTION_RMS_FWD) && @@ -925,23 +916,19 @@ install_node(&limit_vswr_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_vswr_cmd); register_limit(LIMIT_VSWR_NODE, MGR_LIMIT_TYPE_VSWR); - vty_install_default(LIMIT_VSWR_NODE); } install_node(&limit_supply_pwr_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_supply_pwr_cmd); register_limit(LIMIT_SUPPLY_PWR_NODE, MGR_LIMIT_TYPE_PWR); - vty_install_default(LIMIT_SUPPLY_PWR_NODE); if (oc2gbts_option_get(OC2GBTS_OPTION_PA)) { install_node(&limit_pa_pwr_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_pa_pwr_cmd); - vty_install_default(LIMIT_PA_PWR_NODE); } install_node(&limit_gps_fix_node, config_write_dummy); install_element(MGR_NODE, &cfg_limit_gps_fix_cmd); - vty_install_default(LIMIT_GPS_FIX_NODE); /* install the normal node */ install_node(&act_norm_node, config_write_dummy); @@ -952,12 +939,10 @@ install_node(&act_warn_node, config_write_dummy); install_element(MGR_NODE, &cfg_action_warn_cmd); register_action(ACT_WARN_NODE); - vty_install_default(ACT_WARN_NODE); install_node(&act_crit_node, config_write_dummy); install_element(MGR_NODE, &cfg_action_critical_cmd); register_action(ACT_CRIT_NODE); - vty_install_default(ACT_CRIT_NODE); /* install LED pattern command for debugging purpose */ install_element_ve(&set_led_pattern_cmd); -- To view, visit https://gerrit.osmocom.org/13270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1a4afb6e352bed9a5af794b39b984a7ddef36e08 Gerrit-Change-Number: 13270 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:43:47 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 10:43:47 +0000 Subject: Change in osmo-bts[master]: Make gsm_pchan2chan_nr() static Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13297 Change subject: Make gsm_pchan2chan_nr() static ...................................................................... Make gsm_pchan2chan_nr() static It's only used inside of gsm_data_shared.c so let's mark it as such. Change-Id: I83f1783efe9dc07c8bf9901ebc94774aef1cd472 --- M include/osmo-bts/gsm_data_shared.h M src/common/gsm_data_shared.c 2 files changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/97/13297/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 56ab5b1..72d9710 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -818,8 +818,6 @@ gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class, const struct abis_om_obj_inst *obj_inst); -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr); uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index 6703095..b1785b8 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -570,7 +570,7 @@ } /* See Table 10.5.25 of GSM04.08 */ -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, +static uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, uint8_t ts_nr, uint8_t lchan_nr) { uint8_t cbits, chan_nr; -- To view, visit https://gerrit.osmocom.org/13297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I83f1783efe9dc07c8bf9901ebc94774aef1cd472 Gerrit-Change-Number: 13297 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 10:48:24 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 10:48:24 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() on *FILE pointer In-Reply-To: References: Message-ID: Hello Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13271 to look at the new patch set (#3). Change subject: oc2gbts_mgr_calib: don't use fsync() on *FILE pointer ...................................................................... oc2gbts_mgr_calib: don't use fsync() on *FILE pointer fsync() takes an integer file descriptor but we have a *FILE pointer here. Lets use fileno() first to convert the integer file descriptor to a FILE pointer. Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/71/13271/3 -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:08:30 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 11:08:30 +0000 Subject: Change in osmo-bts[master]: Constify pcu_rx_*() parameters Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13298 Change subject: Constify pcu_rx_*() parameters ...................................................................... Constify pcu_rx_*() parameters Use const for data parameter where appropriate. Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 --- M include/osmo-bts/l1sap.h M src/common/l1sap.c M src/common/pcu_sock.c 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/13298/1 diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index 3cf0ea5..70b4564 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -71,7 +71,7 @@ /* pcu (socket interface) sends us a data request primitive */ int l1sap_pdch_req(struct gsm_bts_trx_ts *ts, int is_ptcch, uint32_t fn, - uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len); + uint16_t arfcn, uint8_t block_nr, const uint8_t *data, uint8_t len); /* call-back function for incoming RTP */ void l1sap_rtp_rx_cb(struct osmo_rtp_socket *rs, const uint8_t *rtp_pl, diff --git a/src/common/l1sap.c b/src/common/l1sap.c index dba08df..a1b0464 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1388,7 +1388,7 @@ /* pcu (socket interface) sends us a data request primitive */ int l1sap_pdch_req(struct gsm_bts_trx_ts *ts, int is_ptcch, uint32_t fn, - uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len) + uint16_t arfcn, uint8_t block_nr, const uint8_t *data, uint8_t len) { struct msgb *msg; struct osmo_phsap_prim *l1sap; diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 60e0f7a..2c7028e 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -466,7 +466,7 @@ } static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type, - struct gsm_pcu_if_data *data_req) + const struct gsm_pcu_if_data *data_req) { uint8_t is_ptcch; struct gsm_bts_trx *trx; @@ -538,7 +538,7 @@ } static int pcu_rx_pag_req(struct gsm_bts *bts, uint8_t msg_type, - struct gsm_pcu_if_pag_req *pag_req) + const struct gsm_pcu_if_pag_req *pag_req) { int rc = 0; @@ -598,7 +598,7 @@ } static int pcu_rx_act_req(struct gsm_bts *bts, - struct gsm_pcu_if_act_req *act_req) + const struct gsm_pcu_if_act_req *act_req) { struct gsm_bts_trx *trx; struct gsm_lchan *lchan; -- To view, visit https://gerrit.osmocom.org/13298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 Gerrit-Change-Number: 13298 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:10:59 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 11:10:59 +0000 Subject: Change in osmo-bts[master]: Make gsm_pchan2chan_nr() static In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13297 ) Change subject: Make gsm_pchan2chan_nr() static ...................................................................... Patch Set 1: Code-Review+1 > Build Successful > > https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-bts/776/ : > SUCCESS' --verified 1 --code-review 0 -- To view, visit https://gerrit.osmocom.org/13297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83f1783efe9dc07c8bf9901ebc94774aef1cd472 Gerrit-Change-Number: 13297 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 11:10:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:17:54 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 11:17:54 +0000 Subject: Change in osmo-bts[master]: testme Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13299 Change subject: testme ...................................................................... testme Change-Id: I8ab2f766a159a9bf79fe43be74e26d6358620763 --- A test.me 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/13299/1 diff --git a/test.me b/test.me new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test.me -- To view, visit https://gerrit.osmocom.org/13299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8ab2f766a159a9bf79fe43be74e26d6358620763 Gerrit-Change-Number: 13299 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:22:14 2019 From: gerrit-no-reply at lists.osmocom.org (Vasil Velichkov) Date: Mon, 18 Mar 2019 11:22:14 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Hello Piotr Krysik, fixeria, Vadim Yanitskiy, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13246 to look at the new patch set (#2). Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Fix the TCH/H decoder and demapper XML definitions - The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. - Make the demapper's burst sink required. - Make all parameters visible. - Rename the TCH/H Channel parameter to Sub-channel number. Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd --- M grc/decoding/gsm_tch_h_decoder.xml M grc/demapping/gsm_tch_h_chans_demapper.xml 2 files changed, 24 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/46/13246/2 -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 2 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:31:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:31:56 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: do not return NULL on integer function In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13272 ) Change subject: oc2gbts_mgr_calib: do not return NULL on integer function ...................................................................... Patch Set 3: Code-Review+2 Thanks for checking. I didn't mean this concrete one, but in general some fixes I see in these series. -- To view, visit https://gerrit.osmocom.org/13272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63b61be2940c59b221089d3d1501371b0116d89a Gerrit-Change-Number: 13272 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 18 Mar 2019 11:31:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:33:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:33:02 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13267 ) Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 18 Mar 2019 11:33:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:33:15 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13273 ) Change subject: l1_if: add include for missing header file ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 11:33:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:33:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:33:31 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() on *FILE pointer In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13271 ) Change subject: oc2gbts_mgr_calib: don't use fsync() on *FILE pointer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 11:33:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:35:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:35:45 +0000 Subject: Change in osmo-bts[master]: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13296 ) Change subject: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13296/1/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/#/c/13296/1/src/common/main.c at a195 PS1, Line 195: One could argument it actually makes sense to move it upwards under SIGABRT and fall through, but I'm not sure it's a good idea messing around while in SIGABORT since we are modifying stuff in an unknown state. -- To view, visit https://gerrit.osmocom.org/13296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I99e637496afff2530425b89c6e9befc76db24906 Gerrit-Change-Number: 13296 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 11:35:45 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:36:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:36:44 +0000 Subject: Change in osmo-bts[master]: Make gsm_pchan2chan_nr() static In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13297 ) Change subject: Make gsm_pchan2chan_nr() static ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83f1783efe9dc07c8bf9901ebc94774aef1cd472 Gerrit-Change-Number: 13297 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 11:36:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:36:58 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 11:36:58 +0000 Subject: Change in osmo-bts[master]: testme In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13299 ) Change subject: testme ...................................................................... Patch Set 1: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/13299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8ab2f766a159a9bf79fe43be74e26d6358620763 Gerrit-Change-Number: 13299 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 11:36:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:39:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 11:39:07 +0000 Subject: Change in osmo-bts[master]: Make gsm_pchan2chan_nr() static In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13297 ) Change subject: Make gsm_pchan2chan_nr() static ...................................................................... Make gsm_pchan2chan_nr() static It's only used inside of gsm_data_shared.c so let's mark it as such. Change-Id: I83f1783efe9dc07c8bf9901ebc94774aef1cd472 --- M include/osmo-bts/gsm_data_shared.h M src/common/gsm_data_shared.c 2 files changed, 1 insertion(+), 3 deletions(-) Approvals: dexter: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 56ab5b1..72d9710 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -818,8 +818,6 @@ gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class, const struct abis_om_obj_inst *obj_inst); -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, - uint8_t ts_nr, uint8_t lchan_nr); uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan); uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan); diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index 6703095..b1785b8 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -570,7 +570,7 @@ } /* See Table 10.5.25 of GSM04.08 */ -uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, +static uint8_t gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, uint8_t ts_nr, uint8_t lchan_nr) { uint8_t cbits, chan_nr; -- To view, visit https://gerrit.osmocom.org/13297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I83f1783efe9dc07c8bf9901ebc94774aef1cd472 Gerrit-Change-Number: 13297 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 11:47:33 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 11:47:33 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13118 ) Change subject: add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp() ...................................................................... Patch Set 2: (1 comment) Do you plan to use osmo_sccp_gt_cmp() or it can be made into static function and not part of the API? https://gerrit.osmocom.org/#/c/13118/2/include/osmocom/sigtran/sccp_sap.h File include/osmocom/sigtran/sccp_sap.h: https://gerrit.osmocom.org/#/c/13118/2/include/osmocom/sigtran/sccp_sap.h at 281 PS2, Line 281: int osmo_sccp_addr_cmp(const struct osmo_sccp_addr *a, const struct osmo_sccp_addr *b, uint32_t presence_criteria); You've added 3 functions but only test 2 of them explicitly. -- To view, visit https://gerrit.osmocom.org/13118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie9e2add7bbfae651c04e230d62e37cebeb91b0f5 Gerrit-Change-Number: 13118 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Mon, 18 Mar 2019 11:47:33 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 12:48:20 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 12:48:20 +0000 Subject: Change in osmo-bts[master]: testme In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/13299 ) Change subject: testme ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I8ab2f766a159a9bf79fe43be74e26d6358620763 Gerrit-Change-Number: 13299 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 13:03:04 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 13:03:04 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13301 Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Add scripts/osmocom-list-commits.sh Generate a table of Osmocom repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da --- A scripts/osmocom-list-commits.sh 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/13301/1 diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh new file mode 100755 index 0000000..b8eca3f --- /dev/null +++ b/scripts/osmocom-list-commits.sh @@ -0,0 +1,67 @@ +#!/bin/sh -e + +URL="https://git.osmocom.org" +REPOS=" + libosmo-abis + libosmocore + libosmo-netif + libosmo-sccp + osmo-bsc + osmo-bts + osmo-ggsn + osmo-hlr + osmo-mgw + osmo-msc + osmo-pcu +" + +# Print commit of HEAD for an Osmocom git repository, e.g.: +# "f90496f577e78944ce8db1aa5b900477c1e479b0" +# $1: repository +get_head_commit() { + # git output: + # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD + ret="$(git ls-remote "$URL/$1" HEAD)" + ret="$(echo "$ret" | awk '{print $1}')" + echo "$ret" +} + +# Print last tag and related commit for an Osmocom git repository, e.g.: +# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" +# $1: repository +get_last() { + # git output: + # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 + # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} + # ... + # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} + # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 + # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 + # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} + # ... + ret="$(git ls-remote --tags "$URL/$1")" + ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$')" + ret="$(echo "$ret" | sort -n -k2)" + ret="$(echo "$ret" | tail -n 1)" + echo "$ret" +} + +# Header +format_str="%-17s %s %-37s %9s %-40s %s\n" +printf "$format_str" "# repository" " " "clone URL" "last tag" "last tag commit" "HEAD commit" + +# Table +for repo in $REPOS; do + last="$(get_last "$repo")" + last_tag="$(echo "$last" | cut -d/ -f 3)" + last_commit="$(echo "$last" | awk '{print $1}')" + head_commit="$(get_head_commit "$repo")" + + printf "$format_str" \ + "$repo.git" \ + "=" \ + "$URL/$repo" \ + "$last_tag" \ + "$last_commit" \ + "$head_commit" +done -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 13:52:53 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 13:52:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 18 Mar 2019 13:52:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 13:58:48 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 13:58:48 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh at 62 PS1, Line 62: "=" \ Is '=' actually required? It doesn't add human readability and seems like an unnecessary obstacle when parsing from shell script. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 13:58:48 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:01:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 14:01:08 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh at 51 PS1, Line 51: printf "$format_str" "# repository" " " "clone URL" "last tag" "last tag commit" "HEAD commit" Would be nice to make header printing optional to facilitate output parsing by shell scripts. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 18 Mar 2019 14:01:08 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:07:35 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 14:07:35 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... Patch Set 3: The commit log doesn't seem to match actual change: it's FATAL not ERROR. In general, I think FATAL usually means that application will exit after that error while in this case it continues so ERROR indeed looks more appropriate. -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Mon, 18 Mar 2019 14:07:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:08:46 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 14:08:46 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13302 Change subject: jobs: add osmocom-list-commits.yml ...................................................................... jobs: add osmocom-list-commits.yml Related: OS#3840 Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b --- A jobs/osmocom-list-commits.yml 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/02/13302/1 diff --git a/jobs/osmocom-list-commits.yml b/jobs/osmocom-list-commits.yml new file mode 100644 index 0000000..08047b2 --- /dev/null +++ b/jobs/osmocom-list-commits.yml @@ -0,0 +1,39 @@ +--- +- project: + name: Osmocom-list-commits + jobs: + - Osmocom-list-commits + +- job-template: + name: 'Osmocom-list-commits' + project-type: freestyle + defaults: global + description: | + Generate and upload a list of Osmocom git repositories and their latest tag and commits. + node: osmocom-master-debian9 + parameters: + - string: + name: BRANCH + description: | + osmo-ci.git branch where the osmocom-list-commits.sh gets pulled from + default: '*/master' + builders: + - shell: | + scripts/osmocom-list-commits.sh > commits.txt + cat commits.txt + # scp -p 48 commits.txt put-username-here at rita.osmocom.org:/path/here + scm: + - git: + branches: + - '$BRANCH' + url: git://git.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + triggers: + - timed: "@midnight" +# publishers: +# - email: +# notify-every-unstable-build: true +# recipients: 'jenkins-notifications at lists.osmocom.org' + +# vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:23:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 14:23:58 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, Neels Hofmeyr, Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13301 to look at the new patch set (#2). Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Add scripts/osmocom-list-commits.sh Generate a table of Osmocom repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da --- A scripts/osmocom-list-commits.sh 1 file changed, 70 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/13301/2 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:28:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 14:28:38 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh at 51 PS1, Line 51: > Would be nice to make header printing optional to facilitate output parsing by shell scripts. Made it optional with the current patch: NO_HEADER=1 ./osmocom-list-commits.sh https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh at 62 PS1, Line 62: head_commit="$(get_head_commit "$repo")" > Is '=' actually required? It doesn't add human readability and seems like an unnecessary obstacle wh [?] The output format was based on an existing Makefile, that's why the '=' is there. But I don't think there's much benefit in keeping it, and you have a good point there. I've removed it. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 14:28:38 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:42:19 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 14:42:19 +0000 Subject: Change in libosmocore[master]: Make rate_ctr_group_free() more robust Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13303 Change subject: Make rate_ctr_group_free() more robust ...................................................................... Make rate_ctr_group_free() more robust Properly check and handle empty or NULL input. Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 --- M src/rate_ctr.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/03/13303/1 diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 75302da..b76d687 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -255,8 +255,11 @@ /*! Free the memory for the specified group of counters */ void rate_ctr_group_free(struct rate_ctr_group *grp) { - llist_del(&grp->list); - talloc_free(grp); + if (grp) { + if (!llist_empty(&grp->list)) + llist_del(&grp->list); + talloc_free(grp); + } } /*! Add a number to the counter */ -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:47:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 14:47:44 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh at 51 PS1, Line 51: > Made it optional with the current patch: [?] Don't know what would be most common use-case - if it's mostly M2M than it's probably better to default to no-header case. https://gerrit.osmocom.org/#/c/13301/1/scripts/osmocom-list-commits.sh at 62 PS1, Line 62: head_commit="$(get_head_commit "$repo")" > The output format was based on an existing Makefile, that's why the '=' is there. [?] Curious, which Makefile is it? -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 14:47:44 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 14:58:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 14:58:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 4: Code-Review-1 (4 comments) Supporting /usr/local/bin/dumpcap is important IMHO, the rest are nitpicks. https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh File ttcn3-tcpdump-start.sh: https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh at 5 PS4, Line 5: DUMPCAP=/usr/bin/dumpcap Mine is in /usr/local/bin/dumpcap. Do we need to use the absolute path? https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh at 30 PS4, Line 30: /sbin/setcap (might not be installed on all distributions there, I would have checked with "command") https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh at 37 PS4, Line 37: fi How about telling the user why dumpcap is not used? else echo "NOTE: dumpcap doesn't have cap_net_{admin,raw} (or 'setcap' is missing to check it), falling back to 'sudo tcpdump'." fi https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-stop.sh File ttcn3-tcpdump-stop.sh: https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-stop.sh at 35 PS4, Line 35: DUMPER=`ps -q $(cat "$PIDFILE") -o comm=` Consider replacing `` with $(). https://github.com/koalaman/shellcheck/wiki/Sc2006 DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)" -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 18 Mar 2019 14:58:39 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 15:07:46 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 15:07:46 +0000 Subject: Change in osmo-bts[master]: Constify pcu_rx_*() parameters In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13298 ) Change subject: Constify pcu_rx_*() parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 Gerrit-Change-Number: 13298 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 15:07:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 15:11:25 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 15:11:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Hello tnt, Daniel Willmann, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13253 to look at the new patch set (#5). Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Use dumpcap for ttcn3-tcpdump-*.sh if available Check if dumpcap is installed (either as suid or with appropriate capabilities) and use it for packet capture instead of 'sudo tcpdump' if available. This makes it easier to use TTCN-3 testsuite as regular user without altering sudoers. Change-Id: I77df04d51a469c924cf727f0596cc33565909746 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 18 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/13253/5 -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 15:16:53 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 15:16:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 5: (4 comments) The tcpdump might be installed into non-standard location as well but we don't take that into account. How common is to have tcpdump and dumpcap in different directories? https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh File ttcn3-tcpdump-start.sh: https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh at 5 PS4, Line 5: DUMPCAP=/usr/bin/dumpcap > Mine is in /usr/local/bin/dumpcap. [?] Yes, we have to use absolute path because of setcap. I'm somewhat reluctant to make it more complex by checking for unusual path - after all the goal is to make it work with the most common setup, not to support every distro imaginable. https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh at 30 PS4, Line 30: /sbin/setcap > (might not be installed on all distributions there, I would have checked with "command") Well if it's not installed than this check would simply fail and we're back to tcpdump. https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-start.sh at 37 PS4, Line 37: el > How about telling the user why dumpcap is not used? [?] Done https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-stop.sh File ttcn3-tcpdump-stop.sh: https://gerrit.osmocom.org/#/c/13253/4/ttcn3-tcpdump-stop.sh at 35 PS4, Line 35: DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)" > Consider replacing `` with $(). [?] Done -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 18 Mar 2019 15:16:53 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 15:27:19 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 15:27:19 +0000 Subject: Change in osmo-bts[master]: Constify pcu_rx_*() parameters In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13298 ) Change subject: Constify pcu_rx_*() parameters ...................................................................... Patch Set 1: Code-Review+1 > Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 Gerrit-Change-Number: 13298 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 15:27:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 15:28:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 Mar 2019 15:28:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 5: Code-Review+1 > I'm somewhat reluctant to make it more complex by checking for unusual path - after all the goal is to make it work with the most common setup, not to support every distro imaginable. Fair enough. > How common is to have tcpdump and dumpcap in different directories? Building wireshark from git and using "make install" with defaults, as described here: https://osmocom.org/projects/cellular-infrastructure/wiki/Wireshark#Building-and-installing But I just realized: `apt install wireshark` and I have another copy of dumpcap in the supported dir :) -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 18 Mar 2019 15:28:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 16:11:27 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 16:11:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 5: > But I just realized: `apt install wireshark` and I have another copy of dumpcap in the supported dir :) You can have both: 'dpkg-buildpackage -uc -us -tc' in wireshark checked out from git will make proper .deb packages. -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 18 Mar 2019 16:11:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 16:27:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 16:27:02 +0000 Subject: Change in osmo-sysmon[master]: Add vty option to print output of shell cmd on every poll step Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13304 Change subject: Add vty option to print output of shell cmd on every poll step ...................................................................... Add vty option to print output of shell cmd on every poll step Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b --- M doc/examples/osmo-sysmon.cfg M src/Makefile.am M src/osysmon.h A src/osysmon_cmd.c M src/osysmon_main.c 5 files changed, 178 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/04/13304/1 diff --git a/doc/examples/osmo-sysmon.cfg b/doc/examples/osmo-sysmon.cfg index f944f72..fb40589 100644 --- a/doc/examples/osmo-sysmon.cfg +++ b/doc/examples/osmo-sysmon.cfg @@ -14,3 +14,4 @@ ping example.com openvpn 127.0.0.1 1234 file os-image /etc/image-datetime +cmd kernel uname -a diff --git a/src/Makefile.am b/src/Makefile.am index f9b79f2..0f324c4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,6 +36,7 @@ osmo_sysmon_SOURCES = \ value_node.c \ + osysmon_cmd.c \ osysmon_ctrl.c \ osysmon_sysinfo.c \ osysmon_rtnl.c \ diff --git a/src/osysmon.h b/src/osysmon.h index 2f82c47..4fba86c 100644 --- a/src/osysmon.h +++ b/src/osysmon.h @@ -13,6 +13,8 @@ struct osysmon_state { struct rtnl_client_state *rcs; + /* list of 'struct osysmon_cmd' */ + struct llist_head cmds; /* list of 'struct ctrl client' */ struct llist_head ctrl_clients; /* list of 'struct openvpn_client' */ @@ -21,6 +23,7 @@ struct llist_head netdevs; /* list of 'struct osysmon_file' */ struct llist_head files; + /* list of ping contexts */ struct ping_state *pings; }; @@ -36,6 +39,8 @@ PING_NODE, }; +int osysmon_cmd_init(); +int osysmon_cmd_poll(struct value_node *parent); int osysmon_ctrl_go_parent(struct vty *vty); int osysmon_ctrl_init(); diff --git a/src/osysmon_cmd.c b/src/osysmon_cmd.c new file mode 100644 index 0000000..d26bf02 --- /dev/null +++ b/src/osysmon_cmd.c @@ -0,0 +1,168 @@ +/* Simple Osmocom System Monitor (osysmon): Support for monitoring through shell commands */ + +/* (C) 2019 by sysmocom - s.f.m.c. GmbH + * All Rights Reserved. + * Author: Pau Espin Pedrol + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include +#include +#include +#include + +#include +#include + +#include "osysmon.h" +#include "value_node.h" + +/*********************************************************************** + * Data model + ***********************************************************************/ + +struct osysmon_cmd { + struct llist_head list; + struct { + const char *name; + const char *cmd; + } cfg; +}; + +static struct osysmon_cmd *osysmon_cmd_find(const char *name) +{ + struct osysmon_cmd *oc; + + llist_for_each_entry(oc, &g_oss->cmds, list) { + if (!strcmp(oc->cfg.name, name)) + return oc; + } + return NULL; +} + +static struct osysmon_cmd *osysmon_cmd_add(const char *name, const char *cmd) +{ + struct osysmon_cmd *oc; + + if (osysmon_cmd_find(name)) + return NULL; + + oc = talloc_zero(g_oss, struct osysmon_cmd); + OSMO_ASSERT(oc); + oc->cfg.name = talloc_strdup(oc, name); + oc->cfg.cmd = talloc_strdup(oc, cmd); + llist_add_tail(&oc->list, &g_oss->cmds); + return oc; +} + +static void osysmon_cmd_destroy(struct osysmon_cmd *oc) +{ + llist_del(&oc->list); + talloc_free(oc); +} + +static void osysmon_cmd_run(struct osysmon_cmd *oc, struct value_node *parent) +{ + char buf[512]; + FILE *f; + long offset = 0; + + f = popen(oc->cfg.cmd, "r"); + if (!f) { + snprintf(buf, sizeof(buf), "", errno); + value_node_add(parent, oc->cfg.name, buf); + return; + } + + while (fgets(buf + offset, sizeof(buf) - offset, f) != NULL) + offset = ftell(f); + + if (offset == 0) + value_node_add(parent, oc->cfg.name, ""); + + pclose(f); + + value_node_add(parent, oc->cfg.name, buf); +} + +/*********************************************************************** + * VTY + ***********************************************************************/ + +#define CMD_STR "Configure a command to be executed\n" +DEFUN(cfg_cmd, cfg_cmd_cmd, + "cmd NAME .TEXT", + CMD_STR "Name of this command snippet\n" "Command to run\n") +{ + struct osysmon_cmd *oc; + char *concat = argv_concat(argv, argc, 1); + oc = osysmon_cmd_add(argv[0], concat); + talloc_free(concat); + if (!oc) { + vty_out(vty, "Couldn't add cmd, maybe it exists?%s", VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +DEFUN(cfg_no_cmd, cfg_no_cmd_cmd, + "no cmd NAME", + NO_STR CMD_STR "Name of this command snippet\n") +{ + struct osysmon_cmd *oc; + oc = osysmon_cmd_find(argv[0]); + if (!oc) { + vty_out(vty, "Cannot find cmd for '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + osysmon_cmd_destroy(oc); + return CMD_SUCCESS; +} + + +static void osysmon_cmd_vty_init(void) +{ + install_element(CONFIG_NODE, &cfg_cmd_cmd); + install_element(CONFIG_NODE, &cfg_no_cmd_cmd); +} + +/*********************************************************************** + * Runtime Code + ***********************************************************************/ + +/* called once on startup before config file parsing */ +int osysmon_cmd_init() +{ + osysmon_cmd_vty_init(); + return 0; +} + +/* called periodically */ +int osysmon_cmd_poll(struct value_node *parent) +{ + struct value_node *vn_file; + struct osysmon_cmd *oc; + + vn_file = value_node_add(parent, "cmd", NULL); + + llist_for_each_entry(oc, &g_oss->cmds, list) + osysmon_cmd_run(oc, vn_file); + + return 0; +} diff --git a/src/osysmon_main.c b/src/osysmon_main.c index 1ba3753..f58e848 100644 --- a/src/osysmon_main.c +++ b/src/osysmon_main.c @@ -207,6 +207,7 @@ osysmon_ping_poll(root); osysmon_file_poll(root); + osysmon_cmd_poll(root); display_update(root); value_node_del(root); @@ -221,6 +222,7 @@ osmo_init_logging2(NULL, &log_info); g_oss = talloc_zero(NULL, struct osysmon_state); + INIT_LLIST_HEAD(&g_oss->cmds); INIT_LLIST_HEAD(&g_oss->ctrl_clients); INIT_LLIST_HEAD(&g_oss->openvpn_clients); INIT_LLIST_HEAD(&g_oss->netdevs); @@ -229,6 +231,7 @@ vty_init(&vty_info); handle_options(argc, argv); osysmon_sysinfo_init(); + osysmon_cmd_init(); osysmon_ctrl_init(); osysmon_openvpn_init(); osysmon_rtnl_init(); -- To view, visit https://gerrit.osmocom.org/13304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b Gerrit-Change-Number: 13304 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 16:27:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 18 Mar 2019 16:27:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use PCU-related test cases as version string Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13305 Change subject: BTS: use PCU-related test cases as version string ...................................................................... BTS: use PCU-related test cases as version string When running PCU-related tests against BTS use name of the test as a PCU version string sent from TTCN-3 code. This makes it easier to separate OsmoBTS log output related to different test cases. Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 --- M bts/BTS_Tests.ttcn 1 file changed, 34 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/13305/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 86d43fe..5c43453 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2726,30 +2726,40 @@ /* PDCH activation via PCU socket; check for presence of RTS.req */ testcase TC_pcu_act_req() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "act_req"))); + f_TC_pcu_act_req(0, 0, 7, true); } /* PDCH activation via PCU socket on non-PDCU timeslot */ testcase TC_pcu_act_req_wrong_ts() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "act_req_wrong_ts"))); + f_TC_pcu_act_req(0, 0, 1, false); } /* PDCH activation via PCU socket on wrong BTS */ testcase TC_pcu_act_req_wrong_bts() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "act_req_wrong_bts"))); + f_TC_pcu_act_req(23, 0, 7, false); } /* PDCH activation via PCU socket on wrong TRX */ testcase TC_pcu_act_req_wrong_trx() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "act_req_wrong_trx"))); + f_TC_pcu_act_req(0, 23, 7, false); } /* PDCH deactivation via PCU socket; check for absence of RTS.req */ testcase TC_pcu_deact_req() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "deact_req"))); + /* Activate PDCH */ f_TC_pcu_act_req(0, 0, 7, true); f_sleep(1.0); @@ -2760,6 +2770,8 @@ /* Attempt to deactivate a PDCH on a non-PDCH timeslot */ testcase TC_pcu_deact_req_wrong_ts() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "deact_req_wrong_ts"))); + f_TC_pcu_deact_req(0, 0, 1); } @@ -2769,10 +2781,11 @@ var PCUIF_send_data sd; timer T:= 3.0; f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "ver_si13"))); /* Set SI13 via RSL */ f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, si13); - PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "BTS_Test v23"))); + T.start; alt { [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_DATA_IND(0, 0, 0, ?, PCU_IF_SAPI_BCCH))) -> value sd { @@ -2825,6 +2838,8 @@ /* Send DATA.req on invalid BTS */ testcase TC_pcu_data_req_wrong_bts() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_wrong_bts"))); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(23, 0, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ @@ -2834,6 +2849,8 @@ /* Send DATA.req on invalid TRX */ testcase TC_pcu_data_req_wrong_trx() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_wrong_trx"))); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(0, 100, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ @@ -2843,6 +2860,8 @@ /* Send DATA.req on invalid timeslot */ testcase TC_pcu_data_req_wrong_ts() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_wrong_ts"))); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(0, 0, 70, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ @@ -2852,6 +2871,8 @@ /* Send DATA.req on timeslot that hasn't been activated */ testcase TC_pcu_data_req_ts_inactive() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_ts_inactive"))); + f_pcu_data_req(0, 0, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ f_sleep(2.0); @@ -2859,6 +2880,8 @@ testcase TC_pcu_data_req_pdtch() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_pdtch"))); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this was actually sent */ @@ -2867,6 +2890,8 @@ testcase TC_pcu_data_req_ptcch() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_ptcch"))); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PTCCH, c_PCU_DATA); /* FIXME: how to check this was actually sent */ @@ -2880,6 +2905,8 @@ f_init_l1ctl(); f_l1_tune(L1CTL); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_agch"))); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(0, 0, 7, 0, 0, PCU_IF_SAPI_AGCH, c_PCU_DATA); @@ -2902,6 +2929,8 @@ f_init_l1ctl(); f_l1_tune(L1CTL); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "data_req_imm_ass_pch"))); + /* append 3 last imsi digits so BTS can compute pagng group */ var uint32_t fn := f_PCUIF_tx_imm_ass_pch(PCU, g_pcu_conn_id, imm_ass, '123459987'H); @@ -2925,6 +2954,8 @@ f_init_l1ctl(); f_l1_tune(L1CTL); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "rach_content"))); + var GsmFrameNumber fn_last := 0; for (var integer i := 0; i < 1000; i := i+1) { var OCT1 ra := f_rnd_ra_ps(); @@ -2964,6 +2995,8 @@ testcase TC_pcu_paging_from_rsl() runs on test_CT { f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "paging_from_rsl"))); + for (var integer i := 0; i < 100; i := i+1) { var MobileL3_CommonIE_Types.MobileIdentityLV mi; timer T := 3.0; -- To view, visit https://gerrit.osmocom.org/13305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 Gerrit-Change-Number: 13305 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 16:28:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 16:28:31 +0000 Subject: Change in osmo-bts[master]: Constify pcu_rx_*() parameters In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13298 ) Change subject: Constify pcu_rx_*() parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 Gerrit-Change-Number: 13298 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 18 Mar 2019 16:28:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 16:28:33 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 16:28:33 +0000 Subject: Change in osmo-bts[master]: Constify pcu_rx_*() parameters In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13298 ) Change subject: Constify pcu_rx_*() parameters ...................................................................... Constify pcu_rx_*() parameters Use const for data parameter where appropriate. Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 --- M include/osmo-bts/l1sap.h M src/common/l1sap.c M src/common/pcu_sock.c 3 files changed, 5 insertions(+), 5 deletions(-) Approvals: dexter: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index 3cf0ea5..70b4564 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -71,7 +71,7 @@ /* pcu (socket interface) sends us a data request primitive */ int l1sap_pdch_req(struct gsm_bts_trx_ts *ts, int is_ptcch, uint32_t fn, - uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len); + uint16_t arfcn, uint8_t block_nr, const uint8_t *data, uint8_t len); /* call-back function for incoming RTP */ void l1sap_rtp_rx_cb(struct osmo_rtp_socket *rs, const uint8_t *rtp_pl, diff --git a/src/common/l1sap.c b/src/common/l1sap.c index dba08df..a1b0464 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1388,7 +1388,7 @@ /* pcu (socket interface) sends us a data request primitive */ int l1sap_pdch_req(struct gsm_bts_trx_ts *ts, int is_ptcch, uint32_t fn, - uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len) + uint16_t arfcn, uint8_t block_nr, const uint8_t *data, uint8_t len) { struct msgb *msg; struct osmo_phsap_prim *l1sap; diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 60e0f7a..2c7028e 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -466,7 +466,7 @@ } static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type, - struct gsm_pcu_if_data *data_req) + const struct gsm_pcu_if_data *data_req) { uint8_t is_ptcch; struct gsm_bts_trx *trx; @@ -538,7 +538,7 @@ } static int pcu_rx_pag_req(struct gsm_bts *bts, uint8_t msg_type, - struct gsm_pcu_if_pag_req *pag_req) + const struct gsm_pcu_if_pag_req *pag_req) { int rc = 0; @@ -598,7 +598,7 @@ } static int pcu_rx_act_req(struct gsm_bts *bts, - struct gsm_pcu_if_act_req *act_req) + const struct gsm_pcu_if_act_req *act_req) { struct gsm_bts_trx *trx; struct gsm_lchan *lchan; -- To view, visit https://gerrit.osmocom.org/13298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia228c001ca07cfde61b540bec6257b62aec93517 Gerrit-Change-Number: 13298 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 17:07:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 17:07:12 +0000 Subject: Change in osmo-sysmon[master]: Add vty option to print output of shell cmd on every poll step In-Reply-To: References: Message-ID: Hello Max, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13304 to look at the new patch set (#2). Change subject: Add vty option to print output of shell cmd on every poll step ...................................................................... Add vty option to print output of shell cmd on every poll step Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b --- M doc/examples/osmo-sysmon.cfg M src/Makefile.am M src/osysmon.h A src/osysmon_cmd.c M src/osysmon_main.c 5 files changed, 181 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/04/13304/2 -- To view, visit https://gerrit.osmocom.org/13304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b Gerrit-Change-Number: 13304 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 17:12:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 17:12:37 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssamp length field Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13306 Change subject: osmo_bsc_bssap: check bssamp length field ...................................................................... osmo_bsc_bssap: check bssamp length field At the moment the length field of the bssmap header is not parsed. Instead the length is computed out of the known header length and the number of bytes received. This is prone to error, lets make sure that extranous data at the end of a message is ignored by parsing the bssmap length correctly. Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Related: OS#3806 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 30 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/13306/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 85aab22..4c7bcb3 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1081,6 +1081,35 @@ return 0; } +/* Extract and verify the length information from the BSSMAP header. */ +static unsigned int bssmap_msg_len(struct msgb *msg, unsigned int length) +{ + unsigned int expected_len; + unsigned int calculated_len; + struct bssmap_header *bssmap_header; + + bssmap_header = (struct bssmap_header *)msg->l3h; + + calculated_len = length - sizeof(struct bssmap_header); + expected_len = bssmap_header->length; + + /* In case of contradictory length information, decide for the + * shorter length */ + if (calculated_len > expected_len) { + LOGP(DMSC, LOGL_NOTICE, + "BSSMAP message contains extranous data, expected %u bytes, got %u bytes, truncated\n", + expected_len, calculated_len); + return expected_len; + } else if (calculated_len < expected_len) { + LOGP(DMSC, LOGL_NOTICE, + "Short BSSMAP message, expected %u bytes, got %u bytes\n", + expected_len, calculated_len); + return calculated_len; + } + + return expected_len; +} + int bsc_handle_dt(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int len) { @@ -1093,7 +1122,7 @@ switch (msg->l3h[0]) { case BSSAP_MSG_BSS_MANAGEMENT: msg->l4h = &msg->l3h[sizeof(struct bssmap_header)]; - bssmap_rcvmsg_dt1(conn, msg, len - sizeof(struct bssmap_header)); + bssmap_rcvmsg_dt1(conn, msg, bssmap_msg_len(msg, len)); break; case BSSAP_MSG_DTAP: dtap_rcvmsg(conn, msg, len); -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 17:16:59 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 18 Mar 2019 17:16:59 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: check bssamp length field Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13307 Change subject: a_iface_bssap: check bssamp length field ...................................................................... a_iface_bssap: check bssamp length field At the moment the length field of the bssmap header is not parsed. Instead the length is computed out of the known header length and the number of bytes received. This is prone to error, lets make sure that extranous data at the end of a message is ignored by parsing the bssmap length correctly. Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Related: OS#3806 --- M src/libmsc/a_iface_bssap.c 1 file changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/07/13307/1 diff --git a/src/libmsc/a_iface_bssap.c b/src/libmsc/a_iface_bssap.c index cb245b8..d0594bf 100644 --- a/src/libmsc/a_iface_bssap.c +++ b/src/libmsc/a_iface_bssap.c @@ -703,6 +703,33 @@ return 0; } +/* Extract and verify the length information from the BSSMAP header. */ +void bssmap_msg_verify_len(struct msgb *msg) +{ + unsigned int expected_len; + unsigned int calculated_len; + struct bssmap_header *bssmap_header; + + bssmap_header = (struct bssmap_header *)msg->l2h; + + calculated_len = msgb_l3len(msg); + expected_len = bssmap_header->length; + + /* In case of contradictory length information, decide for the + * shorter length */ + if (calculated_len > expected_len) { + LOGP(DBSSAP, LOGL_NOTICE, + "BSSMAP message contains extranous data, expected %u bytes, got %u bytes, truncated\n", + expected_len, calculated_len); + msgb_l3trim(msg, expected_len); + } else if (calculated_len < expected_len) { + LOGP(DMSC, LOGL_NOTICE, + "Short BSSMAP message, expected %u bytes, got %u bytes\n", + expected_len, calculated_len); + msgb_l3trim(msg, calculated_len); + } +} + /* Handle incoming connection oriented messages. No ownership of 'msg' is passed on! */ int a_sccp_rx_dt(struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_info, struct msgb *msg) { @@ -718,6 +745,7 @@ switch (msg->l2h[0]) { case BSSAP_MSG_BSS_MANAGEMENT: msg->l3h = &msg->l2h[sizeof(struct bssmap_header)]; + bssmap_msg_verify_len(msg); return rx_bssmap(scu, a_conn_info, msg); case BSSAP_MSG_DTAP: return rx_dtap(scu, a_conn_info, msg); -- To view, visit https://gerrit.osmocom.org/13307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Gerrit-Change-Number: 13307 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 17:17:23 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 17:17:23 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssamp length field In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13306 ) Change subject: osmo_bsc_bssap: check bssamp length field ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c at 1100 PS1, Line 1100: "BSSMAP message contains extranous data, expected %u bytes, got %u bytes, truncated\n", typo: extraneous? Would be clear saying "extra data". -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 18 Mar 2019 17:17:23 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 18 17:19:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 18 Mar 2019 17:19:02 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: check bssamp length field In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13307 ) Change subject: a_iface_bssap: check bssamp length field ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13307/1/src/libmsc/a_iface_bssap.c File src/libmsc/a_iface_bssap.c: https://gerrit.osmocom.org/#/c/13307/1/src/libmsc/a_iface_bssap.c at 722 PS1, Line 722: "BSSMAP message contains extranous data, expected %u bytes, got %u bytes, truncated\n", Same as other patch: "extraneous". Better use "extra". -- To view, visit https://gerrit.osmocom.org/13307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Gerrit-Change-Number: 13307 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 18 Mar 2019 17:19:02 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:38:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:38:48 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssamp length field In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13306 ) Change subject: osmo_bsc_bssap: check bssamp length field ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13306/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13306/1//COMMIT_MSG at 7 PS1, Line 7: bssamp bssmap https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c at 1099 PS1, Line 1099: DMSC, LOGL_NOTICE, : "BSSMAP message As usual, it makes sense to log some context along with the message. Like which MSC has sent the message. Yes, currently we (again) onlysupport one MSC in osmo-bsc, but it used to be different and it will again be different. But as the other messages in this file don't appear to log context, we can accept the patch as-is. -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 06:38:48 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:40:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:40:21 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: check bssamp length field In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13307 ) Change subject: a_iface_bssap: check bssamp length field ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13307/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13307/1//COMMIT_MSG at 7 PS1, Line 7: bssamp bssmap https://gerrit.osmocom.org/#/c/13307/1/src/libmsc/a_iface_bssap.c File src/libmsc/a_iface_bssap.c: https://gerrit.osmocom.org/#/c/13307/1/src/libmsc/a_iface_bssap.c at 721 PS1, Line 721: DBSSAP, LOGL_NOTICE, : "BSSMAP message c on the MSC side we cannot have log messages without any context. The user will have no idea from which of his many BSCs this message is coming from. The fact that other log messages in this file don't provide context is almost disturbing. Let's make sure to fix those in a separat patch, too. -- To view, visit https://gerrit.osmocom.org/13307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Gerrit-Change-Number: 13307 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 06:40:21 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:42:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:42:54 +0000 Subject: Change in osmo-sysmon[master]: Add vty option to print output of shell cmd on every poll step In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13304 ) Change subject: Add vty option to print output of shell cmd on every poll step ...................................................................... Patch Set 2: The only place where "shell" is used, is in the commit log message. I would strongly recommend to use "shell_cmd" everyhwere instead of just "cmd" or "cmmand". That includes structs, symbol names, VTY commands, ... "command" is just too generic, IMHO. -- To view, visit https://gerrit.osmocom.org/13304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b Gerrit-Change-Number: 13304 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 06:42:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:45:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:45:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 19 Mar 2019 06:45:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:47:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:47:13 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh at 18 PS2, Line 18: osmo-pcu let's make sure all CNI projects are listed. osmo-sgsn seems to be missing e.g. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 06:47:13 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:49:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:49:06 +0000 Subject: Change in libosmocore[master]: Make rate_ctr_group_free() more robust In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13303 ) Change subject: Make rate_ctr_group_free() more robust ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13303/1/src/rate_ctr.c File src/rate_ctr.c: https://gerrit.osmocom.org/#/c/13303/1/src/rate_ctr.c at 258 PS1, Line 258: if (grp) { we'd usually have a "if (!grp) return" to avoid extra indents. But not critical here, with such short lines and short function body. -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 06:49:06 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:50:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:50:03 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: Harald Welte has uploaded a new patch set (#4) to the change originally created by dexter. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... oc2g: change log level for calibration file errors to ERROR The log level of the messages that notify calibration file loading problems is NOTICE, but since it is a severe problem when calibration can not be loaded lets change it to FATAL Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Related: OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/13266/4 -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:50:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:50:07 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 06:50:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:51:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:51:43 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13268 ) Change subject: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Gerrit-Change-Number: 13268 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 06:51:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:52:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:52:36 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13269 ) Change subject: oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Gerrit-Change-Number: 13269 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 06:52:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 06:53:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 06:53:17 +0000 Subject: Change in osmo-bts[master]: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13296 ) Change subject: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I99e637496afff2530425b89c6e9befc76db24906 Gerrit-Change-Number: 13296 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 06:53:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 09:16:42 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 Mar 2019 09:16:42 +0000 Subject: Change in libosmocore[master]: Make rate_ctr_group_free() more robust In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13303 ) Change subject: Make rate_ctr_group_free() more robust ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13303/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13303/1//COMMIT_MSG at 7 PS1, Line 7: more robust IMHO, such commit name is meaningless. Don't get me wrong. Let's just imagine the following commit log: - Make function_a() work better - Make function_b() more stable - ... In general, all our commits make something more robust, better, and so on. What about a more concrete naming? https://gerrit.osmocom.org/#/c/13303/1//COMMIT_MSG at 9 PS1, Line 9: Properly check and handle empty or NULL input. This is exactly what I would like to see in the commit name. Alternatively: rate_ctr_group_free(): guard against empty or NULL input. -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Tue, 19 Mar 2019 09:16:42 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 09:26:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 09:26:38 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, Neels Hofmeyr, Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13301 to look at the new patch set (#3). Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Add scripts/osmocom-list-commits.sh Generate a table of Osmocom CNI repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da --- A scripts/osmocom-list-commits.sh 1 file changed, 73 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/13301/3 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 09:27:41 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 09:27:41 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh at 18 PS2, Line 18: # Print commit of HEAD for an Osmocom git repository, e.g.: > let's make sure all CNI projects are listed. osmo-sgsn seems to be missing e.g. Added osmo-iuh, osmo-sgsn, osmo-trx. Unless I have overlooked any, these are all mentioned here: https://osmocom.org/projects/cellular-infrastructure/wiki -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 09:27:41 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 10:28:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 10:28:06 +0000 Subject: Change in libosmocore[master]: rate_ctr_group_free(): guard against empty or NULL input In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13303 to look at the new patch set (#2). Change subject: rate_ctr_group_free(): guard against empty or NULL input ...................................................................... rate_ctr_group_free(): guard against empty or NULL input Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 --- M src/rate_ctr.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/03/13303/2 -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 10:28:46 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 10:28:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use dumpcap for ttcn3-tcpdump-*.sh if available In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13253 ) Change subject: Use dumpcap for ttcn3-tcpdump-*.sh if available ...................................................................... Use dumpcap for ttcn3-tcpdump-*.sh if available Check if dumpcap is installed (either as suid or with appropriate capabilities) and use it for packet capture instead of 'sudo tcpdump' if available. This makes it easier to use TTCN-3 testsuite as regular user without altering sudoers. Change-Id: I77df04d51a469c924cf727f0596cc33565909746 --- M ttcn3-tcpdump-start.sh M ttcn3-tcpdump-stop.sh 2 files changed, 18 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh index b8ad01a..9bf3c0a 100755 --- a/ttcn3-tcpdump-start.sh +++ b/ttcn3-tcpdump-start.sh @@ -2,6 +2,7 @@ PIDFILE=/tmp/dumper.pid TCPDUMP=/usr/sbin/tcpdump +DUMPCAP=/usr/bin/dumpcap TESTCASE=$1 echo "------ $TESTCASE ------" @@ -23,6 +24,21 @@ # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file CMD="sudo $TCPDUMP -U" fi + +if [ -x $DUMPCAP ]; then + CAP_ERR="1" + if [ -x /sbin/setcap ]; then + # N. B: this check requires libcap2-bin package + setcap -q -v 'cap_net_admin,cap_net_raw=pie' $DUMPCAP + CAP_ERR="$?" + fi + if [ -u $DUMPCAP -o "$CAP_ERR" = "0" ]; then + CMD="$DUMPCAP -q" + else + echo "NOTE: unable to use dumpcap due to missing capabilities or suid bit" + fi +fi + $CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 & PID=$! echo $PID > $PIDFILE diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index f53cf5d..c1ab9d0 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -32,7 +32,8 @@ done if [ -e $PIDFILE ]; then - if [ "$(id -u)" = "0" ]; then + DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)" + if [ "$DUMPER" != "sudo" ]; then kill "$(cat "$PIDFILE")" else # NOTE: This requires you to be root or something like -- To view, visit https://gerrit.osmocom.org/13253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 Gerrit-Change-Number: 13253 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 10:30:14 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 10:30:14 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 10:30:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 10:30:21 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 10:30:21 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... Patch Set 4: To me as well it sounds more reasonable to stick with log level FATAL. If we exit or not is still an open question as I do not understand the logic behind the algorithm that tries to recover when parts of the calibration data is missing. See also: https://osmocom.org/issues/3823 -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 10:30:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 10:46:52 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 Mar 2019 10:46:52 +0000 Subject: Change in libosmocore[master]: rate_ctr_group_free(): guard against empty or NULL input In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13303 ) Change subject: rate_ctr_group_free(): guard against empty or NULL input ...................................................................... Patch Set 2: Code-Review+1 Thanks! -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 10:46:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 10:47:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 10:47:27 +0000 Subject: Change in libosmo-netif[master]: tests: AM_LDFLAGS = -noinstall for all tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13241 ) Change subject: tests: AM_LDFLAGS = -noinstall for all tests ...................................................................... Patch Set 4: > similar patch for all unit tests in all repositories would be good. thanks I've started with that, and realized that most other repositories use noinst_PROGRAMS instead of check_PROGRAMS in test's Makefile.am files. Reference for both: https://www.gnu.org/software/automake/manual/automake.html#index-noinst_005f I have checked, that noinst_PROGRAMS don't need AM_LDFLAGS = -noinstall. The benefit of check_PROGRAMS is, that they only get built when "make check" gets executed. So in theory, using check_PROGRAMS together with -no-install seems to be the better choice. However, replacing noinst_PROGRAMS with check_PROGRAMS in test's Makefile.am across all repositories would be quite some effort (most repositories have subdirs in tests, and even more Makefile.am files in there). So it does not seem like it is worth it to me. (Other opinions?) I'm working on patches for the repositories with check_PROGRAMS to use -no-install now. -- To view, visit https://gerrit.osmocom.org/13241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94ccff42dfba71aaf59bb30ca312db0bac58c27d Gerrit-Change-Number: 13241 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Alexander Huemer Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pablo Neira Ayuso Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: steve-m Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 19 Mar 2019 10:47:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:06:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 11:06:09 +0000 Subject: Change in libosmocore[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13308 Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled libosmo{core,gsm,vty}.so and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/13308/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 63f3959..ab3728f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -Wall $(TALLOC_CFLAGS) -AM_LDFLAGS = +AM_LDFLAGS = -no-install LDADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS) if ENABLE_SERCOM_STUB -- To view, visit https://gerrit.osmocom.org/13308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 Gerrit-Change-Number: 13308 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:06:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 11:06:09 +0000 Subject: Change in libosmocore[master]: socket: osmo_sock_get_name() Use "const void *" as talloc context Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13309 Change subject: socket: osmo_sock_get_name() Use "const void *" as talloc context ...................................................................... socket: osmo_sock_get_name() Use "const void *" as talloc context Change-Id: Ie6877277cddb0a9e049449c260afe3314ba65050 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/13309/1 diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index e06f926..4f6ed72 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -66,7 +66,7 @@ int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags); -char *osmo_sock_get_name(void *ctx, int fd); +char *osmo_sock_get_name(const void *ctx, int fd); const char *osmo_sock_get_name2(int fd); int osmo_sock_get_name_buf(char *str, size_t str_len, int fd); int osmo_sock_get_ip_and_port(int fd, char *ip, size_t ip_len, char *port, size_t port_len, bool local); diff --git a/src/socket.c b/src/socket.c index 37fd584..6a3f254 100644 --- a/src/socket.c +++ b/src/socket.c @@ -781,7 +781,7 @@ * \param[in] fd file descriptor of socket * \returns string identifying the connection of this socket, talloc'd from ctx. */ -char *osmo_sock_get_name(void *ctx, int fd) +char *osmo_sock_get_name(const void *ctx, int fd) { char str[OSMO_SOCK_NAME_MAXLEN]; int rc; -- To view, visit https://gerrit.osmocom.org/13309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie6877277cddb0a9e049449c260afe3314ba65050 Gerrit-Change-Number: 13309 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:06:31 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 11:06:31 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh at 18 PS2, Line 18: osmo-msc > Added osmo-iuh, osmo-sgsn, osmo-trx. Unless I have overlooked any, these are all mentioned here: [?] What about libusrp, libasn1c and libsmpp34? Ithink those necessary as dependencies for osmo-* projects. Not sure about osmo-sip-connector and osmo-sysmon though. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 11:06:31 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:07:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 11:07:59 +0000 Subject: Change in libosmocore[master]: Add _buf() functions to bypass static string buffers Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13310 Change subject: Add _buf() functions to bypass static string buffers ...................................................................... Add _buf() functions to bypass static string buffers We have a number of static buffers in use in libosmo*. This means the related functions are not usable in a thread-safe way. While we so far don't have many multi-threaded programs in the osmocom universe, the static buffers also prevent us from calling the same e.g. string-ify function twice within a single printf() call. Let's make sure there's an alternative function in all those cases, where the user can pass in a caller-allocated buffer + size, and make the 'classic' function with the static buffer a wrapper around that _buf() variant. Change-Id: Ibf85f79e93244f53b2684ff6f1095c5b41203e05 --- M include/osmocom/core/msgb.h M include/osmocom/core/utils.h M include/osmocom/gprs/gprs_ns.h M include/osmocom/gsm/abis_nm.h M include/osmocom/gsm/apn.h M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/gsm23003.h M include/osmocom/gsm/gsm48.h M include/osmocom/gsm/gsm_utils.h M include/osmocom/gsm/protocol/gsm_04_08.h M include/osmocom/gsm/rsl.h M include/osmocom/sim/sim.h M src/gb/gprs_ns.c M src/gb/libosmogb.map M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/libosmogsm.map M src/gsm/rsl.c M src/msgb.c M src/sim/core.c M src/utils.c 25 files changed, 360 insertions(+), 116 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/13310/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index f006b34..4299fb8 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -67,6 +67,7 @@ extern void msgb_reset(struct msgb *m); uint16_t msgb_length(const struct msgb *msg); extern const char *msgb_hexdump(const struct msgb *msg); +char *msgb_hexdump_buf(char *buf, size_t buf_len, const struct msgb *msg); extern int msgb_resize_area(struct msgb *msg, uint8_t *area, int old_size, int new_size); extern struct msgb *msgb_copy(const struct msgb *msg, const char *name); diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 16159d3..22b2ca5 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -53,6 +53,7 @@ int osmo_hexparse(const char *str, uint8_t *b, int max_len); +char *osmo_ubit_dump_buf(char *buf, size_t buf_len, const uint8_t *bits, unsigned int len); char *osmo_ubit_dump(const uint8_t *bits, unsigned int len); char *osmo_hexdump(const unsigned char *buf, int len); char *osmo_hexdump_nospc(const unsigned char *buf, int len); diff --git a/include/osmocom/gprs/gprs_ns.h b/include/osmocom/gprs/gprs_ns.h index c62ef98..ed155ff 100644 --- a/include/osmocom/gprs/gprs_ns.h +++ b/include/osmocom/gprs/gprs_ns.h @@ -211,6 +211,8 @@ /* Resturn peer info as string (NOTE: the buffer is allocated statically) */ const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc); +/* Return peer info in user-supplied buffer */ +char *gprs_ns_ll_str_buf(char *buf, size_t buf_len, const struct gprs_nsvc *nsvc); /* Copy the link layer info from other into nsvc */ void gprs_ns_ll_copy(struct gprs_nsvc *nsvc, struct gprs_nsvc *other); diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h index 823b5a4..788727c 100644 --- a/include/osmocom/gsm/abis_nm.h +++ b/include/osmocom/gsm/abis_nm.h @@ -42,6 +42,7 @@ extern const struct tlv_definition abis_nm_att_tlvdef_ipa; const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh); +char *abis_nm_dump_foh_buf(char *buf, size_t buf_len, const struct abis_om_fom_hdr *foh); /*! write a human-readable OML header to the debug log * \param[in] ss Logging sub-system diff --git a/include/osmocom/gsm/apn.h b/include/osmocom/gsm/apn.h index 288b229..7899bb2 100644 --- a/include/osmocom/gsm/apn.h +++ b/include/osmocom/gsm/apn.h @@ -11,11 +11,14 @@ #define APN_MAXLEN 100 char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni); +char *osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni); /* Compose a string of the form '.mnc001.mcc002.gprs\0', returned in a * static buffer. */ char *osmo_apn_qualify_from_imsi(const char *imsi, const char *ni, int have_3dig_mnc); +char *osmo_apn_qualify_from_imsi_buf(char *buf, size_t buf_len, const char *imsi, + const char *ni, int have_3dig_mnc); int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str); char *osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len); diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index dedb029..e246967 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -69,7 +69,9 @@ }; char *osmo_lcls_dump(const struct osmo_lcls *lcls); +char *osmo_lcls_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls); char *osmo_gcr_dump(const struct osmo_lcls *lcls); +char *osmo_gcr_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls); extern const struct value_string gsm0808_cell_id_discr_names[]; static inline const char *gsm0808_cell_id_discr_name(enum CELL_IDENT id_discr) @@ -251,5 +253,6 @@ } const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct); +char *gsm0808_channel_type_name_buf(char *buf, size_t buf_len, const struct gsm0808_channel_type *ct); /*! @} */ diff --git a/include/osmocom/gsm/gsm23003.h b/include/osmocom/gsm/gsm23003.h index cf622ce..88c4f3c 100644 --- a/include/osmocom/gsm/gsm23003.h +++ b/include/osmocom/gsm/gsm23003.h @@ -105,13 +105,19 @@ bool osmo_imei_str_valid(const char *imei, bool with_15th_digit); const char *osmo_mcc_name(uint16_t mcc); +char *osmo_mcc_name_buf(char *buf, size_t buf_len, uint16_t mcc); const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits); +char *osmo_mnc_name_buf(char *buf, size_t buf_len, uint16_t mnc, bool mnc_3_digits); const char *osmo_plmn_name(const struct osmo_plmn_id *plmn); const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn); +char *osmo_plmn_name_buf(char *buf, size_t buf_len, const struct osmo_plmn_id *plmn); const char *osmo_lai_name(const struct osmo_location_area_id *lai); +char *osmo_lai_name_buf(char *buf, size_t buf_len, const struct osmo_location_area_id *lai); const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi); const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi); +char *osmo_cgi_name_buf(char *buf, size_t buf_len, const struct osmo_cell_global_id *cgi); const char *osmo_gummei_name(const struct osmo_gummei *gummei); +char *osmo_gummei_name_buf(char *buf, size_t buf_len, const struct osmo_gummei *gummei); void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn); void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn); diff --git a/include/osmocom/gsm/gsm48.h b/include/osmocom/gsm/gsm48.h index 7e0e5c4..81b2bf0 100644 --- a/include/osmocom/gsm/gsm48.h +++ b/include/osmocom/gsm/gsm48.h @@ -35,6 +35,7 @@ const char *gsm48_rr_msg_name(uint8_t msgtype); const char *rr_cause_name(uint8_t cause); const char *osmo_rai_name(const struct gprs_ra_id *rai); +char *osmo_rai_name_buf(char *buf, size_t buf_len, const struct gprs_ra_id *rai); int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc, uint16_t *mnc, uint16_t *lac) @@ -55,6 +56,7 @@ const uint8_t *mi, const int mi_len); const char *gsm48_mi_type_name(uint8_t mi); const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len); +char *osmo_mi_name_buf(char *buf, size_t buf_len, const uint8_t *mi, uint8_t mi_len); /* Parse Routeing Area Identifier */ void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf); diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 7d0beca..7de0623 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -181,6 +181,7 @@ /* Returns static buffer with string representation of a GSM Time */ char *osmo_dump_gsmtime(const struct gsm_time *tm); +char *osmo_dump_gsmtime_buf(char *buf, size_t buf_len, const struct gsm_time *tm); /* GSM TS 03.03 Chapter 2.6 */ enum gprs_tlli_type { diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index c052e4c..c97df16 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -70,6 +70,7 @@ bool osmo_gsm48_classmark2_is_r99(const struct gsm48_classmark2 *cm2, uint8_t cm2_len); int osmo_gsm48_classmark_supports_a5(const struct osmo_gsm48_classmark *cm, uint8_t a5); const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm); +char *osmo_gsm48_classmark_a5_name_buf(char *buf, size_t buf_len, const struct osmo_gsm48_classmark *cm); void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src); /* Chapter 10.5.2.1b.3 */ @@ -1643,6 +1644,7 @@ extern const struct value_string gsm48_mm_msgtype_names[]; extern const struct value_string gsm48_cc_msgtype_names[]; const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type); +char *gsm48_pdisc_msgtype_name_buf(char *buf, size_t buf_len, uint8_t pdisc, uint8_t msg_type); /* FIXME: Table 10.4 / 10.4a (GPRS) */ diff --git a/include/osmocom/gsm/rsl.h b/include/osmocom/gsm/rsl.h index be0fa79..4a1da3a 100644 --- a/include/osmocom/gsm/rsl.h +++ b/include/osmocom/gsm/rsl.h @@ -30,6 +30,7 @@ /* decode channel number as per Section 9.3.1 */ int rsl_dec_chan_nr(uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *timeslot); /* Turns channel number into a string */ +char *rsl_chan_nr_str_buf(char *buf, size_t buf_len, uint8_t chan_nr); const char *rsl_chan_nr_str(uint8_t chan_nr); diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 680cad1..0490dcd 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -296,6 +296,7 @@ uint16_t sw_in); struct osim_card_hdl; +char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in); char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in); extern const struct tlv_definition ts102221_fcp_tlv_def; diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 8c3b0fa..ea889ef 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -1525,17 +1525,15 @@ return rc; } -const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc) +char *gprs_ns_ll_str_buf(char *buf, size_t buf_len, const struct gprs_nsvc *nsvc) { - static char buf[80]; - switch(nsvc->ll) { case GPRS_NS_LL_UDP: - snprintf(buf, sizeof(buf), "%s:%u", + snprintf(buf, buf_len, "%s:%u", inet_ntoa(nsvc->ip.bts_addr.sin_addr), osmo_ntohs(nsvc->ip.bts_addr.sin_port)); break; case GPRS_NS_LL_FR_GRE: - snprintf(buf, sizeof(buf), "%s:%u", + snprintf(buf, buf_len, "%s:%u", inet_ntoa(nsvc->frgre.bts_addr.sin_addr), osmo_ntohs(nsvc->frgre.bts_addr.sin_port)); break; default: @@ -1543,11 +1541,17 @@ break; } - buf[sizeof(buf) - 1] = '\0'; + buf[buf_len - 1] = '\0'; return buf; } +const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc) +{ + static char buf[80]; + return gprs_ns_ll_str_buf(buf, sizeof(buf), nsvc); +} + void gprs_ns_ll_copy(struct gprs_nsvc *nsvc, struct gprs_nsvc *other) { nsvc->ll = other->ll; diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 2ad3ff7..21929da 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -64,6 +64,7 @@ gprs_ns_tx_unblock; gprs_ns_vty_init; gprs_ns_ll_str; +gprs_ns_ll_str_buf; gprs_ns_ll_copy; gprs_ns_ll_clear; gprs_ns_msgb_alloc; diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 49d05ba..e25fdd0 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -928,14 +928,19 @@ return GSM_PCHAN_NONE; } -const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh) +char *abis_nm_dump_foh_buf(char *buf, size_t buf_len, const struct abis_om_fom_hdr *foh) { - static char foh_buf[128]; - snprintf(foh_buf, sizeof(foh_buf), "OC=%s(%02x) INST=(%02x,%02x,%02x)", + snprintf(buf, buf_len, "OC=%s(%02x) INST=(%02x,%02x,%02x)", get_value_string(abis_nm_obj_class_names, foh->obj_class), foh->obj_class, foh->obj_inst.bts_nr, foh->obj_inst.trx_nr, foh->obj_inst.ts_nr); - return foh_buf; + return buf; +} + +const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh) +{ + static char foh_buf[128]; + return abis_nm_dump_foh_buf(foh_buf, sizeof(foh_buf), foh); } /* this is just for compatibility reasons, it is now a macro */ diff --git a/src/gsm/apn.c b/src/gsm/apn.c index 2674663..4ab370c 100644 --- a/src/gsm/apn.c +++ b/src/gsm/apn.c @@ -32,17 +32,22 @@ static char apn_strbuf[APN_MAXLEN+1]; -char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni) +char *osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni) { - snprintf(apn_strbuf, sizeof(apn_strbuf)-1, APN_GPRS_FMT, - ni, mnc, mcc); - apn_strbuf[sizeof(apn_strbuf)-1] = '\0'; + snprintf(buf, buf_len-1, APN_GPRS_FMT, ni, mnc, mcc); + buf[buf_len-1] = '\0'; - return apn_strbuf; + return buf; } -char *osmo_apn_qualify_from_imsi(const char *imsi, - const char *ni, int have_3dig_mnc) +char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni) +{ + return osmo_apn_qualify_buf(apn_strbuf, sizeof(apn_strbuf), mcc, mnc, ni); +} + + +char *osmo_apn_qualify_from_imsi_buf(char *buf, size_t buf_len, const char *imsi, + const char *ni, int have_3dig_mnc) { char cbuf[3+1], nbuf[3+1]; @@ -56,7 +61,13 @@ strncpy(nbuf, imsi+3, 2); nbuf[2] = '\0'; } - return osmo_apn_qualify(atoi(cbuf), atoi(nbuf), ni); + return osmo_apn_qualify_buf(buf, buf_len, atoi(cbuf), atoi(nbuf), ni); +} + +char *osmo_apn_qualify_from_imsi(const char *imsi, + const char *ni, int have_3dig_mnc) +{ + return osmo_apn_qualify_from_imsi_buf(apn_strbuf, sizeof(apn_strbuf), imsi, ni, have_3dig_mnc); } /** diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index e0cdaaf..52e4674 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -595,11 +595,13 @@ static char dbuf[256]; /*! Dump LCLS parameters (GCR excluded) into string for printing. + * \param[out] buf caller-allocated output string buffer + * \param[in] buf_len size of buf in bytes * \param[in] lcls pointer to the struct to print. * \returns string representation of LCLS or NULL on error. */ -char *osmo_lcls_dump(const struct osmo_lcls *lcls) +char *osmo_lcls_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls) { - struct osmo_strbuf s = { .buf = dbuf, .len = 256 }; + struct osmo_strbuf s = { .buf = buf, .len = buf_len }; if (!lcls) return NULL; @@ -612,12 +614,22 @@ return dbuf; } +/*! Dump LCLS parameters (GCR excluded) into static string buffer for printing. + * \param[in] lcls pointer to the struct to print. + * \returns string representation of LCLS in static buffer or NULL on error. */ +char *osmo_lcls_dump(const struct osmo_lcls *lcls) +{ + return osmo_lcls_dump_buf(dbuf, sizeof(dbuf), lcls); +} + /*! Dump GCR struct into string for printing. + * \param[out] buf caller-allocated output string buffer + * \param[in] buf_len size of buf in bytes * \param[in] lcls pointer to the struct to print. * \returns string representation of GCR or NULL on error. */ -char *osmo_gcr_dump(const struct osmo_lcls *lcls) +char *osmo_gcr_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls) { - struct osmo_strbuf s = { .buf = dbuf, .len = 256 }; + struct osmo_strbuf s = { .buf = buf, .len = buf_len }; if (!lcls) return NULL; @@ -631,6 +643,15 @@ return dbuf; } +/*! Dump GCR struct into static string buffer for printing. + * \param[in] lcls pointer to the struct to print. + * \returns string representation of GCR in static buffer or NULL on error. */ +char *osmo_gcr_dump(const struct osmo_lcls *lcls) +{ + return osmo_gcr_dump_buf(dbuf, sizeof(dbuf), lcls); +} + + /*! Encode TS 08.08 Encryption Information IE * \param[out] msg Message Buffer to which IE is to be appended * \param[in] ei Encryption Information to be encoded @@ -1838,13 +1859,18 @@ #undef APPEND_STR #undef APPEND_CELL_ID_U -const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct) +char *gsm0808_channel_type_name_buf(char *buf, size_t buf_len, const struct gsm0808_channel_type *ct) { - static char buf[128]; - snprintf(buf, sizeof(buf), "ch_indctr=0x%x ch_rate_type=0x%x perm_spch=%s", + snprintf(buf, buf_len, "ch_indctr=0x%x ch_rate_type=0x%x perm_spch=%s", ct->ch_indctr, ct->ch_rate_type, osmo_hexdump(ct->perm_spch, ct->perm_spch_len)); return buf; } +const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct) +{ + static char buf[128]; + return gsm0808_channel_type_name_buf(buf, sizeof(buf), ct); +} + /*! @} */ diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index 720c09b..b189cce 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -90,13 +90,37 @@ } /*! Return MCC string as standardized 3-digit with leading zeros. + * \param[out] buf caller-allocated output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] mcc MCC value. + * \returns string in user-supplied output buffer + */ +char *osmo_mcc_name_buf(char *buf, size_t buf_len, uint16_t mcc) +{ + snprintf(buf, buf_len, "%03u", mcc); + return buf; +} + +/*! Return MCC string as standardized 3-digit with leading zeros. * \param[in] mcc MCC value. * \returns string in static buffer. */ const char *osmo_mcc_name(uint16_t mcc) { static char buf[8]; - snprintf(buf, sizeof(buf), "%03u", mcc); + return osmo_mcc_name_buf(buf, sizeof(buf), mcc); +} + +/*! Return MNC string as standardized 2- or 3-digit with leading zeros. + * \param[out] buf caller-allocated output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] mnc MNC value. + * \param[in] mnc_3_digits True if an MNC should fill three digits, only has an effect if MNC < 100. + * \returns string in static buffer. + */ +char *osmo_mnc_name_buf(char *buf, size_t buf_len, uint16_t mnc, bool mnc_3_digits) +{ + snprintf(buf, buf_len, "%0*u", mnc_3_digits ? 3 : 2, mnc); return buf; } @@ -108,14 +132,21 @@ const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits) { static char buf[8]; - snprintf(buf, sizeof(buf), "%0*u", mnc_3_digits ? 3 : 2, mnc); - return buf; + return osmo_mnc_name_buf(buf, sizeof(buf), mnc, mnc_3_digits); } -static inline void plmn_name(char *buf, size_t buflen, const struct osmo_plmn_id *plmn) +/*! Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros. + * \param[out] buf caller-allocated output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] plmn MCC-MNC value. + * \returns string in static buffer. + */ +char *osmo_plmn_name_buf(char *buf, size_t buf_len, const struct osmo_plmn_id *plmn) { - snprintf(buf, buflen, "%s-%s", osmo_mcc_name(plmn->mcc), - osmo_mnc_name(plmn->mnc, plmn->mnc_3_digits)); + char mcc[8], mnc[8]; + snprintf(buf, buf_len, "%s-%s", osmo_mcc_name_buf(mcc, sizeof(mcc), plmn->mcc), + osmo_mnc_name_buf(mnc, sizeof(mnc), plmn->mnc, plmn->mnc_3_digits)); + return buf; } /*! Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros. @@ -125,10 +156,10 @@ const char *osmo_plmn_name(const struct osmo_plmn_id *plmn) { static char buf[16]; - plmn_name(buf, sizeof(buf), plmn); - return buf; + return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } + /*! Same as osmo_plmn_name(), but returning in a different static buffer. * \param[in] plmn MCC-MNC value. * \returns string in static buffer. @@ -136,7 +167,19 @@ const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn) { static char buf[16]; - plmn_name(buf, sizeof(buf), plmn); + return osmo_plmn_name_buf(buf, sizeof(buf), plmn); +} + +/*! Return MCC-MNC-LAC as string, in caller-provided output buffer + * \param[out] buf caller-allocated output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] lai LAI to encode, the rac member is ignored. + * \returns buf + */ +char *osmo_lai_name_buf(char *buf, size_t buf_len, const struct osmo_location_area_id *lai) +{ + char plmn[16]; + snprintf(buf, buf_len, "%s-%u", osmo_plmn_name_buf(plmn, sizeof(plmn), &lai->plmn), lai->lac); return buf; } @@ -147,13 +190,18 @@ const char *osmo_lai_name(const struct osmo_location_area_id *lai) { static char buf[32]; - snprintf(buf, sizeof(buf), "%s-%u", osmo_plmn_name(&lai->plmn), lai->lac); - return buf; + return osmo_lai_name_buf(buf, sizeof(buf), lai); } -static const char *_cgi_name(const struct osmo_cell_global_id *cgi, char *buf, size_t buflen) +/*! Return MCC-MNC-LAC-CI as string, in caller-provided output buffer + * \param[out] buf caller-allocated output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] cgi CGI to encode. + * \returns buf + */ +char *osmo_cgi_name_buf(char *buf, size_t buf_len, const struct osmo_cell_global_id *cgi) { - snprintf(buf, buflen, "%s-%u", osmo_lai_name(&cgi->lai), cgi->cell_identity); + snprintf(buf, buf_len, "%s-%u", osmo_lai_name(&cgi->lai), cgi->cell_identity); return buf; } @@ -164,7 +212,7 @@ const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi) { static char buf[32]; - return _cgi_name(cgi, buf, sizeof(buf)); + return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } /*! Same as osmo_cgi_name(), but uses a different static buffer. @@ -175,7 +223,7 @@ const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi) { static char buf[32]; - return _cgi_name(cgi, buf, sizeof(buf)); + return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } static void to_bcd(uint8_t *bcd, uint16_t val) @@ -187,14 +235,31 @@ bcd[0] = val % 10; } -const char *osmo_gummei_name(const struct osmo_gummei *gummei) +/*! Return string representation of GUMMEI in caller-provided output buffer. + * \param[out] buf pointer to caller-provided output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] gummei GUMMEI to be stringified + * \returns buf + */ +char *osmo_gummei_name_buf(char *buf, size_t buf_len, const struct osmo_gummei *gummei) { - static char buf[32]; - snprintf(buf, sizeof(buf), "%s-%04x-%02x", osmo_plmn_name(&gummei->plmn), + char plmn[16]; + snprintf(buf, buf_len, "%s-%04x-%02x", osmo_plmn_name_buf(plmn, sizeof(plmn), &gummei->plmn), gummei->mme.group_id, gummei->mme.code); return buf; } +/*! Return string representation of GUMMEI in static output buffer + * \param[in] gummei GUMMEI to be stringified + * \returns pointer to static output buffer + */ +const char *osmo_gummei_name(const struct osmo_gummei *gummei) +{ + static char buf[32]; + return osmo_gummei_name_buf(buf, sizeof(buf), gummei); +} + + /* Convert MCC + MNC to BCD representation * \param[out] bcd_dst caller-allocated memory for output * \param[in] mcc Mobile Country Code diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 5dc30ad..a45d67b 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -182,6 +182,20 @@ return get_value_string(rr_cause_names, cause); } +/*! Return MCC-MNC-LAC-RAC as string, in a caller-provided output buffer. + * \param[out] buf caller-provided output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] rai RAI to encode. + * \returns buf + */ +char *osmo_rai_name_buf(char *buf, size_t buf_len, const struct gprs_ra_id *rai) +{ + snprintf(buf, buf_len, "%s-%s-%u-%u", + osmo_mcc_name(rai->mcc), osmo_mnc_name(rai->mnc, rai->mnc_3_digits), rai->lac, + rai->rac); + return buf; +} + /*! Return MCC-MNC-LAC-RAC as string, in a static buffer. * \param[in] rai RAI to encode. * \returns Static string buffer. @@ -189,10 +203,7 @@ const char *osmo_rai_name(const struct gprs_ra_id *rai) { static char buf[32]; - snprintf(buf, sizeof(buf), "%s-%s-%u-%u", - osmo_mcc_name(rai->mcc), osmo_mnc_name(rai->mnc, rai->mnc_3_digits), rai->lac, - rai->rac); - return buf; + return osmo_rai_name_buf(buf, sizeof(buf), rai); } /* FIXME: convert to value_string */ @@ -433,14 +444,15 @@ return get_value_string(mi_type_names, mi); } -/*! Return a human readable representation of a Mobile Identity in static buffer. +/*! Return a human readable representation of a Mobile Identity in caller-provided buffer. + * \param[out] buf caller-provided output buffer + * \param[in] buf_len size of buf in bytes * \param[in] mi Mobile Identity buffer containing 3GPP TS 04.08 style MI type and data. * \param[in] mi_len Length of mi. - * \return A string like "IMSI-1234567", "TMSI-0x1234ABCD" or "unknown", "TMSI-invalid"... + * \return buf */ -const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len) +char *osmo_mi_name_buf(char *buf, size_t buf_len, const uint8_t *mi, uint8_t mi_len) { - static char mi_name[10 + GSM48_MI_SIZE + 1]; uint8_t mi_type; uint32_t tmsi; char mi_string[GSM48_MI_SIZE]; @@ -452,8 +464,8 @@ /* Table 10.5.4.3, reverse generate_mid_from_tmsi */ if (mi_len == GSM48_TMSI_LEN && mi[0] == (0xf0 | GSM_MI_TYPE_TMSI)) { tmsi = osmo_load32be(&mi[1]); - snprintf(mi_name, sizeof(mi_name), "TMSI-0x%08" PRIX32, tmsi); - return mi_name; + snprintf(buf, buf_len, "TMSI-0x%08" PRIX32, tmsi); + return buf; } return "TMSI-invalid"; @@ -461,14 +473,25 @@ case GSM_MI_TYPE_IMEI: case GSM_MI_TYPE_IMEISV: osmo_bcd2str(mi_string, sizeof(mi_string), mi, 1, (mi_len * 2) - (mi[0] & GSM_MI_ODD ? 0 : 1), true); - snprintf(mi_name, sizeof(mi_name), "%s-%s", gsm48_mi_type_name(mi_type), mi_string); - return mi_name; + snprintf(buf, buf_len, "%s-%s", gsm48_mi_type_name(mi_type), mi_string); + return buf; default: return "unknown"; } } +/*! Return a human readable representation of a Mobile Identity in static buffer. + * \param[in] mi Mobile Identity buffer containing 3GPP TS 04.08 style MI type and data. + * \param[in] mi_len Length of mi. + * \return A string like "IMSI-1234567", "TMSI-0x1234ABCD" or "unknown", "TMSI-invalid"... + */ +const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len) +{ + static char mi_name[10 + GSM48_MI_SIZE + 1]; + return osmo_mi_name_buf(mi_name, sizeof(mi_name), mi, mi_len); +} + /*! Checks is particular message is cipherable in A/Gb mode according to * 3GPP TS 24.008 ? 4.7.1.2 * \param[in] hdr Message header @@ -1050,16 +1073,17 @@ { 0, NULL } }; -/*! Compose a string naming the message type for given protocol. +/*! Compose a string naming the message type for given protocol, in a caller-provided buffer. * If the message type string is known, return the message type name, otherwise * return ":". + * \param[out] buf caller-allcated output string buffer + * \param[in] buf_len size of buf in bytes * \param[in] pdisc protocol discriminator like GSM48_PDISC_MM * \param[in] msg_type message type like GSM48_MT_MM_LOC_UPD_REQUEST - * \returns statically allocated string or string constant. + * \returns buf */ -const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type) +char *gsm48_pdisc_msgtype_name_buf(char *buf, size_t buf_len, uint8_t pdisc, uint8_t msg_type) { - static char namebuf[64]; const struct value_string *msgt_names; switch (pdisc) { @@ -1081,11 +1105,23 @@ } if (msgt_names) - return get_value_string(msgt_names, msg_type); + snprintf(buf, buf_len, "%s", get_value_string(msgt_names, msg_type)); + else + snprintf(buf, buf_len, "%s:0x%02x", gsm48_pdisc_name(pdisc), msg_type); + return buf; +} - snprintf(namebuf, sizeof(namebuf), "%s:0x%02x", - gsm48_pdisc_name(pdisc), msg_type); - return namebuf; +/*! Compose a string naming the message type for given protocol, in a static buffer. + * If the message type string is known, return the message type name, otherwise + * return ":". + * \param[in] pdisc protocol discriminator like GSM48_PDISC_MM + * \param[in] msg_type message type like GSM48_MT_MM_LOC_UPD_REQUEST + * \returns statically allocated string or string constant. + */ +const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type) +{ + static char namebuf[64]; + return gsm48_pdisc_msgtype_name_buf(namebuf, sizeof(namebuf), pdisc, msg_type); } const struct value_string gsm48_reject_value_names[] = { @@ -1187,9 +1223,8 @@ * \param[in] cm Classmarks. * \returns A statically allocated string like "cm1{a5/1=supported} cm2{0x23= A5/2 A5/3} no-cm3" */ -const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm) +char *osmo_gsm48_classmark_a5_name_buf(char *buf, size_t buf_len, const struct osmo_gsm48_classmark *cm) { - static char buf[128]; char cm1[42] = "no-cm1"; char cm2[42] = " no-cm2"; char cm3[42] = " no-cm3"; @@ -1212,10 +1247,21 @@ cm->classmark3[0] & (1 << 2) ? " A5/6" : "", cm->classmark3[0] & (1 << 3) ? " A5/7" : ""); - snprintf(buf, sizeof(buf), "%s%s%s", cm1, cm2, cm3); + snprintf(buf, buf_len, "%s%s%s", cm1, cm2, cm3); return buf; } +/*! Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3. + * \param[in] cm Classmarks. + * \returns A statically allocated string like "cm1{a5/1=supported} cm2{0x23= A5/2 A5/3} no-cm3" + */ +const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm) +{ + static char buf[128]; + return osmo_gsm48_classmark_a5_name_buf(buf, sizeof(buf), cm); +} + + /*! Overwrite dst with the Classmark information present in src. * Add an new Classmark and overwrite in dst what src has to offer, but where src has no Classmark information, leave * dst unchanged. (For Classmark 2 and 3, dst will exactly match any non-zero Classmark length from src, hence may end diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index c9c15d5..f34d9ea 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -886,16 +886,21 @@ return (51 * ((time->t3 - time->t2 + 26) % 26) + time->t3 + (26 * 51 * time->t1)); } -char *osmo_dump_gsmtime(const struct gsm_time *tm) +char *osmo_dump_gsmtime_buf(char *buf, size_t buf_len, const struct gsm_time *tm) { - static char buf[64]; - - snprintf(buf, sizeof(buf), "%06"PRIu32"/%02"PRIu16"/%02"PRIu8"/%02"PRIu8"/%02"PRIu8, + snprintf(buf, buf_len, "%06"PRIu32"/%02"PRIu16"/%02"PRIu8"/%02"PRIu8"/%02"PRIu8, tm->fn, tm->t1, tm->t2, tm->t3, (uint8_t)tm->fn%52); buf[sizeof(buf)-1] = '\0'; return buf; } +char *osmo_dump_gsmtime(const struct gsm_time *tm) +{ + static char buf[64]; + return osmo_dump_gsmtime_buf(buf, sizeof(buf), tm); +} + + /*! append range1024 encoded data to bit vector * \param[out] bv Caller-provided output bit-vector * \param[in] r Input Range1024 sructure */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 3fadc5a..a69fb60 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -9,6 +9,7 @@ abis_nm_chcomb4pchan; abis_nm_debugp_foh; abis_nm_dump_foh; +abis_nm_dump_foh_buf; abis_nm_event_type_name; abis_nm_nack_cause_name; abis_nm_nack_name; @@ -225,6 +226,7 @@ gsm0808_permitted_speech_names; gsm0808_chosen_enc_alg_names; gsm0808_channel_type_name; +gsm0808_channel_type_name_buf; gsm0808_lcls_config_names; gsm0808_lcls_control_names; gsm0808_lcls_status_names; @@ -250,7 +252,9 @@ osmo_dec_gcr; osmo_gcr_eq; osmo_gcr_dump; +osmo_gcr_dump_buf; osmo_lcls_dump; +osmo_lcls_dump_buf; gsm0858_rsl_ul_meas_enc; @@ -345,6 +349,7 @@ gsm48_dtx_mode; gsm48_mi_type_name; osmo_mi_name; +osmo_mi_name_buf; gsm48_mcc_mnc_to_bcd; gsm48_mcc_mnc_from_bcd; gsm48_generate_lai2; @@ -354,14 +359,21 @@ osmo_plmn_to_bcd; osmo_plmn_from_bcd; osmo_mcc_name; +osmo_mcc_name_buf; osmo_mnc_name; +osmo_mnc_name_buf; osmo_plmn_name; +osmo_plmn_name_buf; osmo_plmn_name2; osmo_lai_name; +osmo_lai_name_buf; osmo_rai_name; +osmo_rai_name_buf; osmo_cgi_name; +osmo_cgi_name_buf; osmo_cgi_name2; osmo_gummei_name; +osmo_gummei_name_buf; osmo_mnc_from_str; osmo_mnc_cmp; osmo_plmn_cmp; @@ -378,6 +390,7 @@ gsm48_cc_msgtype_names; gsm48_cc_cause_names; gsm48_pdisc_msgtype_name; +gsm48_pdisc_msgtype_name_buf; gsm48_reject_value_names; gsm_7bit_decode; @@ -403,6 +416,7 @@ gsm_get_octet_len; gsm_gsmtime2fn; osmo_dump_gsmtime; +osmo_dump_gsmtime_buf; gsm_milenage; gsm_septet_encode; @@ -472,6 +486,7 @@ rsl_ccch_conf_to_bs_cc_chans; rsl_ccch_conf_to_bs_ccch_sdcch_comb; rsl_chan_nr_str; +rsl_chan_nr_str_buf; rsl_dec_chan_nr; rsl_enc_chan_nr; rsl_err_name; @@ -533,7 +548,9 @@ ipa_send; osmo_apn_qualify; +osmo_apn_qualify_buf; osmo_apn_qualify_from_imsi; +osmo_apn_qualify_from_imsi_buf; osmo_apn_to_str; osmo_apn_from_str; @@ -592,6 +609,7 @@ osmo_gsm48_classmark2_is_r99; osmo_gsm48_classmark_supports_a5; osmo_gsm48_classmark_a5_name; +osmo_gsm48_classmark_a5_name_buf; osmo_gsm48_classmark_update; local: *; diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index e610ebf..7bc6002 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -215,33 +215,47 @@ return 0; } -/*! Get human-readable string for RSL channel number */ -const char *rsl_chan_nr_str(uint8_t chan_nr) +/*! Get human-readable string for RSL channel number, in caller-provided buffer. + * \param[out] buf caller-provided output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] chan_nr channel number to be stringified + * \returns buf with string + */ +char *rsl_chan_nr_str_buf(char *buf, size_t buf_len, uint8_t chan_nr) { - static char str[20]; int ts = chan_nr & 7; uint8_t cbits = chan_nr >> 3; if (cbits == 0x01) - sprintf(str, "TCH/F on TS%d", ts); + snprintf(buf, buf_len, "TCH/F on TS%d", ts); else if ((cbits & 0x1e) == 0x02) - sprintf(str, "TCH/H(%u) on TS%d", cbits & 0x01, ts); + snprintf(buf, buf_len, "TCH/H(%u) on TS%d", cbits & 0x01, ts); else if ((cbits & 0x1c) == 0x04) - sprintf(str, "SDCCH/4(%u) on TS%d", cbits & 0x03, ts); + snprintf(buf, buf_len, "SDCCH/4(%u) on TS%d", cbits & 0x03, ts); else if ((cbits & 0x18) == 0x08) - sprintf(str, "SDCCH/8(%u) on TS%d", cbits & 0x07, ts); + snprintf(buf, buf_len, "SDCCH/8(%u) on TS%d", cbits & 0x07, ts); else if (cbits == 0x10) - sprintf(str, "BCCH on TS%d", ts); + snprintf(buf, buf_len, "BCCH on TS%d", ts); else if (cbits == 0x11) - sprintf(str, "RACH on TS%d", ts); + snprintf(buf, buf_len, "RACH on TS%d", ts); else if (cbits == 0x12) - sprintf(str, "PCH/AGCH on TS%d", ts); + snprintf(buf, buf_len, "PCH/AGCH on TS%d", ts); else if (cbits == 0x18) - sprintf(str, "PDCH on TS%d", ts); + snprintf(buf, buf_len, "PDCH on TS%d", ts); else - sprintf(str, "UNKNOWN on TS%d", ts); + snprintf(buf, buf_len, "UNKNOWN on TS%d", ts); - return str; + return buf; +} + +/*! Get human-readable string for RSL channel number, in static buffer. + * \param[in] chan_nr channel number to be stringified + * \returns buf with string + */ +const char *rsl_chan_nr_str(uint8_t chan_nr) +{ + static char str[20]; + return rsl_chan_nr_str_buf(str, sizeof(str), chan_nr); } static const struct value_string rsl_err_vals[] = { diff --git a/src/msgb.c b/src/msgb.c index 3902f6e..b7596f6 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -392,13 +392,14 @@ } -/*! Return a (static) buffer containing a hexdump of the msg - * \param[in] msg message buffer - * \returns a pointer to a static char array +/*! fill user-provided buffer with hexdump of the msg + * \param[out] buf caller-allocated buffer for output string + * \param[in] buf_len length of buf + * \param[in] msg message buffer to be dumped + * \returns buf */ -const char *msgb_hexdump(const struct msgb *msg) +char *msgb_hexdump_buf(char *buf, size_t buf_len, const struct msgb *msg) { - static char buf[4100]; int buf_offs = 0; int nchars; const unsigned char *start = msg->data; @@ -421,32 +422,32 @@ if (lxhs[i] > msg->tail) continue; if (lxhs[i] < msg->data || lxhs[i] > msg->tail) { - nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs, + nchars = snprintf(buf + buf_offs, buf_len - buf_offs, "(L%d=data%+" PRIdPTR ") ", i+1, lxhs[i] - msg->data); buf_offs += nchars; continue; } if (lxhs[i] < start) { - nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs, + nchars = snprintf(buf + buf_offs, buf_len - buf_offs, "(L%d%+" PRIdPTR ") ", i+1, start - lxhs[i]); buf_offs += nchars; continue; } - nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs, + nchars = snprintf(buf + buf_offs, buf_len - buf_offs, "%s[L%d]> ", osmo_hexdump(start, lxhs[i] - start), i+1); - if (nchars < 0 || nchars + buf_offs >= sizeof(buf)) + if (nchars < 0 || nchars + buf_offs >= buf_len) return "ERROR"; buf_offs += nchars; start = lxhs[i]; } - nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs, + nchars = snprintf(buf + buf_offs, buf_len - buf_offs, "%s", osmo_hexdump(start, msg->tail - start)); - if (nchars < 0 || nchars + buf_offs >= sizeof(buf)) + if (nchars < 0 || nchars + buf_offs >= buf_len) return "ERROR"; buf_offs += nchars; @@ -456,17 +457,17 @@ continue; if (lxhs[i] < msg->head || lxhs[i] > msg->head + msg->data_len) { - nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs, + nchars = snprintf(buf + buf_offs, buf_len - buf_offs, "(L%d out of range) ", i+1); } else if (lxhs[i] <= msg->data + msg->data_len && lxhs[i] > msg->tail) { - nchars = snprintf(buf + buf_offs, sizeof(buf) - buf_offs, + nchars = snprintf(buf + buf_offs, buf_len - buf_offs, "(L%d=tail%+" PRIdPTR ") ", i+1, lxhs[i] - msg->tail); } else continue; - if (nchars < 0 || nchars + buf_offs >= sizeof(buf)) + if (nchars < 0 || nchars + buf_offs >= buf_len) return "ERROR"; buf_offs += nchars; } @@ -474,6 +475,15 @@ return buf; } +/*! Return a (static) buffer containing a hexdump of the msg + * \param[in] msg message buffer + * \returns a pointer to a static char array + */ +const char *msgb_hexdump(const struct msgb *msg) +{ + static char buf[4100]; + return msgb_hexdump_buf(buf, sizeof(buf), msg); +} /*! Print a string to the end of message buffer. * \param[in] msg message buffer diff --git a/src/sim/core.c b/src/sim/core.c index a78cecc..998e836 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -267,10 +267,8 @@ return msg; } -/* FIXME: do we want to mark this as __thread? */ -static char sw_print_buf[256]; -char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in) { const struct osim_card_sw *csw; @@ -283,25 +281,29 @@ switch (csw->type) { case SW_TYPE_STR: - snprintf(sw_print_buf, sizeof(sw_print_buf), - "%04x (%s)", sw_in, csw->u.str); + snprintf(buf, buf_len, "%04x (%s)", sw_in, csw->u.str); break; default: goto ret_def; } - sw_print_buf[sizeof(sw_print_buf)-1] = '\0'; + buf[buf_len-1] = '\0'; - return sw_print_buf; + return buf; ret_def: - snprintf(sw_print_buf, sizeof(sw_print_buf), - "%04x (Unknown)", sw_in); - sw_print_buf[sizeof(sw_print_buf)-1] = '\0'; + snprintf(buf, buf_len, "%04x (Unknown)", sw_in); + buf[buf_len-1] = '\0'; - return sw_print_buf; + return buf; } +char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in) +{ + /* FIXME: do we want to mark this as __thread? */ + static char sw_print_buf[256]; + return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); +} const struct osim_card_sw *osim_find_sw(const struct osim_card_profile *cp, uint16_t sw_in) diff --git a/src/utils.c b/src/utils.c index 2d5bcb0..ec22cee 100644 --- a/src/utils.c +++ b/src/utils.c @@ -273,17 +273,20 @@ return out_buf; } -/*! Convert a sequence of unpacked bits to ASCII string +/*! Convert a sequence of unpacked bits to ASCII string, in user-supplied buffer. + * \param[out] buf caller-provided output string buffer + * \param[out] buf_len size of buf in bytes * \param[in] bits A sequence of unpacked bits * \param[in] len Length of bits + * \returns string representation in static buffer. */ -char *osmo_ubit_dump(const uint8_t *bits, unsigned int len) +char *osmo_ubit_dump_buf(char *buf, size_t buf_len, const uint8_t *bits, unsigned int len) { int i; - if (len > sizeof(hexd_buff)-1) - len = sizeof(hexd_buff)-1; - memset(hexd_buff, 0, sizeof(hexd_buff)); + if (len > buf_len-1) + len = buf_len-1; + memset(buf, 0, buf_len); for (i = 0; i < len; i++) { char outch; @@ -301,10 +304,20 @@ outch = 'E'; break; } - hexd_buff[i] = outch; + buf[i] = outch; } - hexd_buff[sizeof(hexd_buff)-1] = 0; - return hexd_buff; + buf[buf_len-1] = 0; + return buf; +} + +/*! Convert a sequence of unpacked bits to ASCII string, in static buffer. + * \param[in] bits A sequence of unpacked bits + * \param[in] len Length of bits + * \returns string representation in static buffer. + */ +char *osmo_ubit_dump(const uint8_t *bits, unsigned int len) +{ + return osmo_ubit_dump(hexd_buff, sizeof(hexd_buff), bits, len); } /*! Convert binary sequence to hexadecimal ASCII string -- To view, visit https://gerrit.osmocom.org/13310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf85f79e93244f53b2684ff6f1095c5b41203e05 Gerrit-Change-Number: 13310 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:07:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 11:07:59 +0000 Subject: Change in libosmocore[master]: Add _c versions of functions that otherwise return static buffers Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13311 Change subject: Add _c versions of functions that otherwise return static buffers ...................................................................... Add _c versions of functions that otherwise return static buffers We have a habit of returning static buffers from some functions, particularly when generating some kind of string values. This is convenient in terms of memory management, but it comes at the expense of not being thread-safe, and not allowing for two calls of the related function within one printf() statement. Let's introduce _c suffix versions of those functions where the caller passes in a talloc context from which the output buffer shall be allocated. Change-Id: I8481c19b68ff67cfa22abb93c405ebcfcb0ab19b --- M include/osmocom/core/msgb.h M include/osmocom/core/socket.h M include/osmocom/core/utils.h M include/osmocom/gprs/gprs_ns.h M include/osmocom/gsm/abis_nm.h M include/osmocom/gsm/apn.h M include/osmocom/gsm/gsm0808_utils.h M include/osmocom/gsm/gsm23003.h M include/osmocom/gsm/gsm48.h M include/osmocom/gsm/gsm_utils.h M include/osmocom/gsm/protocol/gsm_04_08.h M include/osmocom/gsm/rsl.h M include/osmocom/sim/sim.h M src/gb/gprs_ns.c M src/gb/libosmogb.map M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/libosmogsm.map M src/gsm/rsl.c M src/msgb.c M src/sim/core.c M src/socket.c M src/utils.c 27 files changed, 474 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/13311/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index 4299fb8..63bc151 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -60,6 +60,7 @@ unsigned char _data[0]; /*!< optional immediate data array */ }; +extern struct msgb *msgb_alloc_c(const void *ctx, uint16_t size, const char *name); extern struct msgb *msgb_alloc(uint16_t size, const char *name); extern void msgb_free(struct msgb *m); extern void msgb_enqueue(struct llist_head *queue, struct msgb *msg); @@ -68,9 +69,11 @@ uint16_t msgb_length(const struct msgb *msg); extern const char *msgb_hexdump(const struct msgb *msg); char *msgb_hexdump_buf(char *buf, size_t buf_len, const struct msgb *msg); +char *msgb_hexdump_c(const void *ctx, const struct msgb *msg); extern int msgb_resize_area(struct msgb *msg, uint8_t *area, int old_size, int new_size); extern struct msgb *msgb_copy(const struct msgb *msg, const char *name); +extern struct msgb *msgb_copy_c(const void *ctx, const struct msgb *msg, const char *name); static int msgb_test_invariant(const struct msgb *msg) __attribute__((pure)); /*! Free all msgbs from a queue built with msgb_enqueue(). @@ -501,6 +504,29 @@ return msgb_trim(msg, (msg->l3h - msg->data) + l3len); } +/*! Allocate message buffer with specified headroom from specified talloc context. + * \param[in] ctx talloc context from which to allocate + * \param[in] size size in bytes, including headroom + * \param[in] headroom headroom in bytes + * \param[in] name human-readable name + * \returns allocated message buffer with specified headroom + * + * This function is a convenience wrapper around \ref msgb_alloc + * followed by \ref msgb_reserve in order to create a new \ref msgb with + * user-specified amount of headroom. + */ +static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, int size, int headroom, + const char *name) +{ + osmo_static_assert(size > headroom, headroom_bigger); + + struct msgb *msg = msgb_alloc_c(ctx, size, name); + if (msg) + msgb_reserve(msg, headroom); + return msg; +} + + /*! Allocate message buffer with specified headroom * \param[in] size size in bytes, including headroom * \param[in] headroom headroom in bytes diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 4f6ed72..37b1eae 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -68,6 +68,7 @@ char *osmo_sock_get_name(const void *ctx, int fd); const char *osmo_sock_get_name2(int fd); +char *osmo_sock_get_name2_c(const void *ctx, int fd); int osmo_sock_get_name_buf(char *str, size_t str_len, int fd); int osmo_sock_get_ip_and_port(int fd, char *ip, size_t ip_len, char *port, size_t port_len, bool local); int osmo_sock_get_local_ip(int fd, char *host, size_t len); diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 22b2ca5..ddb4672 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -56,7 +56,9 @@ char *osmo_ubit_dump_buf(char *buf, size_t buf_len, const uint8_t *bits, unsigned int len); char *osmo_ubit_dump(const uint8_t *bits, unsigned int len); char *osmo_hexdump(const unsigned char *buf, int len); +char *osmo_hexdump_c(const void *ctx, const unsigned char *buf, int len); char *osmo_hexdump_nospc(const unsigned char *buf, int len); +char *osmo_hexdump_nospc_c(const void *ctx, const unsigned char *buf, int len); const char *osmo_hexdump_buf(char *out_buf, size_t out_buf_size, const unsigned char *buf, int len, const char *delim, bool delim_after_last); @@ -73,9 +75,11 @@ size_t osmo_str_tolower_buf(char *dest, size_t dest_len, const char *src); const char *osmo_str_tolower(const char *src); +char *osmo_str_tolower_c(const void *ctx, const char *src); size_t osmo_str_toupper_buf(char *dest, size_t dest_len, const char *src); const char *osmo_str_toupper(const char *src); +char *osmo_str_toupper_c(const void *ctx, const char *src); #define OSMO_SNPRINTF_RET(ret, rem, offset, len) \ do { \ @@ -139,8 +143,10 @@ const char *osmo_escape_str(const char *str, int len); const char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize); +char *osmo_escape_str_c(const void *ctx, const char *str, int in_len); const char *osmo_quote_str(const char *str, int in_len); const char *osmo_quote_str_buf(const char *str, int in_len, char *buf, size_t bufsize); +char *osmo_quote_str_c(const void *ctx, const char *str, int in_len); uint32_t osmo_isqrt32(uint32_t x); diff --git a/include/osmocom/gprs/gprs_ns.h b/include/osmocom/gprs/gprs_ns.h index ed155ff..02faa50 100644 --- a/include/osmocom/gprs/gprs_ns.h +++ b/include/osmocom/gprs/gprs_ns.h @@ -213,6 +213,7 @@ const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc); /* Return peer info in user-supplied buffer */ char *gprs_ns_ll_str_buf(char *buf, size_t buf_len, const struct gprs_nsvc *nsvc); +char *gprs_ns_ll_str_c(const void *ctx, const struct gprs_nsvc *nsvc); /* Copy the link layer info from other into nsvc */ void gprs_ns_ll_copy(struct gprs_nsvc *nsvc, struct gprs_nsvc *other); diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h index 788727c..ab5a5d5 100644 --- a/include/osmocom/gsm/abis_nm.h +++ b/include/osmocom/gsm/abis_nm.h @@ -43,6 +43,7 @@ const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh); char *abis_nm_dump_foh_buf(char *buf, size_t buf_len, const struct abis_om_fom_hdr *foh); +char *abis_nm_dump_foh_c(void *ctx, const struct abis_om_fom_hdr *foh); /*! write a human-readable OML header to the debug log * \param[in] ss Logging sub-system diff --git a/include/osmocom/gsm/apn.h b/include/osmocom/gsm/apn.h index 7899bb2..ab5f493 100644 --- a/include/osmocom/gsm/apn.h +++ b/include/osmocom/gsm/apn.h @@ -12,6 +12,7 @@ char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni); char *osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni); +char *osmo_apn_qualify_c(const void *ctx, unsigned int mcc, unsigned int mnc, const char *ni); /* Compose a string of the form '.mnc001.mcc002.gprs\0', returned in a * static buffer. */ @@ -19,6 +20,7 @@ const char *ni, int have_3dig_mnc); char *osmo_apn_qualify_from_imsi_buf(char *buf, size_t buf_len, const char *imsi, const char *ni, int have_3dig_mnc); +char *osmo_apn_qualify_from_imsi_c(const void *ctx, const char *imsi, const char *ni, int have_3dig_mnc); int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str); char *osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len); diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index e246967..47c4e95 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -70,6 +70,7 @@ char *osmo_lcls_dump(const struct osmo_lcls *lcls); char *osmo_lcls_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls); +char *osmo_lcls_dump_c(void *ctx, const struct osmo_lcls *lcls); char *osmo_gcr_dump(const struct osmo_lcls *lcls); char *osmo_gcr_dump_buf(char *buf, size_t buf_len, const struct osmo_lcls *lcls); @@ -79,8 +80,11 @@ const char *gsm0808_cell_id_name(const struct gsm0808_cell_id *cid); const char *gsm0808_cell_id_name2(const struct gsm0808_cell_id *cid); +char *gsm0808_cell_id_name_buf(char *buf, size_t buflen, const struct gsm0808_cell_id *cid); +char *gsm0808_cell_id_name_c(const void *ctx, const struct gsm0808_cell_id *cid); const char *gsm0808_cell_id_list_name(const struct gsm0808_cell_id_list2 *cil); int gsm0808_cell_id_list_name_buf(char *buf, size_t buflen, const struct gsm0808_cell_id_list2 *cil); +char *gsm0808_cell_id_list_name_c(const void *ctx, const struct gsm0808_cell_id_list2 *cil); int gsm0808_cell_id_u_name(char *buf, size_t buflen, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *u); bool gsm0808_cell_ids_match(const struct gsm0808_cell_id *id1, const struct gsm0808_cell_id *id2, bool exact_match); @@ -254,5 +258,6 @@ const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct); char *gsm0808_channel_type_name_buf(char *buf, size_t buf_len, const struct gsm0808_channel_type *ct); +char *gsm0808_channel_type_name_c(const void *ctx, const struct gsm0808_channel_type *ct); /*! @} */ diff --git a/include/osmocom/gsm/gsm23003.h b/include/osmocom/gsm/gsm23003.h index 88c4f3c..69f00f6 100644 --- a/include/osmocom/gsm/gsm23003.h +++ b/include/osmocom/gsm/gsm23003.h @@ -106,18 +106,24 @@ const char *osmo_mcc_name(uint16_t mcc); char *osmo_mcc_name_buf(char *buf, size_t buf_len, uint16_t mcc); +const char *osmo_mcc_name_c(const void *ctx, uint16_t mcc); const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits); char *osmo_mnc_name_buf(char *buf, size_t buf_len, uint16_t mnc, bool mnc_3_digits); +char *osmo_mnc_name_c(const void *ctx, uint16_t mnc, bool mnc_3_digits); const char *osmo_plmn_name(const struct osmo_plmn_id *plmn); const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn); char *osmo_plmn_name_buf(char *buf, size_t buf_len, const struct osmo_plmn_id *plmn); +char *osmo_plmn_name_c(const void *ctx, const struct osmo_plmn_id *plmn); const char *osmo_lai_name(const struct osmo_location_area_id *lai); char *osmo_lai_name_buf(char *buf, size_t buf_len, const struct osmo_location_area_id *lai); +char *osmo_lai_name_c(const void *ctx, const struct osmo_location_area_id *lai); const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi); const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi); char *osmo_cgi_name_buf(char *buf, size_t buf_len, const struct osmo_cell_global_id *cgi); +char *osmo_cgi_name_c(const void *ctx, const struct osmo_cell_global_id *cgi); const char *osmo_gummei_name(const struct osmo_gummei *gummei); char *osmo_gummei_name_buf(char *buf, size_t buf_len, const struct osmo_gummei *gummei); +char *osmo_gummei_name_c(const void *ctx, const struct osmo_gummei *gummei); void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn); void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn); diff --git a/include/osmocom/gsm/gsm48.h b/include/osmocom/gsm/gsm48.h index 81b2bf0..786fbc9 100644 --- a/include/osmocom/gsm/gsm48.h +++ b/include/osmocom/gsm/gsm48.h @@ -36,6 +36,7 @@ const char *rr_cause_name(uint8_t cause); const char *osmo_rai_name(const struct gprs_ra_id *rai); char *osmo_rai_name_buf(char *buf, size_t buf_len, const struct gprs_ra_id *rai); +char *osmo_rai_name_c(const void *ctx, const struct gprs_ra_id *rai); int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc, uint16_t *mnc, uint16_t *lac) @@ -57,6 +58,7 @@ const char *gsm48_mi_type_name(uint8_t mi); const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len); char *osmo_mi_name_buf(char *buf, size_t buf_len, const uint8_t *mi, uint8_t mi_len); +char *osmo_mi_name_c(const void *ctx, const uint8_t *mi, uint8_t mi_len); /* Parse Routeing Area Identifier */ void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf); diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 7de0623..aa5e79a 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -182,6 +182,7 @@ /* Returns static buffer with string representation of a GSM Time */ char *osmo_dump_gsmtime(const struct gsm_time *tm); char *osmo_dump_gsmtime_buf(char *buf, size_t buf_len, const struct gsm_time *tm); +char *osmo_dump_gsmtime_c(const void *ctx, const struct gsm_time *tm); /* GSM TS 03.03 Chapter 2.6 */ enum gprs_tlli_type { diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index c97df16..16910c3 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -71,6 +71,7 @@ int osmo_gsm48_classmark_supports_a5(const struct osmo_gsm48_classmark *cm, uint8_t a5); const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm); char *osmo_gsm48_classmark_a5_name_buf(char *buf, size_t buf_len, const struct osmo_gsm48_classmark *cm); +char *osmo_gsm48_classmark_a5_name_c(const void *ctx, const struct osmo_gsm48_classmark *cm); void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src); /* Chapter 10.5.2.1b.3 */ @@ -1645,6 +1646,7 @@ extern const struct value_string gsm48_cc_msgtype_names[]; const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type); char *gsm48_pdisc_msgtype_name_buf(char *buf, size_t buf_len, uint8_t pdisc, uint8_t msg_type); +char *gsm48_pdisc_msgtype_name_c(const void *ctx, uint8_t pdisc, uint8_t msg_type); /* FIXME: Table 10.4 / 10.4a (GPRS) */ diff --git a/include/osmocom/gsm/rsl.h b/include/osmocom/gsm/rsl.h index 4a1da3a..285dbc2 100644 --- a/include/osmocom/gsm/rsl.h +++ b/include/osmocom/gsm/rsl.h @@ -32,6 +32,7 @@ /* Turns channel number into a string */ char *rsl_chan_nr_str_buf(char *buf, size_t buf_len, uint8_t chan_nr); const char *rsl_chan_nr_str(uint8_t chan_nr); +char *rsl_chan_nr_str_c(const void *ctx, uint8_t chan_nr); const char *rsl_err_name(uint8_t err); diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 0490dcd..2bc4715 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -298,6 +298,7 @@ struct osim_card_hdl; char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in); char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in); +char *osim_print_sw_c(const void *ctx, const struct osim_card_hdl *ch, uint16_t sw_in); extern const struct tlv_definition ts102221_fcp_tlv_def; extern const struct value_string ts102221_fcp_vals[14]; diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index ea889ef..d126bc7 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -1552,6 +1552,14 @@ return gprs_ns_ll_str_buf(buf, sizeof(buf), nsvc); } +char *gprs_ns_ll_str_c(const void *ctx, const struct gprs_nsvc *nsvc) +{ + char *buf = talloc_size(ctx, INET6_ADDRSTRLEN+10); + if (!buf) + return buf; + return gprs_ns_ll_str_buf(buf, INET6_ADDRSTRLEN+10, nsvc); +} + void gprs_ns_ll_copy(struct gprs_nsvc *nsvc, struct gprs_nsvc *other) { nsvc->ll = other->ll; diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 21929da..5e675a6 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -65,6 +65,7 @@ gprs_ns_vty_init; gprs_ns_ll_str; gprs_ns_ll_str_buf; +gprs_ns_ll_str_c; gprs_ns_ll_copy; gprs_ns_ll_clear; gprs_ns_msgb_alloc; diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index e25fdd0..a4c0e41 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -943,6 +943,15 @@ return abis_nm_dump_foh_buf(foh_buf, sizeof(foh_buf), foh); } +char *abis_nm_dump_foh_c(void *ctx, const struct abis_om_fom_hdr *foh) +{ + size_t len = 15 /* format */ + 22 /* obj_class_name */+ 4*3 /* uint8 */ + 1 /*nul*/; + char *buf = talloc_size(ctx, len); + if (!buf) + return NULL; + return abis_nm_dump_foh_buf(buf, len, foh); +} + /* this is just for compatibility reasons, it is now a macro */ #undef abis_nm_debugp_foh OSMO_DEPRECATED("Use abis_nm_debugp_foh macro instead") diff --git a/src/gsm/apn.c b/src/gsm/apn.c index 4ab370c..88b45a4 100644 --- a/src/gsm/apn.c +++ b/src/gsm/apn.c @@ -24,6 +24,7 @@ #include #include #include +#include #include @@ -45,6 +46,13 @@ return osmo_apn_qualify_buf(apn_strbuf, sizeof(apn_strbuf), mcc, mnc, ni); } +char *osmo_apn_qualify_c(const void *ctx, unsigned int mcc, unsigned int mnc, const char *ni) +{ + char *buf = talloc_size(ctx, APN_MAXLEN); + if (!buf) + return NULL; + return osmo_apn_qualify_buf(buf, APN_MAXLEN, mcc, mnc, ni); +} char *osmo_apn_qualify_from_imsi_buf(char *buf, size_t buf_len, const char *imsi, const char *ni, int have_3dig_mnc) @@ -70,6 +78,14 @@ return osmo_apn_qualify_from_imsi_buf(apn_strbuf, sizeof(apn_strbuf), imsi, ni, have_3dig_mnc); } +char *osmo_apn_qualify_from_imsi_c(const void *ctx, const char *imsi, const char *ni, int have_3dig_mnc) +{ + char *buf = talloc_size(ctx, APN_MAXLEN); + if (!buf) + return NULL; + return osmo_apn_qualify_from_imsi_buf(buf, APN_MAXLEN, imsi, ni, have_3dig_mnc); +} + /** * Convert an encoded APN into a dot-separated string. * diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 52e4674..99cf188 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -622,6 +622,14 @@ return osmo_lcls_dump_buf(dbuf, sizeof(dbuf), lcls); } +char *osmo_lcls_dump_c(void *ctx, const struct osmo_lcls *lcls) +{ + char *buf = talloc_size(ctx, 256); + if (!buf) + return NULL; + return osmo_lcls_dump_buf(buf, 256, lcls); +} + /*! Dump GCR struct into string for printing. * \param[out] buf caller-allocated output string buffer * \param[in] buf_len size of buf in bytes @@ -1775,8 +1783,7 @@ #define APPEND_STR(fmt, args...) APPEND_THING(snprintf, fmt, ##args) #define APPEND_CELL_ID_U(DISCR, U) APPEND_THING(gsm0808_cell_id_u_name, DISCR, U) -static const char *gsm0808_cell_id_name_buf(const struct gsm0808_cell_id *cid, - char *buf, size_t buflen) +char *gsm0808_cell_id_name_buf(char *buf, size_t buflen, const struct gsm0808_cell_id *cid) { char *pos = buf; int total_len = 0; @@ -1793,7 +1800,7 @@ const char *gsm0808_cell_id_name(const struct gsm0808_cell_id *cid) { static char buf[64]; - return gsm0808_cell_id_name_buf(cid, buf, sizeof(buf)); + return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } /*! Like gsm0808_cell_id_name() but uses a different static buffer. @@ -1803,7 +1810,15 @@ const char *gsm0808_cell_id_name2(const struct gsm0808_cell_id *cid) { static char buf[64]; - return gsm0808_cell_id_name_buf(cid, buf, sizeof(buf)); + return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); +} + +char *gsm0808_cell_id_name_c(const void *ctx, const struct gsm0808_cell_id *cid) +{ + char *buf = talloc_size(ctx, 64); + if (!buf) + return NULL; + return gsm0808_cell_id_name_buf(buf, 64, cid); } /*! Return a human readable representation of the Cell Identifier List, like @@ -1856,6 +1871,15 @@ return buf; } +char *gsm0808_cell_id_list_name_c(const void *ctx, const struct gsm0808_cell_id_list2 *cil) +{ + char *buf = talloc_size(ctx, 1024); + if (!buf) + return NULL; + gsm0808_cell_id_list_name_buf(buf, 1024, cil); + return buf; +} + #undef APPEND_STR #undef APPEND_CELL_ID_U @@ -1873,4 +1897,12 @@ return gsm0808_channel_type_name_buf(buf, sizeof(buf), ct); } +char *gsm0808_channel_type_name_c(const void *ctx, const struct gsm0808_channel_type *ct) +{ + char *buf = talloc_size(ctx, 128); + if (!buf) + return NULL; + return gsm0808_channel_type_name_buf(buf, 128, ct); +} + /*! @} */ diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index b189cce..b317d47 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -111,6 +111,19 @@ return osmo_mcc_name_buf(buf, sizeof(buf), mcc); } +/*! Return MCC string as standardized 3-digit with leading zeros, into a talloc-allocated buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] mcc MCC value. + * \returns string in dynamically allocated buffer. + */ +const char *osmo_mcc_name_c(const void *ctx, uint16_t mcc) +{ + char *buf = talloc_size(ctx, 8); + if (!buf) + return NULL; + return osmo_mcc_name_buf(buf, 8, mcc); +} + /*! Return MNC string as standardized 2- or 3-digit with leading zeros. * \param[out] buf caller-allocated output buffer * \param[in] buf_len size of buf in bytes @@ -124,6 +137,20 @@ return buf; } +/*! Return MNC string as standardized 2- or 3-digit with leading zeros, into a talloc-allocated buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] mnc MNC value. + * \param[in] mnc_3_digits True if an MNC should fill three digits, only has an effect if MNC < 100. + * \returns string in dynamically allocated buffer. + */ +char *osmo_mnc_name_c(const void *ctx, uint16_t mnc, bool mnc_3_digits) +{ + char *buf = talloc_size(ctx, 8); + if (!buf) + return buf; + return osmo_mnc_name_buf(buf, 8, mnc, mnc_3_digitis); +} + /*! Return MNC string as standardized 2- or 3-digit with leading zeros. * \param[in] mnc MNC value. * \param[in] mnc_3_digits True if an MNC should fill three digits, only has an effect if MNC < 100. @@ -170,6 +197,20 @@ return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } +/*! Return MCC-MNC string as standardized 3-digit-dash-2/3-digit with leading zeros, into + * a dynamically-allocated output buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] plmn MCC-MNC value. + * \returns string in dynamically allocated buffer. + */ +char *osmo_plmn_name_c(const void *ctx, const struct osmo_plmn_id *plmn) +{ + char *buf = talloc_size(ctx, 16); + if (!buf) + return NULL; + return osmo_plmn_name_buf(buf, 16, plmn); +} + /*! Return MCC-MNC-LAC as string, in caller-provided output buffer * \param[out] buf caller-allocated output buffer * \param[in] buf_len size of buf in bytes @@ -193,6 +234,19 @@ return osmo_lai_name_buf(buf, sizeof(buf), lai); } +/*! Return MCC-MNC-LAC as string, in a talloc-allocated output buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] lai LAI to encode, the rac member is ignored. + * \returns string representation of lai in dynamically allocated buffer. + */ +char *osmo_lai_name_c(const void *ctx, const struct osmo_location_area_id *lai) +{ + char *buf = talloc_size(ctx, 32); + if (!buf) + return NULL; + return osmo_lai_name_buf(buf, 32, lai); +} + /*! Return MCC-MNC-LAC-CI as string, in caller-provided output buffer * \param[out] buf caller-allocated output buffer * \param[in] buf_len size of buf in bytes @@ -226,6 +280,17 @@ return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } +/*! Return MCC-MNC-LAC-CI as string, in a talloc-allocated output buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] cgi CGI to encode. + * \returns string representation of CGI in dynamically-allocated buffer. + */ +char *osmo_cgi_name_c(const void *ctx, const struct osmo_cell_global_id *cgi) +{ + char *buf = talloc_size(ctx, 32); + return osmo_cgi_name_buf(buf, 32, cgi); +} + static void to_bcd(uint8_t *bcd, uint16_t val) { bcd[2] = val % 10; @@ -259,6 +324,19 @@ return osmo_gummei_name_buf(buf, sizeof(buf), gummei); } +/*! Return string representation of GUMMEI in static output buffer + * \param[out] buf pointer to caller-provided output buffer + * \param[in] buf_len size of buf in bytes + * \param[in] gummei GUMMEI to be stringified + * \returns pointer to static output buffer + */ +char *osmo_gummei_name_c(const void *ctx, const struct osmo_gummei *gummei) +{ + char *buf = talloc_size(ctx, 32); + if (!buf) + return NULL; + return osmo_gummei_name_buf(buf, 32, gummei); +} /* Convert MCC + MNC to BCD representation * \param[out] bcd_dst caller-allocated memory for output diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index a45d67b..c2c19cf 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -206,6 +207,19 @@ return osmo_rai_name_buf(buf, sizeof(buf), rai); } +/*! Return MCC-MNC-LAC-RAC as string, in dynamically-allocated output buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] rai RAI to encode. + * \returns string representation in dynamically-allocated output buffer. + */ +char *osmo_rai_name_c(const void *ctx, const struct gprs_ra_id *rai) +{ + char *buf = talloc_size(ctx, 32); + if (!buf) + return NULL; + return osmo_rai_name_buf(buf, 32, rai); +} + /* FIXME: convert to value_string */ static const char *cc_state_names[32] = { "NULL", @@ -492,6 +506,22 @@ return osmo_mi_name_buf(mi_name, sizeof(mi_name), mi, mi_len); } +/*! Return a human readable representation of a Mobile Identity in dynamically-allocated buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] mi Mobile Identity buffer containing 3GPP TS 04.08 style MI type and data. + * \param[in] mi_len Length of mi. + * \return A string like "IMSI-1234567", "TMSI-0x1234ABCD" or "unknown", "TMSI-invalid" in a + * dynamically-allocated output buffer. + */ +char *osmo_mi_name_c(const void *ctx, const uint8_t *mi, uint8_t mi_len) +{ + size_t buf_len = 10 + GSM48_MI_SIZE + 1; + char *mi_name = talloc_size(ctx, buf_len); + if (!mi_name) + return NULL; + return osmo_mi_name_buf(mi_name, buf_len, mi, mi_len); +} + /*! Checks is particular message is cipherable in A/Gb mode according to * 3GPP TS 24.008 ? 4.7.1.2 * \param[in] hdr Message header @@ -1124,6 +1154,22 @@ return gsm48_pdisc_msgtype_name_buf(namebuf, sizeof(namebuf), pdisc, msg_type); } +/*! Compose a string naming the message type for given protocol, in a dynamically-allocated buffer. + * If the message type string is known, return the message type name, otherwise + * return ":". + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] pdisc protocol discriminator like GSM48_PDISC_MM + * \param[in] msg_type message type like GSM48_MT_MM_LOC_UPD_REQUEST + * \returns string representation in dynamically allocated output buffer. + */ +char *gsm48_pdisc_msgtype_name_c(const void *ctx, uint8_t pdisc, uint8_t msg_type) +{ + char *namebuf = talloc_size(ctx, 64); + if (!namebuf) + return NULL; + return gsm48_pdisc_msgtype_name_buf(namebuf, 64, pdisc, msg_type); +} + const struct value_string gsm48_reject_value_names[] = { { GSM48_REJECT_IMSI_UNKNOWN_IN_HLR, "IMSI_UNKNOWN_IN_HLR" }, { GSM48_REJECT_ILLEGAL_MS, "ILLEGAL_MS" }, @@ -1261,6 +1307,19 @@ return osmo_gsm48_classmark_a5_name_buf(buf, sizeof(buf), cm); } +/*! Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] cm Classmarks. + * \returns string like "cm1{a5/1=supported} cm2{0x23= A5/2 A5/3} no-cm3" in dynamically-allocated + * output buffer. + */ +char *osmo_gsm48_classmark_a5_name_c(const void *ctx, const struct osmo_gsm48_classmark *cm) +{ + char *buf = talloc_size(ctx, 128); + if (!buf) + return NULL; + return osmo_gsm48_classmark_a5_name_buf(buf, 128, cm); +} /*! Overwrite dst with the Classmark information present in src. * Add an new Classmark and overwrite in dst what src has to offer, but where src has no Classmark information, leave diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index f34d9ea..6619177 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -900,6 +900,13 @@ return osmo_dump_gsmtime_buf(buf, sizeof(buf), tm); } +char *osmo_dump_gsmtime_c(const void *ctx, const struct gsm_time *tm) +{ + char *buf = talloc_size(ctx, 64); + if (!buf) + return NULL; + return osmo_dump_gsmtime_buf(buf, 64, tm); +} /*! append range1024 encoded data to bit vector * \param[out] bv Caller-provided output bit-vector diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index a69fb60..56481fd 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -10,6 +10,7 @@ abis_nm_debugp_foh; abis_nm_dump_foh; abis_nm_dump_foh_buf; +abis_nm_dump_foh_c; abis_nm_event_type_name; abis_nm_nack_cause_name; abis_nm_nack_name; @@ -212,8 +213,11 @@ gsm0808_dec_cell_id; gsm0808_cell_id_name; gsm0808_cell_id_name2; +gsm0808_cell_id_name_buf; +gsm0808_cell_id_name_c; gsm0808_cell_id_list_name; gsm0808_cell_id_list_name_buf; +gsm0808_cell_id_list_name_c; gsm0808_cell_id_discr_names; gsm0808_cell_id_u_name; gsm0808_cell_ids_match; @@ -227,6 +231,7 @@ gsm0808_chosen_enc_alg_names; gsm0808_channel_type_name; gsm0808_channel_type_name_buf; +gsm0808_channel_type_name_c; gsm0808_lcls_config_names; gsm0808_lcls_control_names; gsm0808_lcls_status_names; @@ -255,6 +260,7 @@ osmo_gcr_dump_buf; osmo_lcls_dump; osmo_lcls_dump_buf; +osmo_lcls_dump_c; gsm0858_rsl_ul_meas_enc; @@ -350,6 +356,7 @@ gsm48_mi_type_name; osmo_mi_name; osmo_mi_name_buf; +osmo_mi_name_c; gsm48_mcc_mnc_to_bcd; gsm48_mcc_mnc_from_bcd; gsm48_generate_lai2; @@ -360,20 +367,27 @@ osmo_plmn_from_bcd; osmo_mcc_name; osmo_mcc_name_buf; +osmo_mcc_name_c; osmo_mnc_name; osmo_mnc_name_buf; +osmo_mnc_name_c; osmo_plmn_name; osmo_plmn_name_buf; +osmo_plmn_name_c; osmo_plmn_name2; osmo_lai_name; osmo_lai_name_buf; +osmo_lai_name_c; osmo_rai_name; osmo_rai_name_buf; +osmo_rai_name_c; osmo_cgi_name; osmo_cgi_name_buf; +osmo_cgi_name_c; osmo_cgi_name2; osmo_gummei_name; osmo_gummei_name_buf; +osmo_gummei_name_c; osmo_mnc_from_str; osmo_mnc_cmp; osmo_plmn_cmp; @@ -391,6 +405,7 @@ gsm48_cc_cause_names; gsm48_pdisc_msgtype_name; gsm48_pdisc_msgtype_name_buf; +gsm48_pdisc_msgtype_name_c; gsm48_reject_value_names; gsm_7bit_decode; @@ -417,6 +432,7 @@ gsm_gsmtime2fn; osmo_dump_gsmtime; osmo_dump_gsmtime_buf; +osmo_dump_gsmtime_c; gsm_milenage; gsm_septet_encode; @@ -487,6 +503,7 @@ rsl_ccch_conf_to_bs_ccch_sdcch_comb; rsl_chan_nr_str; rsl_chan_nr_str_buf; +rsl_chan_nr_str_c; rsl_dec_chan_nr; rsl_enc_chan_nr; rsl_err_name; @@ -549,8 +566,10 @@ osmo_apn_qualify; osmo_apn_qualify_buf; +osmo_apn_qualify_c; osmo_apn_qualify_from_imsi; osmo_apn_qualify_from_imsi_buf; +osmo_apn_qualify_from_imsi_c; osmo_apn_to_str; osmo_apn_from_str; @@ -610,6 +629,7 @@ osmo_gsm48_classmark_supports_a5; osmo_gsm48_classmark_a5_name; osmo_gsm48_classmark_a5_name_buf; +osmo_gsm48_classmark_a5_name_c; osmo_gsm48_classmark_update; local: *; diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 7bc6002..1777479 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -258,6 +258,19 @@ return rsl_chan_nr_str_buf(str, sizeof(str), chan_nr); } +/*! Get human-readable string for RSL channel number, in dynamically-allocated buffer. + * \param[in] ctx talloc context from which to allocate output buffer + * \param[in] chan_nr channel number to be stringified + * \returns dynamically-allocated buffer with string representation + */ +char *rsl_chan_nr_str_c(const void *ctx, uint8_t chan_nr) +{ + char *str = talloc_size(ctx, 20); + if (!str) + return NULL; + return rsl_chan_nr_str_buf(str, 20, chan_nr); +} + static const struct value_string rsl_err_vals[] = { { RSL_ERR_RADIO_IF_FAIL, "Radio Interface Failure" }, { RSL_ERR_RADIO_LINK_FAIL, "Radio Link Failure" }, diff --git a/src/msgb.c b/src/msgb.c index b7596f6..b57a205 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -64,9 +64,8 @@ #include #include -void *tall_msgb_ctx = NULL; - -/*! Allocate a new message buffer +/*! Allocate a new message buffer from given talloc cotext + * \param[in] ctx talloc context from which to allocate * \param[in] size Length in octets, including headroom * \param[in] name Human-readable name to be associated with msgb * \returns dynamically-allocated \ref msgb @@ -75,11 +74,11 @@ * memory buffer for the actual message data (size specified by \a size) * using the talloc memory context previously set by \ref msgb_set_talloc_ctx */ -struct msgb *msgb_alloc(uint16_t size, const char *name) +struct msgb *msgb_alloc_c(const void *ctx, uint16_t size, const char *name) { struct msgb *msg; - msg = talloc_named_const(tall_msgb_ctx, sizeof(*msg) + size, name); + msg = talloc_named_const(ctx, sizeof(*msg) + size, name); if (!msg) { LOGP(DLGLOBAL, LOGL_FATAL, "Unable to allocate a msgb: " "name='%s', size=%u\n", name, size); @@ -98,6 +97,24 @@ return msg; } +/* default msgb allocation context for msgb_alloc() */ +void *tall_msgb_ctx = NULL; + +/*! Allocate a new message buffer from tall_msgb_ctx + * \param[in] size Length in octets, including headroom + * \param[in] name Human-readable name to be associated with msgb + * \returns dynamically-allocated \ref msgb + * + * This function allocates a 'struct msgb' as well as the underlying + * memory buffer for the actual message data (size specified by \a size) + * using the talloc memory context previously set by \ref msgb_set_talloc_ctx + */ +struct msgb *msgb_alloc(uint16_t size, const char *name) +{ + return msgb_alloc_c(tall_msgb_ctx, size, name); +} + + /*! Release given message buffer * \param[in] m Message buffer to be freed */ @@ -309,11 +326,11 @@ * \param[in] msg The old msgb object * \param[in] name Human-readable name to be associated with msgb */ -struct msgb *msgb_copy(const struct msgb *msg, const char *name) +struct msgb *msgb_copy_c(const void *ctx, const struct msgb *msg, const char *name) { struct msgb *new_msg; - new_msg = msgb_alloc(msg->data_len, name); + new_msg = msgb_alloc_c(ctx, msg->data_len, name); if (!new_msg) return NULL; @@ -338,6 +355,19 @@ return new_msg; } +/*! Copy an msgb. + * + * This function allocates a new msgb, copies the data buffer of msg, + * and adjusts the pointers (incl l1h-l4h) accordingly. The cb part + * is not copied. + * \param[in] msg The old msgb object + * \param[in] name Human-readable name to be associated with msgb + */ +struct msgb *msgb_copy(const struct msgb *msg, const char *name) +{ + return msgb_copy_c(tall_msgb_ctx, msg, name); +} + /*! Resize an area within an msgb * * This resizes a sub area of the msgb data and adjusts the pointers (incl @@ -485,6 +515,19 @@ return msgb_hexdump_buf(buf, sizeof(buf), msg); } +/*! Return a dynamically allocated buffer containing a hexdump of the msg + * \param[in] ctx talloc context from where to allocate the output string + * \param[in] msg message buffer + * \returns a pointer to a static char array + */ +char *msgb_hexdump_c(const void *ctx, const struct msgb *msg) +{ + char *buf = talloc_size(ctx, msgb_length(msg)*3 + 100); + if (!buf) + return NULL; + return msgb_hexdump_buf(buf, sizeof(buf), msg); +} + /*! Print a string to the end of message buffer. * \param[in] msg message buffer * \returns 0 on success, -EINVAL on error diff --git a/src/sim/core.c b/src/sim/core.c index 998e836..63b3000 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -305,6 +305,14 @@ return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); } +char *osim_print_sw_c(const void *ctx, const struct osim_card_hdl *ch, uint16_t sw_in) +{ + char *buf = talloc_size(ctx, 256); + if (!buf) + return NULL; + return osim_print_sw_buf(buf, 256, ch, sw_in); +} + const struct osim_card_sw *osim_find_sw(const struct osim_card_profile *cp, uint16_t sw_in) { diff --git a/src/socket.c b/src/socket.c index 6a3f254..eaa9fb5 100644 --- a/src/socket.c +++ b/src/socket.c @@ -827,6 +827,20 @@ return str; } +/*! Get address/port information on socket in static string, like "r=1.2.3.4:5<->l=6.7.8.9:10". + * This does not include braces like osmo_sock_get_name(). + * \param[in] fd File descriptor of socket. + * \return Static string buffer containing the result. + */ +char *osmo_sock_get_name2_c(const void *ctx, int fd) +{ + char *str = talloc_size(ctx, OSMO_SOCK_NAME_MAXLEN); + if (!str) + return NULL; + osmo_sock_get_name_buf(str, sizeof(str), fd); + return str; +} + static int sock_get_domain(int fd) { int domain; diff --git a/src/utils.c b/src/utils.c index ec22cee..91be3aa 100644 --- a/src/utils.c +++ b/src/utils.c @@ -338,6 +338,27 @@ } /*! Convert binary sequence to hexadecimal ASCII string + * \param[in] ctx talloc context from where to allocate the output string + * \param[in] buf pointer to sequence of bytes + * \param[in] len length of buf in number of bytes + * \returns pointer to zero-terminated string + * + * This function will print a sequence of bytes as hexadecimal numbers, + * adding one space character between each byte (e.g. "1a ef d9") + * + * The maximum size of the output buffer is 4096 bytes, i.e. the maximum + * number of input bytes that can be printed in one call is 1365! + */ +char *osmo_hexdump_c(const void *ctx, const unsigned char *buf, int len) +{ + char *hexd_buff = talloc_size(ctx, len*3 + 1); + if (!hexd_buff) + return NULL; + osmo_hexdump_buf(hexd_buff, sizeof(hexd_buff), buf, len, " ", true); + return hexd_buff; +} + +/*! Convert binary sequence to hexadecimal ASCII string * \param[in] buf pointer to sequence of bytes * \param[in] len length of buf in number of bytes * \returns pointer to zero-terminated string @@ -354,6 +375,28 @@ return hexd_buff; } +/*! Convert binary sequence to hexadecimal ASCII string + * \param[in] ctx talloc context from where to allocate the output string + * \param[in] buf pointer to sequence of bytes + * \param[in] len length of buf in number of bytes + * \returns pointer to zero-terminated string + * + * This function will print a sequence of bytes as hexadecimal numbers, + * without any space character between each byte (e.g. "1aefd9") + * + * The maximum size of the output buffer is 4096 bytes, i.e. the maximum + * number of input bytes that can be printed in one call is 2048! + */ +char *osmo_hexdump_nospc_c(const void *ctx, const unsigned char *buf, int len) +{ + char *hexd_buff = talloc_size(ctx, len*2 + 1); + if (!hexd_buff) + return NULL; + osmo_hexdump_buf(hexd_buff, sizeof(hexd_buff), buf, len, "", true); + return hexd_buff; +} + + /* Compat with previous typo to preserve abi */ char *osmo_osmo_hexdump_nospc(const unsigned char *buf, int len) #if defined(__MACH__) && defined(__APPLE__) @@ -638,6 +681,19 @@ return osmo_escape_str_buf(str, in_len, namebuf, sizeof(namebuf)); } +/*! Return the string with all non-printable characters escaped, in dynamically-allocated buffer. + * \param[in] str A string that may contain any characters. + * \param[in] len Pass -1 to print until nul char, or >= 0 to force a length. + * \returns dynamically-allocated output buffer, containing an escaped representation + */ +char *osmo_escape_str_c(const void *ctx, const char *str, int in_len) +{ + char *buf = talloc_size(ctx, in_len+1); + if (!buf) + return NULL; + return osmo_escape_str_buf(str, in_len, buf, in_len+1); +} + /*! Like osmo_escape_str(), but returns double-quotes around a string, or "NULL" for a NULL string. * This allows passing any char* value and get its C representation as string. * \param[in] str A string that may contain any characters. @@ -682,6 +738,20 @@ return osmo_quote_str_buf(str, in_len, namebuf, sizeof(namebuf)); } +/*! Like osmo_quote_str_buf() but returns the result in a dynamically-allocated buffer. + * The static buffer is shared with get_value_string() and osmo_escape_str(). + * \param[in] str A string that may contain any characters. + * \param[in] in_len Pass -1 to print until nul char, or >= 0 to force a length. + * \returns dynamically-allocated buffer containing a quoted and escaped representation. + */ +char *osmo_quote_str_c(const void *ctx, const char *str, int in_len) +{ + char *buf = talloc_size(ctx, OSMO_MAX(in_len, 32)); + if (!buf) + return NULL; + return osmo_quote_str_buf(str, in_len, buf, 32); +} + /*! perform an integer square root operation on unsigned 32bit integer. * This implementation is taken from "Hacker's Delight" Figure 11-1 "Integer square root, Newton's * method", which can also be found at http://www.hackersdelight.org/hdcodetxt/isqrt.c.txt */ @@ -765,6 +835,21 @@ return buf; } +/*! Convert a string to lowercase, dynamically allocating the output from given talloc context + * See also osmo_str_tolower_buf(). + * \param[in] ctx talloc context from where to allocate the output string + * \param[in] src String to convert to lowercase. + * \returns Resulting lowercase string in a dynamically allocated buffer, always nul terminated. + */ +char *osmo_str_tolower_c(const void *ctx, const char *src) +{ + char *buf = talloc_size(ctx, strlen(src)+1); + if (!buf) + return NULL; + osmo_str_tolower_buf(buf, sizeof(buf), src); + return buf; +} + /*! Convert a string to uppercase, while checking buffer size boundaries. * The result written to \a dest is guaranteed to be nul terminated if \a dest_len > 0. * If dest == src, the string is converted in-place, if necessary truncated at dest_len - 1 characters @@ -808,6 +893,21 @@ return buf; } +/*! Convert a string to uppercase, dynamically allocating the output from given talloc context + * See also osmo_str_tolower_buf(). + * \param[in] ctx talloc context from where to allocate the output string + * \param[in] src String to convert to uppercase. + * \returns Resulting uppercase string in a dynamically allocated buffer, always nul terminated. + */ +char *osmo_str_toupper_c(const void *ctx, const char *src) +{ + char *buf = talloc_size(ctx, strlen(src)+1); + if (!buf) + return NULL; + osmo_str_toupper_buf(buf, sizeof(buf), src); + return buf; +} + /*! Calculate the Luhn checksum (as used for IMEIs). * \param[in] in Input digits in ASCII string representation. * \param[in] in_len Count of digits to use for the input (14 for IMEI). -- To view, visit https://gerrit.osmocom.org/13311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8481c19b68ff67cfa22abb93c405ebcfcb0ab19b Gerrit-Change-Number: 13311 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:08:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 11:08:00 +0000 Subject: Change in libosmocore[master]: context: Add support for [per-thread] global talloc contexts Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13312 Change subject: context: Add support for [per-thread] global talloc contexts ...................................................................... context: Add support for [per-thread] global talloc contexts Rather than having applications maintain their own talloc cotexts, let's offer some root talloc contexts in libosmocore. Let's also make them per thread right from the beginning. This will help some multi-threaded applications to use talloc in a thread-safe way. Change-Id: Iae39cd57274bf6753ecaf186f229e582b42662e3 --- M include/Makefile.am A include/osmocom/core/context.h M src/Makefile.am A src/context.c M src/select.c 5 files changed, 58 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/13312/1 diff --git a/include/Makefile.am b/include/Makefile.am index 17f7d1c..7389e63 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -13,6 +13,7 @@ osmocom/core/bitvec.h \ osmocom/core/bitcomp.h \ osmocom/core/byteswap.h \ + osmocom/core/context.h \ osmocom/core/conv.h \ osmocom/core/counter.h \ osmocom/core/crc16.h \ diff --git a/include/osmocom/core/context.h b/include/osmocom/core/context.h new file mode 100644 index 0000000..28a8dae --- /dev/null +++ b/include/osmocom/core/context.h @@ -0,0 +1,20 @@ +#pragma once + +/*! per-thread talloc contexts. This works around the problem that talloc is not + * thread-safe. However, one can simply have a different set of talloc contexts for each + * thread, and ensure that allocations made on one thread are always only free'd on that + * very same thread. + * WARNING: Users must make sure they free() on the same thread as they allocate!! */ +struct osmo_talloc_contexts { + /*! global per-thread talloc context. */ + void *global; + /*! volatile select-dispatch context. This context is completely free'd and + * re-created every time the main select loop in osmo_select_main() returns from + * select(2) and calls per-fd callback functions. This allows users of this + * facility to allocate temporary objects like string buffers, message buffers + * and the like which are automatically free'd when going into the next select() + * system call */ + void *select; +}; + +extern __thread struct osmo_talloc_contexts *osmo_ctx; diff --git a/src/Makefile.am b/src/Makefile.am index 27ab702..54e9280 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -13,7 +13,7 @@ lib_LTLIBRARIES = libosmocore.la libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) -libosmocore_la_SOURCES = timer.c timer_gettimeofday.c timer_clockgettime.c \ +libosmocore_la_SOURCES = context.c timer.c timer_gettimeofday.c timer_clockgettime.c \ select.c signal.c msgb.c bits.c \ bitvec.c bitcomp.c counter.c fsm.c \ write_queue.c utils.c socket.c \ diff --git a/src/context.c b/src/context.c new file mode 100644 index 0000000..7163178 --- /dev/null +++ b/src/context.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include + +__thread struct osmo_talloc_contexts *osmo_ctx; + +int osmo_ctx_init(const char *id) +{ + osmo_ctx = talloc_named(NULL, sizeof(*osmo_ctx), "global-%s", id); + if (!osmo_ctx) + return -ENOMEM; + memset(osmo_ctx, 0, sizeof(*osmo_ctx)); + osmo_ctx->global = osmo_ctx; + return 0; +} + +/* initialize osmo_ctx on main tread */ +static __attribute__((constructor)) void on_dso_load_ctx(void) +{ + osmo_ctx_init("main"); +} diff --git a/src/select.c b/src/select.c index 4e7be35..f5ad174 100644 --- a/src/select.c +++ b/src/select.c @@ -36,6 +36,9 @@ #include #include #include +#include +#include +#include #include "../config.h" @@ -259,8 +262,18 @@ /* fire timers */ osmo_timers_update(); + /* create new volatile 'select' scope context */ + OSMO_ASSERT(!osmo_ctx->select); + osmo_ctx->select = talloc_named_const(osmo_ctx->global, 0, "select"); + OSMO_ASSERT(osmo_ctx->select); + /* call registered callback functions */ - return osmo_fd_disp_fds(&readset, &writeset, &exceptset); + rc = osmo_fd_disp_fds(&readset, &writeset, &exceptset); + + /* free the volatile 'select' scope context and any of its siblings */ + talloc_free(osmo_ctx->select); + osmo_ctx->select = NULL; + return rc; } /*! find an osmo_fd based on the integer fd -- To view, visit https://gerrit.osmocom.org/13312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iae39cd57274bf6753ecaf186f229e582b42662e3 Gerrit-Change-Number: 13312 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:09:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 11:09:57 +0000 Subject: Change in libosmocore[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13308 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 Gerrit-Change-Number: 13308 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 11:09:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:27:55 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 Mar 2019 11:27:55 +0000 Subject: Change in osmo-hlr[master]: hlr.c: properly terminate the process on SIGTERM Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13313 Change subject: hlr.c: properly terminate the process on SIGTERM ...................................................................... hlr.c: properly terminate the process on SIGTERM As per the systemd.kill manual, when a service is going to be stopped by systemd, the process will first be terminated via SIGTERM. If then, after a delay, processes still remain, the the termination request is repeated with the SIGKILL. It was observed that osmo-hlr immediately terminates on SIGTERM, leaving the SQLite database open. As a result, several temporary files (such as hlr.db-shm, hlr.db-wal) remain, allowing the further recovery: DDB ERROR <0001> db.c:86 (283) recovered 10 frames from WAL file Let's properly handle SIGTERM in the same way as we handle SIGINT. Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a --- M src/hlr.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/13/13313/1 diff --git a/src/hlr.c b/src/hlr.c index f374ccc..422a56d 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -612,8 +612,9 @@ static void signal_hdlr(int signal) { switch (signal) { + case SIGTERM: case SIGINT: - LOGP(DMAIN, LOGL_NOTICE, "Terminating due to SIGINT\n"); + LOGP(DMAIN, LOGL_NOTICE, "Terminating due to signal=%d\n", signal); quit++; break; case SIGUSR1: @@ -709,6 +710,7 @@ osmo_init_ignore_signals(); signal(SIGINT, &signal_hdlr); + signal(SIGTERM, &signal_hdlr); signal(SIGUSR1, &signal_hdlr); if (cmdline_opts.daemonize) { -- To view, visit https://gerrit.osmocom.org/13313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a Gerrit-Change-Number: 13313 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:45:50 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 11:45:50 +0000 Subject: Change in libosmocore[master]: socket: osmo_sock_get_name() Use "const void *" as talloc context In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13309 ) Change subject: socket: osmo_sock_get_name() Use "const void *" as talloc context ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie6877277cddb0a9e049449c260afe3314ba65050 Gerrit-Change-Number: 13309 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 11:45:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:46:34 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 11:46:34 +0000 Subject: Change in libosmocore[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13308 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 Gerrit-Change-Number: 13308 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 11:46:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:49:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 11:49:02 +0000 Subject: Change in libosmocore[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13308 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled libosmo{core,gsm,vty}.so and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index 63f3959..ab3728f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include AM_CFLAGS = -Wall $(TALLOC_CFLAGS) -AM_LDFLAGS = +AM_LDFLAGS = -no-install LDADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS) if ENABLE_SERCOM_STUB -- To view, visit https://gerrit.osmocom.org/13308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 Gerrit-Change-Number: 13308 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 11:55:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 11:55:32 +0000 Subject: Change in libosmocore[master]: rate_ctr_group_free(): guard against empty or NULL input In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13303 ) Change subject: rate_ctr_group_free(): guard against empty or NULL input ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 11:55:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:08:10 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 12:08:10 +0000 Subject: Change in osmo-hlr[master]: hlr.c: properly terminate the process on SIGTERM In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13313 ) Change subject: hlr.c: properly terminate the process on SIGTERM ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a Gerrit-Change-Number: 13313 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 12:08:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:14:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:14:56 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, Neels Hofmeyr, Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13301 to look at the new patch set (#4). Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Add scripts/osmocom-list-commits.sh Generate a table of Osmocom CNI repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da --- A scripts/osmocom-list-commits.sh 1 file changed, 83 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/13301/4 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:18:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:18:12 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh at 18 PS2, Line 18: osmo-pcu > What about libusrp, libasn1c and libsmpp34? Ithink those necessary as dependencies for osmo-* projec [?] Added all of them. I don't think it hurts to have them in the list, if the user doesn't need them, they can be filtered out easily. Note that osmo-sysmon isn't tagged yet, so it displays "-" in the last tag and last tag commit columns. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 12:18:12 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:21:18 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:21:18 +0000 Subject: Change in libosmocore[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13308 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9b9ae0ed277ba71519661a66a70b7f86971e4511 Gerrit-Change-Number: 13308 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 12:21:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:25:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 12:25:56 +0000 Subject: Change in osmo-sysmon[master]: Add vty option to print output of shell cmd on every poll step In-Reply-To: References: Message-ID: Hello Max, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13304 to look at the new patch set (#3). Change subject: Add vty option to print output of shell cmd on every poll step ...................................................................... Add vty option to print output of shell cmd on every poll step Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b --- M doc/examples/osmo-sysmon.cfg M src/Makefile.am M src/osysmon.h M src/osysmon_main.c A src/osysmon_shellcmd.c 5 files changed, 185 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/04/13304/3 -- To view, visit https://gerrit.osmocom.org/13304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b Gerrit-Change-Number: 13304 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:52:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 12:52:04 +0000 Subject: Change in osmo-sysmon[master]: Add vty option to print output of shell cmd on every poll step In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13304 ) Change subject: Add vty option to print output of shell cmd on every poll step ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b Gerrit-Change-Number: 13304 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 12:52:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:54:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:54:33 +0000 Subject: Change in osmo-iuh[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts Message-ID: Hello Pau Espin Pedrol, Max, Harald Welte, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13314 to review the following change. Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I92c7391631becc09d277981179c23f2e4dba3b54 --- M src/tests/Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/14/13314/1 diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index 493bc18..72a3300 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -3,6 +3,8 @@ $(OSMOVTY_CFLAGS) $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) \ $(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS) +AM_LDFLAGS = -no-install + COMMON_LIBS = $(OSMOVTY_LIBS) $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(ASN1C_LIBS) $(OSMOSIGTRAN_LIBS) -lsctp check_PROGRAMS = test-ranap test-helpers test-hnbap hnb-test #dummy-cn -- To view, visit https://gerrit.osmocom.org/13314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I92c7391631becc09d277981179c23f2e4dba3b54 Gerrit-Change-Number: 13314 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:54:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 12:54:39 +0000 Subject: Change in osmo-hlr[master]: hlr.c: properly terminate the process on SIGTERM In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13313 ) Change subject: hlr.c: properly terminate the process on SIGTERM ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/13313/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/#/c/13313/1/src/hlr.c at 615 PS1, Line 615: case SIGTERM: this fix is of course correct. I recently read about signalfd() which might actually be a cleaner solution for all our signal handling. Signals then get delivered via a special file descriptor which we can regiter in our libosmocore select logic and we don't have to worry about separate stacks, functions not safe to be called from interrupt handlers, adding "quit" variables like here, etc. -- To view, visit https://gerrit.osmocom.org/13313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a Gerrit-Change-Number: 13313 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 12:54:39 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:54:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 12:54:42 +0000 Subject: Change in osmo-hlr[master]: hlr.c: properly terminate the process on SIGTERM In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13313 ) Change subject: hlr.c: properly terminate the process on SIGTERM ...................................................................... hlr.c: properly terminate the process on SIGTERM As per the systemd.kill manual, when a service is going to be stopped by systemd, the process will first be terminated via SIGTERM. If then, after a delay, processes still remain, the the termination request is repeated with the SIGKILL. It was observed that osmo-hlr immediately terminates on SIGTERM, leaving the SQLite database open. As a result, several temporary files (such as hlr.db-shm, hlr.db-wal) remain, allowing the further recovery: DDB ERROR <0001> db.c:86 (283) recovered 10 frames from WAL file Let's properly handle SIGTERM in the same way as we handle SIGINT. Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a --- M src/hlr.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/src/hlr.c b/src/hlr.c index f374ccc..422a56d 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -612,8 +612,9 @@ static void signal_hdlr(int signal) { switch (signal) { + case SIGTERM: case SIGINT: - LOGP(DMAIN, LOGL_NOTICE, "Terminating due to SIGINT\n"); + LOGP(DMAIN, LOGL_NOTICE, "Terminating due to signal=%d\n", signal); quit++; break; case SIGUSR1: @@ -709,6 +710,7 @@ osmo_init_ignore_signals(); signal(SIGINT, &signal_hdlr); + signal(SIGTERM, &signal_hdlr); signal(SIGUSR1, &signal_hdlr); if (cmdline_opts.daemonize) { -- To view, visit https://gerrit.osmocom.org/13313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a Gerrit-Change-Number: 13313 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:55:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:55:44 +0000 Subject: Change in osmo-hlr[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts Message-ID: Hello Pau Espin Pedrol, Max, Harald Welte, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13315 to review the following change. Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I927561289b17b313d52fb5c1da55e237fc1d33be --- M tests/auc/Makefile.am M tests/db/Makefile.am M tests/gsup/Makefile.am M tests/gsup_server/Makefile.am 4 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/15/13315/1 diff --git a/tests/auc/Makefile.am b/tests/auc/Makefile.am index 9f2974f..a3814b6 100644 --- a/tests/auc/Makefile.am +++ b/tests/auc/Makefile.am @@ -13,6 +13,7 @@ $(NULL) AM_LDFLAGS = \ + -no-install \ $(NULL) EXTRA_DIST = \ diff --git a/tests/db/Makefile.am b/tests/db/Makefile.am index d5fce65..afda5be 100644 --- a/tests/db/Makefile.am +++ b/tests/db/Makefile.am @@ -10,6 +10,10 @@ $(SQLITE3_CFLAGS) \ $(NULL) +AM_LDFLAGS = \ + -no-install \ + $(NULL) + EXTRA_DIST = \ db_test.ok \ db_test.err \ diff --git a/tests/gsup/Makefile.am b/tests/gsup/Makefile.am index 7c33dbd..907aae8 100644 --- a/tests/gsup/Makefile.am +++ b/tests/gsup/Makefile.am @@ -12,6 +12,7 @@ $(NULL) AM_LDFLAGS = \ + -no-install \ $(NULL) EXTRA_DIST = \ diff --git a/tests/gsup_server/Makefile.am b/tests/gsup_server/Makefile.am index fee60f5..686ce37 100644 --- a/tests/gsup_server/Makefile.am +++ b/tests/gsup_server/Makefile.am @@ -12,6 +12,7 @@ $(NULL) AM_LDFLAGS = \ + -no-install \ $(NULL) EXTRA_DIST = \ -- To view, visit https://gerrit.osmocom.org/13315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I927561289b17b313d52fb5c1da55e237fc1d33be Gerrit-Change-Number: 13315 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:56:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:56:11 +0000 Subject: Change in libosmo-abis[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts Message-ID: Hello Pau Espin Pedrol, Max, Harald Welte, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13316 to review the following change. Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: Idd458471069ef8912704cc7602c6e8c71c0b62be --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/16/13316/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index c8b8996..8ee91bb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include AM_CFLAGS=-Wall -g $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(COVERAGE_CFLAGS) -AM_LDFLAGS = $(COVERAGE_LDFLAGS) +AM_LDFLAGS = $(COVERAGE_LDFLAGS) -no-install check_PROGRAMS = e1inp_ipa_bsc_test \ e1inp_ipa_bts_test \ -- To view, visit https://gerrit.osmocom.org/13316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idd458471069ef8912704cc7602c6e8c71c0b62be Gerrit-Change-Number: 13316 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:56:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 12:56:44 +0000 Subject: Change in osmo-pcu[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts Message-ID: Hello Pau Espin Pedrol, Max, Harald Welte, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/13317 to review the following change. Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I2915f0de87598f9f23efc2b9a8f4a6bdf4966efb --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/17/13317/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index e82647f..887200d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/ -AM_LDFLAGS = -lrt +AM_LDFLAGS = -lrt -no-install check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest noinst_PROGRAMS = emu/pcu_emu -- To view, visit https://gerrit.osmocom.org/13317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2915f0de87598f9f23efc2b9a8f4a6bdf4966efb Gerrit-Change-Number: 13317 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:57:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 12:57:09 +0000 Subject: Change in libosmocore[master]: rate_ctr_group_free(): guard against empty or NULL input In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13303 ) Change subject: rate_ctr_group_free(): guard against empty or NULL input ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 12:57:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 12:57:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 12:57:10 +0000 Subject: Change in libosmocore[master]: rate_ctr_group_free(): guard against empty or NULL input In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13303 ) Change subject: rate_ctr_group_free(): guard against empty or NULL input ...................................................................... rate_ctr_group_free(): guard against empty or NULL input Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 --- M src/rate_ctr.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 75302da..c9319a6 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -255,7 +255,11 @@ /*! Free the memory for the specified group of counters */ void rate_ctr_group_free(struct rate_ctr_group *grp) { - llist_del(&grp->list); + if (!grp) + return; + + if (!llist_empty(&grp->list)) + llist_del(&grp->list); talloc_free(grp); } -- To view, visit https://gerrit.osmocom.org/13303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I859a91ee4400b3685c05971f8c66bceca6758724 Gerrit-Change-Number: 13303 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:00:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:00:17 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to ERROR In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to ERROR ...................................................................... Patch Set 5: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13266/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13266/5//COMMIT_MSG at 7 PS5, Line 7: ERROR FATAL! -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 13:00:17 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:02:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:02:36 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13275 ) Change subject: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13275/1/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c File src/osmo-bts-oc2g/misc/oc2gbts_mgr.c: https://gerrit.osmocom.org/#/c/13275/1/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c at 276 PS1, Line 276: tall_msgb_ctx = talloc_named_const(tall_mgr_ctx, 1, "msgb"); this should also be converted towards using msgb_talloc_ctx_init in a separate patch, forall code in this repository. https://gerrit.osmocom.org/#/c/13275/1/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c at 279 PS1, Line 279: tall_msgb_ctx why tall_msgb_ctx and not tall_mgr_ctx? Why would logging relate to message buffers? -- To view, visit https://gerrit.osmocom.org/13275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebc80cd1f77f10a879d4536d788377f522dd853f Gerrit-Change-Number: 13275 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:02:36 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:02:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:02:55 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13275 ) Change subject: oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging() ...................................................................... Patch Set 3: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/13275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebc80cd1f77f10a879d4536d788377f522dd853f Gerrit-Change-Number: 13275 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:02:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:03:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:03:35 +0000 Subject: Change in osmo-pcu[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13317 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2915f0de87598f9f23efc2b9a8f4a6bdf4966efb Gerrit-Change-Number: 13317 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 13:03:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:03:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:03:48 +0000 Subject: Change in osmo-iuh[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13314 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I92c7391631becc09d277981179c23f2e4dba3b54 Gerrit-Change-Number: 13314 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:03:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:04:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:04:12 +0000 Subject: Change in osmo-hlr[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13315 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I927561289b17b313d52fb5c1da55e237fc1d33be Gerrit-Change-Number: 13315 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:04:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:04:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:04:22 +0000 Subject: Change in libosmo-abis[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13316 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idd458471069ef8912704cc7602c6e8c71c0b62be Gerrit-Change-Number: 13316 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:04:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:04:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 13:04:36 +0000 Subject: Change in libosmo-abis[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13316 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: Idd458471069ef8912704cc7602c6e8c71c0b62be --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index c8b8996..8ee91bb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include AM_CFLAGS=-Wall -g $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(COVERAGE_CFLAGS) -AM_LDFLAGS = $(COVERAGE_LDFLAGS) +AM_LDFLAGS = $(COVERAGE_LDFLAGS) -no-install check_PROGRAMS = e1inp_ipa_bsc_test \ e1inp_ipa_bts_test \ -- To view, visit https://gerrit.osmocom.org/13316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idd458471069ef8912704cc7602c6e8c71c0b62be Gerrit-Change-Number: 13316 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:04:49 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 13:04:49 +0000 Subject: Change in osmo-hlr[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13315 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I927561289b17b313d52fb5c1da55e237fc1d33be --- M tests/auc/Makefile.am M tests/db/Makefile.am M tests/gsup/Makefile.am M tests/gsup_server/Makefile.am 4 files changed, 7 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/auc/Makefile.am b/tests/auc/Makefile.am index 9f2974f..a3814b6 100644 --- a/tests/auc/Makefile.am +++ b/tests/auc/Makefile.am @@ -13,6 +13,7 @@ $(NULL) AM_LDFLAGS = \ + -no-install \ $(NULL) EXTRA_DIST = \ diff --git a/tests/db/Makefile.am b/tests/db/Makefile.am index d5fce65..afda5be 100644 --- a/tests/db/Makefile.am +++ b/tests/db/Makefile.am @@ -10,6 +10,10 @@ $(SQLITE3_CFLAGS) \ $(NULL) +AM_LDFLAGS = \ + -no-install \ + $(NULL) + EXTRA_DIST = \ db_test.ok \ db_test.err \ diff --git a/tests/gsup/Makefile.am b/tests/gsup/Makefile.am index 7c33dbd..907aae8 100644 --- a/tests/gsup/Makefile.am +++ b/tests/gsup/Makefile.am @@ -12,6 +12,7 @@ $(NULL) AM_LDFLAGS = \ + -no-install \ $(NULL) EXTRA_DIST = \ diff --git a/tests/gsup_server/Makefile.am b/tests/gsup_server/Makefile.am index fee60f5..686ce37 100644 --- a/tests/gsup_server/Makefile.am +++ b/tests/gsup_server/Makefile.am @@ -12,6 +12,7 @@ $(NULL) AM_LDFLAGS = \ + -no-install \ $(NULL) EXTRA_DIST = \ -- To view, visit https://gerrit.osmocom.org/13315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I927561289b17b313d52fb5c1da55e237fc1d33be Gerrit-Change-Number: 13315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:04:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 13:04:56 +0000 Subject: Change in osmo-iuh[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13314 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I92c7391631becc09d277981179c23f2e4dba3b54 --- M src/tests/Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index 493bc18..72a3300 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -3,6 +3,8 @@ $(OSMOVTY_CFLAGS) $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) \ $(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS) +AM_LDFLAGS = -no-install + COMMON_LIBS = $(OSMOVTY_LIBS) $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(ASN1C_LIBS) $(OSMOSIGTRAN_LIBS) -lsctp check_PROGRAMS = test-ranap test-helpers test-hnbap hnb-test #dummy-cn -- To view, visit https://gerrit.osmocom.org/13314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I92c7391631becc09d277981179c23f2e4dba3b54 Gerrit-Change-Number: 13314 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:05:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:05:52 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr_calib: don't use fsync() on *FILE pointer In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13271 ) Change subject: oc2gbts_mgr_calib: don't use fsync() on *FILE pointer ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46ffd8c680ba0b445cbbd133d5ce92b79e3d8d87 Gerrit-Change-Number: 13271 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:05:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:06:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:06:23 +0000 Subject: Change in osmo-bts[master]: l1_if: add include for missing header file In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13273 ) Change subject: l1_if: add include for missing header file ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95d7e89eed969dd5b3ccff0eebcc6c568196a97d Gerrit-Change-Number: 13273 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:06:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:07:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:07:22 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13267 ) Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13267/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13267/3//COMMIT_MSG at 7 PS3, Line 7: pcu_sock: cast to long unsigned int before printing : : When using %lu and sizeof() for printing the compiler may throw a : warning. Lets prevent this by casting to long unsigned int. the commit log message doens't match at all what the code change is doning now. Please take care to make commit log messages match the code on subsequent edits. Thanks! -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 19 Mar 2019 13:07:22 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:07:58 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 13:07:58 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:07:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:09:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:09:34 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13246 ) Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13246/2/grc/decoding/gsm_tch_h_decoder.xml File grc/decoding/gsm_tch_h_decoder.xml: https://gerrit.osmocom.org/#/c/13246/2/grc/decoding/gsm_tch_h_decoder.xml at 59 PS2, Line 59: MultiRrate spelling -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 2 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 13:09:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:10:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 Mar 2019 13:10:14 +0000 Subject: Change in osmo-pcu[master]: tests: use -no-install libtool flag to avoid ./lt-* scripts In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13317 ) Change subject: tests: use -no-install libtool flag to avoid ./lt-* scripts ...................................................................... tests: use -no-install libtool flag to avoid ./lt-* scripts This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I2915f0de87598f9f23efc2b9a8f4a6bdf4966efb --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/Makefile.am b/tests/Makefile.am index e82647f..887200d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/ -AM_LDFLAGS = -lrt +AM_LDFLAGS = -lrt -no-install check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest noinst_PROGRAMS = emu/pcu_emu -- To view, visit https://gerrit.osmocom.org/13317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2915f0de87598f9f23efc2b9a8f4a6bdf4966efb Gerrit-Change-Number: 13317 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:10:22 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 13:10:22 +0000 Subject: Change in osmo-sysmon[master]: Add vty option to print output of shell cmd on every poll step In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13304 ) Change subject: Add vty option to print output of shell cmd on every poll step ...................................................................... Add vty option to print output of shell cmd on every poll step Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b --- M doc/examples/osmo-sysmon.cfg M src/Makefile.am M src/osysmon.h M src/osysmon_main.c A src/osysmon_shellcmd.c 5 files changed, 185 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/doc/examples/osmo-sysmon.cfg b/doc/examples/osmo-sysmon.cfg index f944f72..22c27cb 100644 --- a/doc/examples/osmo-sysmon.cfg +++ b/doc/examples/osmo-sysmon.cfg @@ -14,3 +14,4 @@ ping example.com openvpn 127.0.0.1 1234 file os-image /etc/image-datetime +shellcmd kernel uname -a diff --git a/src/Makefile.am b/src/Makefile.am index f9b79f2..a4663fd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -42,6 +42,7 @@ osysmon_file.c \ osysmon_ping.c \ osysmon_openvpn.c \ + osysmon_shellcmd.c \ osysmon_main.c \ $(NULL) diff --git a/src/osysmon.h b/src/osysmon.h index 2f82c47..36cd608 100644 --- a/src/osysmon.h +++ b/src/osysmon.h @@ -13,6 +13,8 @@ struct osysmon_state { struct rtnl_client_state *rcs; + /* list of 'struct osysmon_cmd' */ + struct llist_head shellcmds; /* list of 'struct ctrl client' */ struct llist_head ctrl_clients; /* list of 'struct openvpn_client' */ @@ -21,6 +23,7 @@ struct llist_head netdevs; /* list of 'struct osysmon_file' */ struct llist_head files; + /* list of ping contexts */ struct ping_state *pings; }; @@ -36,7 +39,6 @@ PING_NODE, }; - int osysmon_ctrl_go_parent(struct vty *vty); int osysmon_ctrl_init(); int osysmon_ctrl_poll(struct value_node *parent); @@ -56,3 +58,6 @@ int osysmon_file_init(); int osysmon_file_poll(struct value_node *parent); + +int osysmon_shellcmd_init(); +int osysmon_shellcmd_poll(struct value_node *parent); diff --git a/src/osysmon_main.c b/src/osysmon_main.c index 1ba3753..fb01f5e 100644 --- a/src/osysmon_main.c +++ b/src/osysmon_main.c @@ -207,6 +207,7 @@ osysmon_ping_poll(root); osysmon_file_poll(root); + osysmon_shellcmd_poll(root); display_update(root); value_node_del(root); @@ -221,6 +222,7 @@ osmo_init_logging2(NULL, &log_info); g_oss = talloc_zero(NULL, struct osysmon_state); + INIT_LLIST_HEAD(&g_oss->shellcmds); INIT_LLIST_HEAD(&g_oss->ctrl_clients); INIT_LLIST_HEAD(&g_oss->openvpn_clients); INIT_LLIST_HEAD(&g_oss->netdevs); @@ -229,6 +231,7 @@ vty_init(&vty_info); handle_options(argc, argv); osysmon_sysinfo_init(); + osysmon_shellcmd_init(); osysmon_ctrl_init(); osysmon_openvpn_init(); osysmon_rtnl_init(); diff --git a/src/osysmon_shellcmd.c b/src/osysmon_shellcmd.c new file mode 100644 index 0000000..347b982 --- /dev/null +++ b/src/osysmon_shellcmd.c @@ -0,0 +1,174 @@ +/* Simple Osmocom System Monitor (osysmon): Support for monitoring through shell commands */ + +/* (C) 2019 by sysmocom - s.f.m.c. GmbH + * All Rights Reserved. + * Author: Pau Espin Pedrol + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include +#include +#include +#include + +#include +#include + +#include "osysmon.h" +#include "value_node.h" + +/*********************************************************************** + * Data model + ***********************************************************************/ + +struct osysmon_shellcmd { + struct llist_head list; + struct { + const char *name; + const char *cmd; + } cfg; +}; + +static struct osysmon_shellcmd *osysmon_shellcmd_find(const char *name) +{ + struct osysmon_shellcmd *oc; + + llist_for_each_entry(oc, &g_oss->shellcmds, list) { + if (!strcmp(oc->cfg.name, name)) + return oc; + } + return NULL; +} + +static struct osysmon_shellcmd *osysmon_shellcmd_add(const char *name, const char *cmd) +{ + struct osysmon_shellcmd *oc; + + if (osysmon_shellcmd_find(name)) + return NULL; + + oc = talloc_zero(g_oss, struct osysmon_shellcmd); + OSMO_ASSERT(oc); + oc->cfg.name = talloc_strdup(oc, name); + oc->cfg.cmd = talloc_strdup(oc, cmd); + llist_add_tail(&oc->list, &g_oss->shellcmds); + return oc; +} + +static void osysmon_shellcmd_destroy(struct osysmon_shellcmd *oc) +{ + llist_del(&oc->list); + talloc_free(oc); +} + +static void osysmon_shellcmd_run(struct osysmon_shellcmd *oc, struct value_node *parent) +{ + char buf[512]; + FILE *f; + char *p = buf; + long offset = 0; + + f = popen(oc->cfg.cmd, "r"); + if (!f) { + snprintf(buf, sizeof(buf), "", errno); + value_node_add(parent, oc->cfg.name, buf); + return; + } + + while ((offset = fread(p, 1, sizeof(buf) - 1 - (p - buf), f)) != 0) { + p += offset; + *p = '\0'; + } + + pclose(f); + + if (buf != p) { + if (*(p - 1) == '\n') /* Remove final new line if exists */ + *(p - 1) = '\0'; + value_node_add(parent, oc->cfg.name, buf); + } else { + value_node_add(parent, oc->cfg.name, ""); + } +} + +/*********************************************************************** + * VTY + ***********************************************************************/ + +#define CMD_STR "Configure a shell command to be executed\n" +DEFUN(cfg_shellcmd, cfg_shellcmd_cmd, + "shellcmd NAME .TEXT", + CMD_STR "Name of this shell command snippet\n" "Command to run\n") +{ + struct osysmon_shellcmd *oc; + char *concat = argv_concat(argv, argc, 1); + oc = osysmon_shellcmd_add(argv[0], concat); + talloc_free(concat); + if (!oc) { + vty_out(vty, "Couldn't add shell cmd, maybe it exists?%s", VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +DEFUN(cfg_no_shellcmd, cfg_no_shellcmd_cmd, + "no shellcmd NAME", + NO_STR CMD_STR "Name of this shell command snippet\n") +{ + struct osysmon_shellcmd *oc; + oc = osysmon_shellcmd_find(argv[0]); + if (!oc) { + vty_out(vty, "Cannot find shell cmd for '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + osysmon_shellcmd_destroy(oc); + return CMD_SUCCESS; +} + + +static void osysmon_shellcmd_vty_init(void) +{ + install_element(CONFIG_NODE, &cfg_shellcmd_cmd); + install_element(CONFIG_NODE, &cfg_no_shellcmd_cmd); +} + +/*********************************************************************** + * Runtime Code + ***********************************************************************/ + +/* called once on startup before config file parsing */ +int osysmon_shellcmd_init() +{ + osysmon_shellcmd_vty_init(); + return 0; +} + +/* called periodically */ +int osysmon_shellcmd_poll(struct value_node *parent) +{ + struct value_node *vn_file; + struct osysmon_shellcmd *oc; + + vn_file = value_node_add(parent, "shellcmd", NULL); + + llist_for_each_entry(oc, &g_oss->shellcmds, list) + osysmon_shellcmd_run(oc, vn_file); + + return 0; +} -- To view, visit https://gerrit.osmocom.org/13304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I005773b75f81fa5f6c90f53af508fc6debea208b Gerrit-Change-Number: 13304 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:10:30 +0000 Subject: Change in osmo-pcu[master]: MS store: move test helper to unit test In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13213 ) Change subject: MS store: move test helper to unit test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33 Gerrit-Change-Number: 13213 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:10:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:12:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 13:12:31 +0000 Subject: Change in osmo-hlr[master]: hlr.c: properly terminate the process on SIGTERM In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13313 ) Change subject: hlr.c: properly terminate the process on SIGTERM ...................................................................... Patch Set 1: Yeah signalfd is nice but cannot be used for all signal handlers imho, only for those which support delaying to handle stuff in normal ctx. It's also tricky in multithreaded environments iirc. -- To view, visit https://gerrit.osmocom.org/13313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1a4a48b95bbaed74ff5a03fb5797a44bdb1fcd3a Gerrit-Change-Number: 13313 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:12:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:14:47 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 13:14:47 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Pau Espin Pedrol has removed a vote on this change. Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Removed Code-Review+2 by Pau Espin Pedrol -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:15:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:15:11 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 3: Code-Review-1 > > there is no downlink arq type "true" or "false". While I agree i > fthere are only two discrete values you should use a type with only > two options, but if those optionsare not something that can be > "true" or "false", using bool is just as wrong as using int, isn't > it? > > I'm not sure I'm following. > > In 44.060 ?8.1.1 there's 'resegment bit' which could be 0 (type 2 > ARQ) or 1 (type 1 ARQ). So it's boolean value. That's also how it's > used throughout the code so far. I'm not arguing that this bit has a true or false value, like any bit. However, the variable used in osmo-pcu is called "downlink ARQ type", and clearly there is no type==true or type==false here, right? > In general, RLCMAC might operate in non-persistent (MBMS bearer, > 43.246) acknowledged (types 1 and 2 above) and unacknowledged (no > ARQ) modes according to TS 43.064 ?6.6.4.5 and ?6.6.4.6. > > So when would we want to use some 3rd value for dl_arq_type and > which spec describes that case? I'm not saying we want to use a third value. I'm saying if a variable is not named like it is a yes/no or true/false condition, then either the varialbe must be named differntly to use bool, or the type must be changed from bool to enum. >Or, in other words, if we make > 'enum dl_arq_type', which would be the values for it besides TYPE1 > and TYPE2? no other types. -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:15:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:16:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:16:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: TC_lu_disconnect: add final delay to fix spurious failure In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13194 ) Change subject: msc: TC_lu_disconnect: add final delay to fix spurious failure ...................................................................... msc: TC_lu_disconnect: add final delay to fix spurious failure I hit a "Broken pipe" error, hoping that the bit of delay makes the teardown more stable. Change-Id: I765a75f91a748239f6cc82f4a61f02d59166f00b --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 31a7401..d02a0ed 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -822,6 +822,7 @@ /* send clear request in the middle of the LU */ BSSAP.send(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); setverdict(pass); + f_sleep(1.0); } testcase TC_lu_disconnect() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/13194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I765a75f91a748239f6cc82f4a61f02d59166f00b Gerrit-Change-Number: 13194 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:20:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:20:28 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 7: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.c at 43 PS7, Line 43: uint8_t num_data_blocks(enum HeaderType ht) : { : return hdr_type_info[ht].num_blocks; : } : : uint8_t num_data_header_bits_UL(enum HeaderType ht) : { : return hdr_type_info[ht].uplink.data_header_bits; : } : : uint8_t num_data_header_bits_DL(enum HeaderType ht) : { : return hdr_type_info[ht].downlink.data_header_bits; : } : : uint8_t num_data_block_header_bits(enum HeaderType ht) : { : return hdr_type_info[ht].data_block_header_bits; : } none of those functions protect against array out-of-index access. -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:20:28 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:20:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:20:54 +0000 Subject: Change in osmo-ci[master]: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13260 ) Change subject: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18 Gerrit-Change-Number: 13260 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 13:20:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:20:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:20:56 +0000 Subject: Change in osmo-ci[master]: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13260 ) Change subject: build_deps: add libulfius-dev and libjansson-dev for osmo-remsim ...................................................................... build_deps: add libulfius-dev and libjansson-dev for osmo-remsim Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved; Verified diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml index 1a53b57..efbf94a 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -120,3 +120,13 @@ with_items: - liblimesuite-dev when: ansible_distribution == 'Debian' and ansible_distribution_version >= '9' + +- name: install osmo-remsim dependencies + apt: + name: "{{ item }}" + cache_valid_time: 3600 + update_cache: yes + with_items: + - libjansson-dev + - libulfius-dev + when: ansible_distribution == 'Debian' and ansible_distribution_version == '9' -- To view, visit https://gerrit.osmocom.org/13260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18 Gerrit-Change-Number: 13260 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:27:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:27:26 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13259 ) Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... Patch Set 6: I'm sorry, but I don't really understand the problem. We will *never* nee d A interface support functions of GSM 08.08 inside the firmware of a microcontroller where we don't have Linux/POSIX APIs. So why would we bother with considering bare-iron ARM when working on this kind of API? Why not simply #ifdef it out? -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 13:27:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:28:27 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:28:27 +0000 Subject: Change in osmo-bsc[master]: avoid use-after-free: on MGW endpoint dealloc, also forget it in conn... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13258 ) Change subject: avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6702ccd0df44bea5eb8b26d471d7903c24e6e30b Gerrit-Change-Number: 13258 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 13:28:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:10 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13092 ) Change subject: osmo_bsc_msc: Use meaningful amr rate configuration on BTS level ...................................................................... osmo_bsc_msc: Use meaningful amr rate configuration on BTS level The current configuration for permitted AMR rates on BTS level has been choosen arbitrarily. Lets choose the possible rates so that they match the "Config-NB-Code = 1" as defined in 3GPP TS 28.062 Table 7.11.3.1.3-2. (The current default behavior is not changed since the MSC level configuration only permits 5.90k by default.) Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Related: SYS#4470 --- M src/osmo-bsc/gsm_data.c 1 file changed, 17 insertions(+), 18 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index a128216..509f805 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -888,26 +888,25 @@ }; /* Set reasonable defaults for AMR-FR and AMR-HR rate configuration. - * It is possible to set up to 4 codecs per active set, while 5,15K must - * be selected. */ + * (see also 3GPP TS 28.062, Table 7.11.3.1.3-2) */ mr_cfg = (struct gsm48_multi_rate_conf) { - .m4_75 = 0, - .m5_15 = 1, + .m4_75 = 1, + .m5_15 = 0, .m5_90 = 1, .m6_70 = 0, - .m7_40 = 0, + .m7_40 = 1, .m7_95 = 0, - .m10_2 = 1, + .m10_2 = 0, .m12_2 = 1 }; memcpy(bts->mr_full.gsm48_ie, &mr_cfg, sizeof(bts->mr_full.gsm48_ie)); - bts->mr_full.ms_mode[0].mode = 1; + bts->mr_full.ms_mode[0].mode = 0; bts->mr_full.ms_mode[1].mode = 2; - bts->mr_full.ms_mode[2].mode = 6; + bts->mr_full.ms_mode[2].mode = 4; bts->mr_full.ms_mode[3].mode = 7; - bts->mr_full.bts_mode[0].mode = 1; + bts->mr_full.bts_mode[0].mode = 0; bts->mr_full.bts_mode[1].mode = 2; - bts->mr_full.bts_mode[2].mode = 6; + bts->mr_full.bts_mode[2].mode = 4; bts->mr_full.bts_mode[3].mode = 7; for (i = 0; i < 3; i++) { bts->mr_full.ms_mode[i].hysteresis = 8; @@ -918,31 +917,31 @@ bts->mr_full.num_modes = 4; mr_cfg = (struct gsm48_multi_rate_conf) { - .m4_75 = 0, - .m5_15 = 1, + .m4_75 = 1, + .m5_15 = 0, .m5_90 = 1, .m6_70 = 0, .m7_40 = 1, - .m7_95 = 1, + .m7_95 = 0, .m10_2 = 0, .m12_2 = 0 }; memcpy(bts->mr_half.gsm48_ie, &mr_cfg, sizeof(bts->mr_half.gsm48_ie)); - bts->mr_half.ms_mode[0].mode = 1; + bts->mr_half.ms_mode[0].mode = 0; bts->mr_half.ms_mode[1].mode = 2; bts->mr_half.ms_mode[2].mode = 4; - bts->mr_half.ms_mode[3].mode = 5; - bts->mr_half.bts_mode[0].mode = 1; + bts->mr_half.ms_mode[3].mode = 7; + bts->mr_half.bts_mode[0].mode = 0; bts->mr_half.bts_mode[1].mode = 2; bts->mr_half.bts_mode[2].mode = 4; - bts->mr_half.bts_mode[3].mode = 5; + bts->mr_half.bts_mode[3].mode = 7; for (i = 0; i < 3; i++) { bts->mr_half.ms_mode[i].hysteresis = 8; bts->mr_half.ms_mode[i].threshold = 32; bts->mr_half.bts_mode[i].hysteresis = 8; bts->mr_half.bts_mode[i].threshold = 32; } - bts->mr_half.num_modes = 4; + bts->mr_half.num_modes = 3; return bts; } -- To view, visit https://gerrit.osmocom.org/13092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I916953e3fdb54168671dd13b359e78662fa31059 Gerrit-Change-Number: 13092 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:11 +0000 Subject: Change in osmo-bsc[master]: codec_pref: fix special handling for AMR rate configuration (S15-S0) In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13093 ) Change subject: codec_pref: fix special handling for AMR rate configuration (S15-S0) ...................................................................... codec_pref: fix special handling for AMR rate configuration (S15-S0) When match_codec_pref() is called and the codec selections from the ASSIGNMENT COMMAND are matched against the interal capabilities, the configurations are checked one by one. When a match is found that match is returned. However, the implementation currently does not check the AMR S15-S0 bits when the actual matching happens. This is done afterwards in case AMR gets picked. Unfortunately if the MSC implementation is not obeying the settings the MSC has previously communicated in the L3 COMPL message we may end up with an S15-S0 configuration that has all rate selection (which eventually end up as active set in RSL) bits set to zero. This is an invalid configuration and should be prevented. Also the handling of the S15-S0 bits should happen as part of the matching so that there is a chance to try the nect codec in the list if AMR is unuseable. Also S15-S0 has one special setting "Config-NB-Code = 1" (S1 = 1). When this bit is set, the four (in HR only three) most common rates are selected into the active set. If there are also other S-bits set besides S1 we should prefer S1 and discard the other bits. - Perform handling of S15-S0 while matching - If S1 is set, prefer this setting and discard all other settings Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Related: SYS#4470 --- M src/osmo-bsc/codec_pref.c M tests/codec_pref/codec_pref_test.ok 2 files changed, 62 insertions(+), 35 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index a94d6a8..412ed9a 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -264,6 +264,47 @@ return amr_s15_s0_bts & amr_s15_s0_msc; } +/* Special handling for AMR rate configuration bits (S15-S0) */ +static int match_amr_s15_s0(struct channel_mode_and_rate *ch_mode_rate, const struct bsc_msc_data *msc, const struct gsm_bts *bts, const struct gsm0808_speech_codec *sc_match, uint8_t perm_spch) +{ + uint16_t amr_s15_s0_supported; + + /* Normally the MSC should never try to advertise an AMR codec + * configuration that we did not previously advertised as supported. + * However, to ensure that no unsupported AMR codec configuration + * enters the further processing steps we again lookup what we support + * and generate an intersection. All further processing is then done + * with this intersection result. At the same time we will make sure + * that the intersection contains at least one rate setting. */ + + amr_s15_s0_supported = gen_bss_supported_amr_s15_s0(msc, bts, (perm_spch == GSM0808_PERM_HR3)); + + /* NOTE: The sc_match pointer points to a speech codec from the speech + * codec list that has been communicated with the ASSIGNMENT COMMAND. + * However, only AoIP based networks will include a speech codec list + * into the ASSIGNMENT COMMAND. For non AoIP based networks, no speech + * codec (sc_match) will be available, so we will fully rely on the + * local configuration for thoses cases. */ + if (sc_match) + ch_mode_rate->s15_s0 = sc_match->cfg & amr_s15_s0_supported; + else + ch_mode_rate->s15_s0 = amr_s15_s0_supported; + + /* Prefer "Config-NB-Code = 1" (S1) over all other AMR rates setttings. + * When S1 is set, the active set will automatically include 12.2k, 7.4k, + * 5.9k, 4.75k, in case of HR 12,2k is left out. */ + if (ch_mode_rate->s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20) { + ch_mode_rate->s15_s0 &= 0xff00; + ch_mode_rate->s15_s0 |= GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20; + } + + /* Make sure at least one rate is set. */ + if ((ch_mode_rate->s15_s0 & 0x00ff) == 0x0000) + return -EINVAL; + + return 0; +} + /*! Match the codec preferences from local config with a received codec preferences IEs received from the * MSC and the BTS' codec configuration. * \param[out] ch_mode_rate resulting codec and rate information @@ -283,7 +324,6 @@ uint8_t perm_spch; bool match = false; const struct gsm0808_speech_codec *sc_match = NULL; - uint16_t amr_s15_s0_supported; int rc; /* Note: Normally the MSC should never try to advertise a codec that @@ -313,10 +353,22 @@ /* Match the permitted speech value against the codec lists that were * advertised by the MS and the MSC */ - if (test_codec_pref(&sc_match, scl, ct, perm_spch)) { - match = true; - break; + if (!test_codec_pref(&sc_match, scl, ct, perm_spch)) { + continue; } + + /* Special handling for AMR */ + if (perm_spch == GSM0808_PERM_HR3 || perm_spch == GSM0808_PERM_FR3) { + rc = match_amr_s15_s0(ch_mode_rate, msc, bts, sc_match, perm_spch); + if (rc < 0) { + ch_mode_rate->s15_s0 = 0; + continue; + } + } else + ch_mode_rate->s15_s0 = 0; + + match = true; + break; } /* Exit without result, in case no match can be deteched */ @@ -330,31 +382,6 @@ /* Lookup a channel mode for the selected codec */ ch_mode_rate->chan_mode = gsm88_to_chan_mode(perm_spch); - /* Special handling for AMR */ - if (perm_spch == GSM0808_PERM_HR3 || perm_spch == GSM0808_PERM_FR3) { - /* Normally the MSC should never try to advertise an AMR codec - * configuration that we did not previously advertise as - * supported. However, to ensure that no unsupported AMR codec - * configuration enters the further processing steps we again - * lookup what we support and generate an intersection. All - * further processing is then done with this intersection - * result */ - amr_s15_s0_supported = gen_bss_supported_amr_s15_s0(msc, bts, (perm_spch == GSM0808_PERM_HR3)); - if (sc_match) - ch_mode_rate->s15_s0 = sc_match->cfg & amr_s15_s0_supported; - else - ch_mode_rate->s15_s0 = amr_s15_s0_supported; - - /* NOTE: The function test_codec_pref() will populate the - * sc_match pointer from the searched speech codec list. For - * AoIP based networks, no speech codec list will be present - * and therefore no sc_match will be populated. For those - * cases only the local configuration will influence s15_s0. - * However s15_s0 is always populated with a meaningful value, - * regardless if AoIP is in use or not. */ - } else - ch_mode_rate->s15_s0 = 0; - return 0; } diff --git a/tests/codec_pref/codec_pref_test.ok b/tests/codec_pref/codec_pref_test.ok index 16d86ba..11b9ede 100644 --- a/tests/codec_pref/codec_pref_test.ok +++ b/tests/codec_pref/codec_pref_test.ok @@ -54,7 +54,7 @@ codec->hr=0 codec->efr=0 codec->amr=1 - * result: rc=0, full_rate=1, s15_s0=57ff, chan_mode=SPEECH_AMR + * result: rc=0, full_rate=1, s15_s0=5702, chan_mode=SPEECH_AMR Determining channel mode and rate: * MS: speech codec list (1 items): @@ -68,7 +68,7 @@ codec->hr=0 codec->efr=0 codec->amr=1 - * result: rc=0, full_rate=0, s15_s0=073f, chan_mode=SPEECH_AMR + * result: rc=0, full_rate=0, s15_s0=0702, chan_mode=SPEECH_AMR Determining channel mode and rate: * MS: speech codec list (2 items): @@ -241,7 +241,7 @@ codec->hr=1 codec->efr=1 codec->amr=1 - * result: rc=0, full_rate=1, s15_s0=57ff, chan_mode=SPEECH_AMR + * result: rc=0, full_rate=1, s15_s0=5702, chan_mode=SPEECH_AMR Determining channel mode and rate: * MS: speech codec list (1 items): @@ -263,7 +263,7 @@ codec->hr=1 codec->efr=1 codec->amr=1 - * result: rc=0, full_rate=0, s15_s0=073f, chan_mode=SPEECH_AMR + * result: rc=0, full_rate=0, s15_s0=0702, chan_mode=SPEECH_AMR Determining channel mode and rate: * MS: speech codec list (2 items): @@ -450,7 +450,7 @@ codec->hr=1 codec->efr=1 codec->amr=1 - * result: rc=0, full_rate=1, s15_s0=57ff, chan_mode=SPEECH_AMR + * result: rc=0, full_rate=1, s15_s0=5702, chan_mode=SPEECH_AMR Determining channel mode and rate: * MS: speech codec list (5 items): @@ -472,7 +472,7 @@ codec->hr=1 codec->efr=1 codec->amr=1 - * result: rc=0, full_rate=0, s15_s0=073f, chan_mode=SPEECH_AMR + * result: rc=0, full_rate=0, s15_s0=0702, chan_mode=SPEECH_AMR Determining channel mode and rate: * MS: speech codec list (5 items): -- To view, visit https://gerrit.osmocom.org/13093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie52376b51fe07ed07056e8df2e9557293ff67a78 Gerrit-Change-Number: 13093 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:11 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: make sure multi rate configuration is valid In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13094 ) Change subject: lchan_fsm: make sure multi rate configuration is valid ...................................................................... lchan_fsm: make sure multi rate configuration is valid When gsm48_mr_cfg_from_gsm0808_sc_cfg() is used to generate the AMR multirate configuration IE, make sure that lchan allocation fails in cases where the multirate configuration IE can not be generated. Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Depends: libosmocore I6fd7f4073b84093742c322752f2fd878d1071e15 Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 8b4cf6d..0c54efb 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -539,7 +539,12 @@ } if (info->chan_mode == GSM48_CMODE_SPEECH_AMR) { - gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0); + if (gsm48_mr_cfg_from_gsm0808_sc_cfg(&mr_conf, info->s15_s0) < 0) { + lchan_fail("Can not determine multirate configuration, S15-S0 (%04x) are ambiguous!\n", + info->s15_s0); + return; + } + if (lchan_mr_config(lchan, &mr_conf) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; -- To view, visit https://gerrit.osmocom.org/13094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icd3e5674b10b8ae223c0d13ae33fc9ae7e8a8a18 Gerrit-Change-Number: 13094 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:11 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: do not include 12.2k in active set on HR channels In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13095 ) Change subject: lchan_fsm: do not include 12.2k in active set on HR channels ...................................................................... lchan_fsm: do not include 12.2k in active set on HR channels When "Config-NB-Code = 1" is set via the S-bits, then the resulting multirate configuration IE will contain 12.2K. Since the generator function is not aware if the lchan is activated for HR or FR it sets the flag for 12.2k always. We have to add a check here in order to set the 12.2k flag in the IE back to 0 so that the active set contains a set of useable rates. Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Related: SYS#4470 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 0c54efb..7cbba44 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -545,6 +545,15 @@ return; } + /* Do not include 12.2 kbps rate when S1 is set. */ + if (lchan->type == GSM_LCHAN_TCH_H && (info->s15_s0 & GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20)) { + /* See also 3GPP TS 28.062, chapter 7.11.3.1.3: "In case this Configuration + * "Config-NB-Code = 1" is signalled in the TFO Negotiation for the HR_AMR + * Codec Type,then it shall be assumed that AMR mode 12.2 kbps is (of course) + * not included. */ + mr_conf.m12_2 = 0; + } + if (lchan_mr_config(lchan, &mr_conf) < 0) { lchan_fail("Can not generate multirate configuration IE\n"); return; -- To view, visit https://gerrit.osmocom.org/13095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I40e7f568f4822040a2d1e78f22dbba0e49d0167e Gerrit-Change-Number: 13095 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: allow setting of fmtp parameters In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13160 ) Change subject: MGCP_Test: allow setting of fmtp parameters ...................................................................... MGCP_Test: allow setting of fmtp parameters When creating an RTP flow, there is currently no way to set SDP fmtp parameters. Lets add a template and a parameter in order to be able to set those parameters. Change-Id: Ic1840d5023cb3888a17980f4ed08c19175864896 Related: SYS#4470 --- M library/MGCP_Templates.ttcn M mgw/MGCP_Test.ttcn 2 files changed, 22 insertions(+), 7 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn index afdc33d..f720553 100644 --- a/library/MGCP_Templates.ttcn +++ b/library/MGCP_Templates.ttcn @@ -280,6 +280,11 @@ attr_value := int2str(p) } } + template SDP_attribute ts_SDP_fmtp(integer fmt, charstring val) := { + fmtp := { + attr_value := int2str(fmt) & " " & val + } + } function f_mgcp_extract_par(MgcpMessage msg, MgcpInfoCode code) return charstring { var MgcpParameterList pars; diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 4969a3f..a0a836b 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -268,7 +268,8 @@ uint7_t pt, charstring codec, MgcpConnectionId mgcp_conn_id optional, - RtpemConfig rtp_cfg optional + RtpemConfig rtp_cfg optional, + charstring fmtp optional } /* Create an RTP flow (bidirectional, or receive-only) */ @@ -277,6 +278,12 @@ runs on dummy_CT { var template MgcpCommand cmd; var MgcpResponse resp; + var SDP_attribute_list attributes; + + attributes := { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), valueof(ts_SDP_ptime(20)) }; + if (isvalue(flow.fmtp)) { + attributes := attributes & { valueof(ts_SDP_fmtp(flow.pt, flow.fmtp)) }; + } /* bind local RTP emulation socket */ f_rtpem_bind(pt, flow.em.hostname, flow.em.portnr); @@ -298,9 +305,8 @@ cmd := ts_CRCX(get_next_trans_id(), ep, mode, call_id); cmd.sdp := ts_SDP(flow.em.hostname, flow.em.hostname, "23", "42", - flow.em.portnr, { int2str(flow.pt) }, - { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), - valueof(ts_SDP_ptime(20)) }); + flow.em.portnr, { int2str(flow.pt) }, attributes); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); flow.mgcp_conn_id := extract_conn_id(resp); /* extract port number from response */ @@ -329,6 +335,12 @@ runs on dummy_CT { var template MgcpCommand cmd; var MgcpResponse resp; + var SDP_attribute_list attributes; + + attributes := { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), valueof(ts_SDP_ptime(20)) }; + if (isvalue(flow.fmtp)) { + attributes := attributes & { valueof(ts_SDP_fmtp(flow.pt, flow.fmtp)) }; + } /* rebind local RTP emulation socket to the new address */ f_rtpem_bind(pt, flow.em.hostname, flow.em.portnr); @@ -345,9 +357,7 @@ /* connect MGW side RTP socket to the emulation-side RTP socket using SDP */ cmd := ts_MDCX(get_next_trans_id(), ep, mode, call_id, flow.mgcp_conn_id); cmd.sdp := ts_SDP(flow.em.hostname, flow.em.hostname, "23", "42", - flow.em.portnr, { int2str(flow.pt) }, - { valueof(ts_SDP_rtpmap(flow.pt, flow.codec)), - valueof(ts_SDP_ptime(20)) }); + flow.em.portnr, { int2str(flow.pt) }, attributes); resp := mgcp_transceive_mgw(cmd, tr_MDCX_ACK); /* extract MGW-side port number from response. (usually this -- To view, visit https://gerrit.osmocom.org/13160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic1840d5023cb3888a17980f4ed08c19175864896 Gerrit-Change-Number: 13160 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13161 ) Change subject: MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion ...................................................................... MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion osmo-mgw now implements a conversion between the AMR octet-aligned and banwith-efficient payload format. Lets add tests for this Change-Id: I050bfeabfb5fdbf986d429eef3af69fe8158d56e depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba related: SYS#4470 --- M mgw/MGCP_Test.ttcn M mgw/expected-results.xml 2 files changed, 67 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index a0a836b..467ebfc 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1380,6 +1380,67 @@ setverdict(pass); } + /* create two local RTP emulations; create two connections on MGW EP, see if + * exchanged data is converted between AMR octet-aligned and bandwith + * efficient-mode */ + function f_TC_amr_x_x_rtp_conversion(octetstring pl0, octetstring pl1, charstring fmtp0, charstring fmtp1) runs on dummy_CT { + var RtpFlowData flow[2]; + var RtpemStats stats[2]; + var MgcpResponse resp; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "2@" & c_mgw_domain; + var MgcpCallId call_id := '1226'H; + + f_init(ep); + + /* from us to MGW */ + flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); + /* bind local RTP emulation sockets */ + flow[0].em.portnr := 10000; + flow[0].rtp_cfg := c_RtpemDefaultCfg; + flow[0].rtp_cfg.tx_payload_type := flow[0].pt; + flow[0].rtp_cfg.rx_fixed_payload := pl0; + flow[0].rtp_cfg.tx_fixed_payload := pl0; + flow[0].fmtp := fmtp0; + f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]); + + /* from MGW back to us */ + flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 112, "AMR/8000")); + flow[1].em.portnr := 20000; + flow[1].rtp_cfg := c_RtpemDefaultCfg; + flow[1].rtp_cfg.tx_payload_type := flow[1].pt; + flow[1].rtp_cfg.rx_fixed_payload := pl1; + flow[1].rtp_cfg.tx_fixed_payload := pl1; + flow[1].fmtp := fmtp1; + f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]); + + f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + + f_sleep(1.0); + + f_flow_delete(RTPEM[0]); + f_flow_delete(RTPEM[1], ep, call_id); + + stats[0] := f_rtpem_stats_get(RTPEM[0]); + stats[1] := f_rtpem_stats_get(RTPEM[1]); + + f_rtpem_stats_err_check(stats[0]); + f_rtpem_stats_err_check(stats[1]); + + setverdict(pass); + } + + testcase TC_amr_oa_bwe_rtp_conversion() runs on dummy_CT { + f_TC_amr_x_x_rtp_conversion('100c4e9ba850e30d5d53d04de41e7c'O, '10d3a6ea1438c35754f41379079f'O, "octet-align=1", "octet-align=0"); + } + + testcase TC_amr_oa_oa_rtp_conversion() runs on dummy_CT { + f_TC_amr_x_x_rtp_conversion('100c4e9ba850e30d5d53d04de41e7c'O, '100c4e9ba850e30d5d53d04de41e7c'O, "octet-align=1", "octet-align=1"); + } + + testcase TC_amr_bwe_bwe_rtp_conversion() runs on dummy_CT { + f_TC_amr_x_x_rtp_conversion('10d3a6ea1438c35754f41379079f'O, '10d3a6ea1438c35754f41379079f'O, "octet-align=0", "octet-align=0"); + } /* TODO: Double-DLCX (no retransmission) */ @@ -1432,5 +1493,8 @@ execute(TC_two_crcx_and_unsolicited_rtp()); execute(TC_two_crcx_and_one_mdcx_rtp_ho()); execute(TC_ts101318_rfc5993_rtp_conversion()); + execute(TC_amr_oa_bwe_rtp_conversion()); + execute(TC_amr_oa_oa_rtp_conversion()); + execute(TC_amr_bwe_bwe_rtp_conversion()); } } diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index f5bc1a0..5c520c5 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -38,4 +38,7 @@ + + + -- To view, visit https://gerrit.osmocom.org/13161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I050bfeabfb5fdbf986d429eef3af69fe8158d56e Gerrit-Change-Number: 13161 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: fix TC_assignment_codec_amr_f/h In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13236 ) Change subject: BSC_Tests: fix TC_assignment_codec_amr_f/h ...................................................................... BSC_Tests: fix TC_assignment_codec_amr_f/h The testcase TC_assignment_codec_amr_f uses a combination of S-Bits that has S1 which configures a set of four rates at once. This is quite a complex situation and since the BSC was upgraded with new features affecting the behavior in this special case lets simplify this testcase for now. depends: osmo-bsc Ie52376b51fe07ed07056e8df2e9557293ff67a78 Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Related: SYS#4470 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5d8f375..58001e5 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2045,7 +2045,7 @@ }; pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F})); - pars.ass_codec_list.codecElements[0].s0_7 := '00000110'B; + pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */ pars.ass_codec_list.codecElements[0].s8_15 := '01010111'B; pars.expect_mr_conf_ie := mr_conf; @@ -2069,7 +2069,7 @@ }; pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H})); - pars.ass_codec_list.codecElements[0].s0_7 := '00000110'B; + pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */ pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B; pars.expect_mr_conf_ie := mr_conf; -- To view, visit https://gerrit.osmocom.org/13236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314 Gerrit-Change-Number: 13236 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:29:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:29:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: add testcases to verify S15-S0 handling In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13237 ) Change subject: BSC_Tests: add testcases to verify S15-S0 handling ...................................................................... BSC_Tests: add testcases to verify S15-S0 handling The handling of the AMR rate configuration bits S15-S0 is currently only superficially checked. Lets add more some more elaborated testcases to check through varios different situations. Also make sure that the resulting mr configuration IE is verified Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Related: SYS#4470 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/Osmocom_VTY_Functions.ttcn 3 files changed, 230 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 58001e5..659b3f6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1953,6 +1953,10 @@ ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0] := g_pars.ass_codec_list.codecElements[0]; + if (isvalue(g_pars.expect_mr_s0_s7)) { + exp_compl.pdu.bssmap.assignmentComplete.speechCodec.codecElements[0].s0_7 := + g_pars.expect_mr_s0_s7; + } } ass_cmd.pdu.bssmap.assignmentRequest.channelType := f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); @@ -1994,6 +1998,22 @@ } } +private function f_TC_assignment_codec_fail(charstring id) runs on MSC_ConnHdlr { + + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + + /* puzzle together the ASSIGNMENT REQ for given codec[s] */ + if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { + ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list; + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType := + f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]); + log("expecting ASS FAIL like this: ", exp_fail); + + f_establish_fully(ass_cmd, exp_fail); +} + testcase TC_assignment_codec_fr() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; @@ -2030,6 +2050,37 @@ vc_conn.done; } +/* Allow 5,90k only (current default config) */ +private function f_allow_amr_rate_5_90k() runs on test_CT { + f_vty_enter_cfg_msc(BSCVTY, 0); + f_vty_transceive(BSCVTY, "amr-config 12_2k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 10_2k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_95k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_40k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 6_70k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 5_90k allowed"); + f_vty_transceive(BSCVTY, "amr-config 5_15k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 4_75k forbidden"); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + +/* Allow 4,75k, 5,90k, 4,70k and 12,2k, which are the most common rates + * ("Config-NB-Code = 1") */ +private function f_allow_amr_rate_4_75k_5_90k_7_40k_12_20k() runs on test_CT { + f_vty_enter_cfg_msc(BSCVTY, 0); + f_vty_transceive(BSCVTY, "amr-config 12_2k allowed"); + f_vty_transceive(BSCVTY, "amr-config 10_2k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_95k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 7_40k allowed"); + f_vty_transceive(BSCVTY, "amr-config 6_70k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 5_90k allowed"); + f_vty_transceive(BSCVTY, "amr-config 5_15k forbidden"); + f_vty_transceive(BSCVTY, "amr-config 4_75k allowed"); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + testcase TC_assignment_codec_amr_f() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; @@ -2080,6 +2131,160 @@ vc_conn.done; } +function f_TC_assignment_codec_amr(boolean fr, octetstring mrconf, bitstring s8_s0, bitstring exp_s8_s0) +runs on test_CT { + + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + /* See note above */ + var RSL_IE_Body mr_conf := { + other := { + len := lengthof(mrconf), + payload := mrconf + } + }; + + if (fr) { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F})); + } else { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H})); + } + pars.ass_codec_list.codecElements[0].s0_7 := s8_s0; + pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B; + pars.expect_mr_conf_ie := mr_conf; + pars.expect_mr_s0_s7 := exp_s8_s0; + + f_init(1, true); + f_allow_amr_rate_4_75k_5_90k_7_40k_12_20k(); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars); + vc_conn.done; + f_allow_amr_rate_5_90k(); +} + +function f_TC_assignment_codec_amr_fail(boolean fr, bitstring s8_s0) +runs on test_CT { + + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + if (fr) { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F})); + } else { + pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H})); + } + pars.ass_codec_list.codecElements[0].s0_7 := s8_s0; + pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B; + + f_init(1, true); + f_allow_amr_rate_4_75k_5_90k_7_40k_12_20k(); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_assignment_codec_fail), pars); + vc_conn.done; + f_allow_amr_rate_5_90k(); +} + + +/* Set S1, we expect an AMR multirate configuration IE with all four rates + * set. */ +testcase TC_assignment_codec_amr_f_S1() runs on test_CT { + f_TC_assignment_codec_amr(true, '289520882208'O, '00000010'B, '00000010'B); +} + +/* Set S1, we expect an AMR multirate configuration IE with the lower three + * rates set. */ +testcase TC_assignment_codec_amr_h_S1() runs on test_CT { + f_TC_assignment_codec_amr(false, '2815208820'O, '00000010'B, '00000010'B); +} + +/* Set S1 and two other rates, we expect an AMR MULTIRATE CONFIGURATION IE with + * all four rates (and only S1 set in the ASSIGNMENT COMPLETE) */ +testcase TC_assignment_codec_amr_f_S124() runs on test_CT { + f_TC_assignment_codec_amr(true, '289520882208'O, '00010110'B, '00000010'B); +} + +/* Set S1 and two other rates, we expect an AMR MULTIRATE CONFIGURATION IE with + * all four rates (and only S1 set in the ASSIGNMENT COMPLETE) */ +testcase TC_assignment_codec_amr_h_S124() runs on test_CT { + f_TC_assignment_codec_amr(false, '2815208820'O, '00010110'B, '00000010'B); +} + +/* The following block of tests selects more and more rates until all four + * possible rates are in the active set (full rate) */ +testcase TC_assignment_codec_amr_f_S0() runs on test_CT { + f_TC_assignment_codec_amr(true, '2801'O, '00000001'B, '00000001'B); +} + +testcase TC_assignment_codec_amr_f_S02() runs on test_CT { + f_TC_assignment_codec_amr(true, '28052080'O, '00000101'B, '00000101'B); +} + +testcase TC_assignment_codec_amr_f_S024() runs on test_CT { + f_TC_assignment_codec_amr(true, '2815208820'O, '00010101'B, '00010101'B); +} + +testcase TC_assignment_codec_amr_f_S0247() runs on test_CT { + f_TC_assignment_codec_amr(true, '289520882208'O, '10010101'B, '10010101'B); +} + +/* The following block of tests selects more and more rates until all three + * possible rates are in the active set (half rate) */ +testcase TC_assignment_codec_amr_h_S0() runs on test_CT { + f_TC_assignment_codec_amr(false, '2801'O, '00000001'B, '00000001'B); +} + +testcase TC_assignment_codec_amr_h_S02() runs on test_CT { + f_TC_assignment_codec_amr(false, '28052080'O, '00000101'B, '00000101'B); +} + +testcase TC_assignment_codec_amr_h_S024() runs on test_CT { + f_TC_assignment_codec_amr(false, '2815208820'O, '00010101'B, '00010101'B); +} + +/* The following block tests what happens when the MSC does offer rate + * configurations that are not supported by the BSC. Normally such situations + * should not happen because the MSC gets informed by the BSC in advance via + * the L3 COMPLETE message which rates are applicable. The MSC should not try + * to offer rates that are not applicable anyway. */ + +testcase TC_assignment_codec_amr_h_S0247() runs on test_CT { + /* Try to include 12,2k in into the active set even though the channel + * is half rate only. The BSC is expected to remove the 12,0k */ + f_TC_assignment_codec_amr(false, '2815208820'O, '10010101'B, '00010101'B); +} + +testcase TC_assignment_codec_amr_f_S01234567() runs on test_CT { + /* See what happens when all rates are selected at once. Since then + * Also S1 is selected, this setting will be prefered and we should + * get 12.2k, 7,40k, 5,90k, and 4,75k in the active set. */ + f_TC_assignment_codec_amr(true, '289520882208'O, '11111111'B, '00000010'B); +} + +testcase TC_assignment_codec_amr_f_S0234567() runs on test_CT { + /* Same as above, but with S1 missing, the MSC is then expected to + * select the currently supported rates, which are also 12.2k, 7,40k, + * 5,90k, and 4,75k, into the active set. */ + f_TC_assignment_codec_amr(true, '289520882208'O, '11111101'B, '10010101'B); +} + +testcase TC_assignment_codec_amr_f_zero() runs on test_CT { + /* Try to select no rates at all */ + f_TC_assignment_codec_amr_fail(true, '00000000'B); +} + +testcase TC_assignment_codec_amr_f_unsupp() runs on test_CT { + /* Try to select only unsupported rates */ + f_TC_assignment_codec_amr_fail(true, '01101000'B); +} + +testcase TC_assignment_codec_amr_h_S7() runs on test_CT { + /* Try to select 12,2k for half rate */ + f_TC_assignment_codec_amr_fail(false, '10000000'B); +} + private function f_disable_all_tch_f() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 2 sub-slot 0 borken"); @@ -3753,6 +3958,23 @@ execute( TC_assignment_codec_efr() ); execute( TC_assignment_codec_amr_f() ); execute( TC_assignment_codec_amr_h() ); + execute( TC_assignment_codec_amr_f_S1() ); + execute( TC_assignment_codec_amr_h_S1() ); + execute( TC_assignment_codec_amr_f_S124() ); + execute( TC_assignment_codec_amr_h_S124() ); + execute( TC_assignment_codec_amr_f_S0() ); + execute( TC_assignment_codec_amr_f_S02() ); + execute( TC_assignment_codec_amr_f_S024() ); + execute( TC_assignment_codec_amr_f_S0247() ); + execute( TC_assignment_codec_amr_h_S0() ); + execute( TC_assignment_codec_amr_h_S02() ); + execute( TC_assignment_codec_amr_h_S024() ); + execute( TC_assignment_codec_amr_h_S0247() ); + execute( TC_assignment_codec_amr_f_S01234567() ); + execute( TC_assignment_codec_amr_f_S0234567() ); + execute( TC_assignment_codec_amr_f_zero() ); + execute( TC_assignment_codec_amr_f_unsupp() ); + execute( TC_assignment_codec_amr_h_S7() ); execute( TC_assignment_codec_fr_exhausted_req_hr() ); execute( TC_assignment_codec_fr_exhausted_req_fr() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 0ea73a0..96797c9 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -426,6 +426,7 @@ integer media_nr, /* determins MGCP EP, port numbers */ BSSMAP_IE_SpeechCodecList ass_codec_list optional, RSL_IE_Body expect_mr_conf_ie optional, /* typically present for AMR codecs */ + bitstring expect_mr_s0_s7 optional, /* typically present for AMR codecs */ TestHdlrEncrParams encr optional, TestHdlrParamsLcls lcls, TestHdlrParamsHandover handover optional, @@ -443,6 +444,7 @@ media_nr := 1, ass_codec_list := omit, expect_mr_conf_ie := omit, + expect_mr_s0_s7 := omit, encr := omit, lcls := { gcr := omit, diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn index 4f795ad..fde05b3 100644 --- a/library/Osmocom_VTY_Functions.ttcn +++ b/library/Osmocom_VTY_Functions.ttcn @@ -90,6 +90,7 @@ type integer BtsNr (0..255); type integer BtsTrxNr (0..255); type integer BtsTimeslotNr (0..7); + type integer MscNr (0..255); type charstring BtsGprsMode ("none", "gprs", "egrps"); @@ -118,6 +119,11 @@ f_vty_transceive(pt, "timeslot " & int2str(ts)); } + function f_vty_enter_cfg_msc(TELNETasp_PT pt, MscNr msc := 0) { + f_vty_enter_config(pt); + f_vty_transceive(pt, "msc " & int2str(msc)); + } + type record of charstring rof_charstring; function f_vty_config2(TELNETasp_PT pt, rof_charstring config_nodes, charstring cmd) { -- To view, visit https://gerrit.osmocom.org/13237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b Gerrit-Change-Number: 13237 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:35:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:35:16 +0000 Subject: Change in osmo-mgw[master]: AMR: Add function to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13159 ) Change subject: AMR: Add function to convert between bw-effient and octet aligned mode ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Gerrit-Change-Number: 13159 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 13:35:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:35:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:35:21 +0000 Subject: Change in osmo-mgw[master]: AMR: Add function to convert between bw-effient and octet aligned mode In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13159 ) Change subject: AMR: Add function to convert between bw-effient and octet aligned mode ...................................................................... AMR: Add function to convert between bw-effient and octet aligned mode RFC3267 specifies two framing modes for AMR packets. An octet aligned mode is specified where all fields of the AMR packets are aligned to octet boundaries. The second framing mode is the bandwith efficient mode where the fields are directly packed one after another. - add paring/generation functions for related SDP fmtp parameters - add conversion function to convert AMR payload Depends: libosmo-netif I5b5a0fa644d8dbb1f04f9d7e35312683c7b3d196 Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Related: OS#3807 --- M TODO-RELEASE M include/osmocom/mgcp/mgcp_codec.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_internal.h M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_fsm.c M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 14 files changed, 378 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index c5a3b36..67a1b21 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -24,3 +24,4 @@ # If any interfaces have been removed or changed since the last public release, a=0. # #library what description / commit summary line +libosmo-mgcp-client add struct members AMR SDP/fmtp parameter generation \ No newline at end of file diff --git a/include/osmocom/mgcp/mgcp_codec.h b/include/osmocom/mgcp/mgcp_codec.h index 334913b..2bbb86e 100644 --- a/include/osmocom/mgcp/mgcp_codec.h +++ b/include/osmocom/mgcp/mgcp_codec.h @@ -2,6 +2,6 @@ void mgcp_codec_summary(struct mgcp_conn_rtp *conn); void mgcp_codec_reset_all(struct mgcp_conn_rtp *conn); -int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name); +int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, struct mgcp_codec_param *param); int mgcp_codec_decide(struct mgcp_conn_rtp *conn); int mgcp_codec_pt_translate(struct mgcp_conn_rtp *conn_src, struct mgcp_conn_rtp *conn_dst, int payload_type); diff --git a/include/osmocom/mgcp/mgcp_common.h b/include/osmocom/mgcp/mgcp_common.h index a658f1c..75d5a37 100644 --- a/include/osmocom/mgcp/mgcp_common.h +++ b/include/osmocom/mgcp/mgcp_common.h @@ -57,6 +57,12 @@ MGCP_X_OSMO_IGN_CALLID = 1, }; +/* Codec parameters (communicated via SDP/fmtp) */ +struct mgcp_codec_param { + bool amr_octet_aligned_present; + bool amr_octet_aligned; +}; + /* Ensure that the msg->l2h is NUL terminated. */ static inline int mgcp_msg_terminate_nul(struct msgb *msg) { diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index 35b535a..ec94584 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -95,6 +95,9 @@ int payload_type; char *audio_name; char *subtype_name; + + bool param_present; + struct mgcp_codec_param param; }; /* 'mgcp_rtp_end': basically a wrapper around the RTP+RTCP ports */ diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 5650fc2..ac3e2b1 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -78,7 +78,7 @@ enum mgcp_codecs codecs[MGCP_MAX_CODECS]; unsigned int codecs_len; struct ptmap ptmap[MGCP_MAX_CODECS]; - unsigned int ptmap_len; + unsigned int ptmap_len; }; enum mgcp_verb { @@ -113,6 +113,8 @@ struct ptmap ptmap[MGCP_MAX_CODECS]; unsigned int ptmap_len; uint32_t x_osmo_ign; + bool param_present; + struct mgcp_codec_param param; }; void mgcp_client_conf_init(struct mgcp_client_conf *conf); diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index 716a6d4..dabfcca 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -51,6 +51,11 @@ /*! If left MGCP_CONN_NONE, use MGCP_CONN_RECV_ONLY or MGCP_CONN_RECV_SEND, depending on whether an audio RTP * address is set. If != MGCP_CONN_NONE, force this conn mode. */ enum mgcp_connection_mode conn_mode; + + /*! If the codec requires additional format parameters (fmtp), those cann be set here, see also + * mgcp_common.h */ + bool param_present; + struct mgcp_codec_param param; }; struct osmo_fsm_inst *mgcp_conn_create(struct mgcp_client *mgcp, struct osmo_fsm_inst *parent_fi, uint32_t parent_term_evt, diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index ead3512..88e5dab 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1051,6 +1051,20 @@ } rc += msgb_printf(msg, "\r\n"); + /* Add optional codec parameters (fmtp) */ + if (mgcp_msg->param_present) { + for (i = 0; i < mgcp_msg->codecs_len; i++) { + /* The following is only applicable for AMR */ + if (mgcp_msg->codecs[i] != CODEC_AMR_8000_1 && mgcp_msg->codecs[i] != CODEC_AMRWB_16000_1) + continue; + pt = map_codec_to_pt(mgcp_msg->ptmap, mgcp_msg->ptmap_len, mgcp_msg->codecs[i]); + if (mgcp_msg->param.amr_octet_aligned_present && mgcp_msg->param.amr_octet_aligned) + rc += msgb_printf(msg, "a=fmtp:%u octet-align=1\r\n", pt); + else if (mgcp_msg->param.amr_octet_aligned_present && !mgcp_msg->param.amr_octet_aligned) + rc += msgb_printf(msg, "a=fmtp:%u octet-align=0\r\n", pt); + } + } + for (i = 0; i < mgcp_msg->codecs_len; i++) { pt = map_codec_to_pt(mgcp_msg->ptmap, mgcp_msg->ptmap_len, mgcp_msg->codecs[i]); diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 7c4e081..71f4310 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -114,11 +114,13 @@ .conn_mode = MGCP_CONN_RECV_ONLY, .ptime = info->ptime, .codecs_len = info->codecs_len, - .ptmap_len = info->ptmap_len + .ptmap_len = info->ptmap_len, + .param_present = info->param_present }; osmo_strlcpy(mgcp_msg->endpoint, info->endpoint, MGCP_ENDPOINT_MAXLEN); memcpy(mgcp_msg->codecs, info->codecs, sizeof(mgcp_msg->codecs)); memcpy(mgcp_msg->ptmap, info->ptmap, sizeof(mgcp_msg->ptmap)); + memcpy(&mgcp_msg->param, &info->param, sizeof(mgcp_msg->param)); if (info->x_osmo_ign) { mgcp_msg->x_osmo_ign = info->x_osmo_ign; @@ -156,11 +158,13 @@ .audio_port = mgcp_ctx->conn_peer_local.port, .ptime = mgcp_ctx->conn_peer_local.ptime, .codecs_len = mgcp_ctx->conn_peer_local.codecs_len, - .ptmap_len = mgcp_ctx->conn_peer_local.ptmap_len + .ptmap_len = mgcp_ctx->conn_peer_local.ptmap_len, + .param_present = mgcp_ctx->conn_peer_local.param_present }; osmo_strlcpy(mgcp_msg.endpoint, mgcp_ctx->conn_peer_remote.endpoint, MGCP_ENDPOINT_MAXLEN); memcpy(mgcp_msg.codecs, mgcp_ctx->conn_peer_local.codecs, sizeof(mgcp_msg.codecs)); memcpy(mgcp_msg.ptmap, mgcp_ctx->conn_peer_local.ptmap, sizeof(mgcp_msg.ptmap)); + memcpy(&mgcp_msg.param, &mgcp_ctx->conn_peer_local.param, sizeof(mgcp_ctx->conn_peer_local.param)); set_conn_mode(&mgcp_msg, &mgcp_ctx->conn_peer_local); diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c index 55be554..933284d 100644 --- a/src/libosmo-mgcp/mgcp_codec.c +++ b/src/libosmo-mgcp/mgcp_codec.c @@ -100,8 +100,8 @@ } /* Set members of struct mgcp_rtp_codec, extrapolate in missing information */ -static int codec_set(void *ctx, struct mgcp_rtp_codec *codec, - int payload_type, const char *audio_name, unsigned int pt_offset) +static int codec_set(void *ctx, struct mgcp_rtp_codec *codec, int payload_type, const char *audio_name, + unsigned int pt_offset, struct mgcp_codec_param *param) { int rate; int channels; @@ -219,6 +219,13 @@ } } + /* Copy over optional codec parameters */ + if (param) { + codec->param = *param; + codec->param_present = true; + } else + codec->param_present = false; + return 0; error: /* Make sure we leave a clean codec entry on error. */ @@ -233,8 +240,9 @@ * \param[out] conn related rtp-connection. * \param[in] payload_type codec type id (e.g. 3 for GSM, -1 when undefined). * \param[in] audio_name audio codec name (e.g. "GSM/8000/1"). + * \param[in] param optional codec parameters (set to NULL when unused). * \returns 0 on success, -EINVAL on failure. */ -int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name) +int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, struct mgcp_codec_param *param) { int rc; @@ -244,7 +252,7 @@ return -EINVAL; rc = codec_set(conn->conn, &conn->end.codecs[conn->end.codecs_assigned], payload_type, audio_name, - conn->end.codecs_assigned); + conn->end.codecs_assigned, param); if (rc != 0) return -EINVAL; diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index e4fd7c0..2c6c571 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -684,6 +685,86 @@ } } +/* For AMR RTP two framing modes are defined RFC3267. There is a bandwith + * efficient encoding scheme where all fields are packed together one after + * another and an octet aligned mode where all fields are aligned to octet + * boundaries. This function is used to convert between the two modes */ +static int amr_oa_bwe_convert(struct mgcp_endpoint *endp, char *data, int *len, + bool target_is_oa) +{ + /* NOTE: *data has an overall length of RTP_BUF_SIZE, so there is + * plenty of space available to store the slightly larger, converted + * data */ + + struct rtp_hdr *rtp_hdr; + unsigned int payload_len; + int rc; + + OSMO_ASSERT(*len >= sizeof(struct rtp_hdr)); + rtp_hdr = (struct rtp_hdr *)data; + + payload_len = *len - sizeof(struct rtp_hdr); + + if (osmo_amr_is_oa(rtp_hdr->data, payload_len)) { + if (!target_is_oa) + /* Input data is oa an target format is bwe + * ==> convert */ + rc = osmo_amr_oa_to_bwe(rtp_hdr->data, payload_len); + else + /* Input data is already bew, but we accept it anyway + * ==> no conversion needed */ + rc = payload_len; + } else { + if (target_is_oa) + /* Input data is bwe an target format is oa + * ==> convert */ + rc = osmo_amr_bwe_to_oa(rtp_hdr->data, payload_len, + RTP_BUF_SIZE); + else + /* Input data is already oa, but we accept it anyway + * ==> no conversion needed */ + rc = payload_len; + } + if (rc < 0) { + LOGP(DRTP, LOGL_ERROR, + "endpoint:0x%x AMR RTP packet conversion failed\n", + ENDPOINT_NUMBER(endp)); + return -EINVAL; + } + + *len = rc + sizeof(struct rtp_hdr); + + return 0; +} + +/* Check if a conversion between octet-aligned and bandwith-efficient mode is + * indicated. */ +static bool amr_oa_bwe_convert_indicated(struct mgcp_rtp_codec *codec) +{ + if (codec->param_present == false) + return false; + if (!codec->param.amr_octet_aligned_present) + return false; + if (strcmp(codec->subtype_name, "AMR") != 0) + return false; + return true; +} + + +/* Check if a given RTP with AMR payload for octet-aligned mode */ +static bool amr_oa_check(char *data, int len) +{ + struct rtp_hdr *rtp_hdr; + unsigned int payload_len; + + OSMO_ASSERT(len >= sizeof(struct rtp_hdr)); + rtp_hdr = (struct rtp_hdr *)data; + + payload_len = len - sizeof(struct rtp_hdr); + + return osmo_amr_is_oa(rtp_hdr->data, payload_len); +} + /* Forward data to a debug tap. This is debug function that is intended for * debugging the voice traffic with tools like gstreamer */ static void forward_data(int fd, struct mgcp_rtp_tap *tap, const char *buf, @@ -792,7 +873,11 @@ mgcp_patch_and_count(endp, rtp_state, rtp_end, addr, buf, buflen); - if (rtp_end->rfc5993_hr_convert + if (amr_oa_bwe_convert_indicated(conn_dst->end.codec)) { + amr_oa_bwe_convert(endp, buf, &buflen, + conn_dst->end.codec->param.amr_octet_aligned); + } + else if (rtp_end->rfc5993_hr_convert && strcmp(conn_src->end.codec->subtype_name, "GSM-HR-08") == 0) rfc5993_hr_convert(endp, buf, &buflen); @@ -1302,6 +1387,15 @@ len, conn_src, conn_src); } + /* If AMR is configured for the ingress connection a conversion of the + * framing mode (octet-aligned vs. bandwith-efficient is explicitly + * define, then we check if the incoming payload matches that + * expectation. */ + if (amr_oa_bwe_convert_indicated(conn_src->end.codec)) { + if (amr_oa_check(buf, len) != conn_src->end.codec->param.amr_octet_aligned) + return -1; + } + /* Execute endpoint specific implementation that handles the * dispatching of the RTP data */ return endp->type->dispatch_rtp_cb(proto, &addr, buf, len, diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 82db02f..4121b9f 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -724,7 +724,7 @@ /* When no SDP is available, we use the codec information from * the local connection options (if present) */ mgcp_codec_reset_all(conn); - rc = mgcp_codec_add(conn, PTYPE_UNDEFINED, endp->local_options.codec); + rc = mgcp_codec_add(conn, PTYPE_UNDEFINED, endp->local_options.codec, NULL); if (rc != 0) goto error; } @@ -735,7 +735,7 @@ * than it makes sense to pick a sane default: (payload-type 0, * PCMU), see also: OS#2658 */ mgcp_codec_reset_all(conn); - rc = mgcp_codec_add(conn, 0, NULL); + rc = mgcp_codec_add(conn, 0, NULL, NULL); if (rc != 0) goto error; } diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 3287cd1..02b9695 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -30,9 +30,9 @@ #include -/* A struct to store intermediate parsing results. The function - * mgcp_parse_sdp_data() is using it as temporary storage for parsing the SDP - * codec information. */ +/* Two structs to store intermediate parsing results. The function + * mgcp_parse_sdp_data() is using the following two structs as temporary + * storage for parsing the SDP codec information. */ struct sdp_rtp_map { /* the type */ int payload_type; @@ -44,6 +44,11 @@ int rate; int channels; }; +struct sdp_fmtp_param { + int payload_type; + struct mgcp_codec_param param; +}; + /* Helper function to extrapolate missing codec parameters in a codec mao from * an already filled in payload_type, called from: mgcp_parse_sdp_data() */ @@ -168,6 +173,92 @@ return -EINVAL; } +/* Extract fmtp parameters from SDP, called from: mgcp_parse_sdp_data() */ +static int fmtp_from_sdp(void *ctx, struct sdp_fmtp_param *fmtp_param, char *sdp) +{ + char *str; + char *str_ptr; + char *param_str; + unsigned int pt; + unsigned int count = 0; + char delimiter; + unsigned int amr_octet_aligned; + + memset(fmtp_param, 0, sizeof(*fmtp_param)); + + str = talloc_zero_size(ctx, strlen(sdp) + 1); + str_ptr = str; + strcpy(str_ptr, sdp); + + /* Check if the input string begins with an fmtp token */ + str_ptr = strstr(str_ptr, "fmtp:"); + if (!str_ptr) + goto exit; + str_ptr += 5; + + /* Extract payload type */ + if (sscanf(str_ptr, "%u ", &pt) != 1) + goto error; + fmtp_param->payload_type = pt; + + /* Advance pointer to the beginning of the parameter section and + * tokenize string */ + str_ptr = strstr(str_ptr, " "); + if (!str_ptr) + goto error; + str_ptr++; + + param_str = strtok(str_ptr, " "); + if (!param_str) + goto exit; + + while (1) { + /* Make sure that we don't get trapped in an endless loop */ + if (count > 256) + goto error; + + /* Chop off delimiters ';' at the end */ + delimiter = str_ptr[strlen(str_ptr) - 1]; + if (delimiter == ';' || delimiter == ',') + str_ptr[strlen(str_ptr) - 1] = '\0'; + + /* AMR octet aligned parameter */ + if (sscanf(param_str, "octet-align=%d", &amr_octet_aligned) == 1) { + fmtp_param->param.amr_octet_aligned_present = true; + fmtp_param->param.amr_octet_aligned = false; + if (amr_octet_aligned == 1) + fmtp_param->param.amr_octet_aligned = true; + + } + + param_str = strtok(NULL, " "); + if (!param_str) + break; + count++; + } + +exit: + talloc_free(str); + return 0; +error: + talloc_free(str); + return -EINVAL; +} + +/* Pick optional fmtp parameters by payload type, if there are no fmtp + * parameters, a nullpointer is returned */ +static struct mgcp_codec_param *param_by_pt(int pt, struct sdp_fmtp_param *fmtp_params, unsigned int fmtp_params_len) +{ + unsigned int i; + + for (i = 0; i < fmtp_params_len; i++) { + if (fmtp_params[i].payload_type == pt) + return &fmtp_params[i].param; + } + + return NULL; +} + /*! Analyze SDP input string. * \param[in] endp trunk endpoint. * \param[out] conn associated rtp connection. @@ -181,6 +272,9 @@ { struct sdp_rtp_map codecs[MGCP_MAX_CODECS]; unsigned int codecs_used = 0; + struct sdp_fmtp_param fmtp_params[MGCP_MAX_CODECS]; + unsigned int fmtp_used = 0; + struct mgcp_codec_param *codec_param; char *line; unsigned int i; void *tmp_ctx = talloc_new(NULL); @@ -225,6 +319,14 @@ rtp->maximum_packet_time = ptime2; break; } + + if (strncmp("a=fmtp:", line, 6) == 0) { + rc = fmtp_from_sdp(conn->conn, &fmtp_params[fmtp_used], line); + if (rc >= 0) + fmtp_used++; + break; + } + break; case 'm': rc = sscanf(line, "m=audio %d RTP/AVP", &port); @@ -266,7 +368,8 @@ /* Store parsed codec information */ for (i = 0; i < codecs_used; i++) { - rc = mgcp_codec_add(conn, codecs[i].payload_type, codecs[i].map_line); + codec_param = param_by_pt(codecs[i].payload_type, fmtp_params, fmtp_used); + rc = mgcp_codec_add(conn, codecs[i].payload_type, codecs[i].map_line, codec_param); if (rc < 0) LOGP(DLMGCP, LOGL_NOTICE, "endpoint:0x%x, failed to add codec\n", ENDPOINT_NUMBER(p->endp)); } @@ -334,6 +437,64 @@ return 0; } +/* Add fmtp strings to sdp payload */ +static int add_fmtp(struct msgb *sdp, struct sdp_fmtp_param *fmtp_params, unsigned int fmtp_params_len, + const char *fmtp_extra) +{ + unsigned int i; + int rc; + int fmtp_extra_pt = -1; + char *fmtp_extra_pars = ""; + + /* When no fmtp parameters ara available but an fmtp extra string + * is configured, just add the fmtp extra string */ + if (fmtp_params_len == 0 && fmtp_extra) { + return msgb_printf(sdp, "%s\r\n", fmtp_extra); + } + + /* When there is fmtp extra configured we dissect it in order to drop + * in the configured extra parameters at the right place when + * generating the fmtp strings. */ + if (fmtp_extra) { + if (sscanf(fmtp_extra, "a=fmtp:%d ", &fmtp_extra_pt) != 1) + fmtp_extra_pt = -1; + + fmtp_extra_pars = strstr(fmtp_extra, " "); + + if (!fmtp_extra_pars) + fmtp_extra_pars = ""; + else + fmtp_extra_pars++; + } + + for (i = 0; i < fmtp_params_len; i++) { + rc = msgb_printf(sdp, "a=fmtp:%u", fmtp_params[i].payload_type); + + /* Add amr octet align parameter */ + if (fmtp_params[i].param.amr_octet_aligned_present) { + if (fmtp_params[i].param.amr_octet_aligned) + rc = msgb_printf(sdp, " octet-align=1"); + else + rc = msgb_printf(sdp, " octet-align=0"); + if (rc < 0) + return -EINVAL; + } + + /* Append extra parameters from fmtp extra */ + if (fmtp_params[i].payload_type == fmtp_extra_pt) { + rc = msgb_printf(sdp, " %s", fmtp_extra_pars); + if (rc < 0) + return -EINVAL; + } + + rc = msgb_printf(sdp, "\r\n", fmtp_params[i].payload_type); + if (rc < 0) + return -EINVAL; + } + + return 0; +} + /*! Generate SDP response string. * \param[in] endp trunk endpoint. * \param[in] conn associated rtp connection. @@ -348,8 +509,11 @@ const char *fmtp_extra; const char *audio_name; int payload_type; + struct sdp_fmtp_param fmtp_param; int rc; int payload_types[1]; + struct sdp_fmtp_param fmtp_params[1]; + unsigned int fmtp_params_len = 0; OSMO_ASSERT(endp); OSMO_ASSERT(conn); @@ -387,12 +551,15 @@ goto buffer_too_small; } - if (fmtp_extra) { - rc = msgb_printf(sdp, "%s\r\n", fmtp_extra); - - if (rc < 0) - goto buffer_too_small; + if (codec->param_present) { + fmtp_param.payload_type = payload_type; + fmtp_param.param = codec->param; + fmtp_params[0] = fmtp_param; + fmtp_params_len = 1; } + rc = add_fmtp(sdp, fmtp_params, fmtp_params_len, fmtp_extra); + if (rc < 0) + goto buffer_too_small; } if (conn->end.packet_duration_ms > 0 && endp->tcfg->audio_send_ptime) { rc = msgb_printf(sdp, "a=ptime:%u\r\n", diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 78ddcdc..be45598 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -467,6 +467,34 @@ "M: recvonly\r\n" \ "C: 2\r\n" +#define CRCX_AMR_WITH_FMTP \ + "CRCX 2 7 at mgw MGCP 1.0\r\n" \ + "M: recvonly\r\n" \ + "C: 2\r\n" \ + "X\r\n" \ + "L: p:20\r\n" \ + "\r\n" \ + "v=0\r\n" \ + "c=IN IP4 123.12.12.123\r\n" \ + "m=audio 5904 RTP/AVP 111\r\n" \ + "a=rtpmap:111 AMR/8000/1\r\n" \ + "a=ptime:20\r\n" \ + "a=fmtp:111 mode-change-capability=2; octet-align=1\r\n" \ + +#define CRCX_AMR_WITH_FMTP_RET \ + "200 2 OK\r\n" \ + "I: %s\r\n" \ + "\r\n" \ + "v=0\r\n" \ + "o=- %s 23 IN IP4 0.0.0.0\r\n" \ + "s=-\r\n" \ + "c=IN IP4 0.0.0.0\r\n" \ + "t=0 0\r\n" \ + "m=audio 16012 RTP/AVP 111\r\n" \ + "a=rtpmap:111 AMR/8000/1\r\n" \ + "a=fmtp:111 octet-align=1\r\n" \ + "a=ptime:20\r\n" + #define CRCX_NO_LCO_NO_SDP_RET \ "200 2 OK\r\n" \ "I: %s\r\n" \ @@ -517,6 +545,7 @@ {"CRCX", CRCX_NO_LCO_NO_SDP, CRCX_NO_LCO_NO_SDP_RET, 97}, {"CRCX", CRCX_X_OSMO_IGN, CRCX_X_OSMO_IGN_RET, 97}, {"MDCX_TOO_LONG_CI", MDCX_TOO_LONG_CI, MDCX_TOO_LONG_CI_RET}, + {"CRCX", CRCX_AMR_WITH_FMTP, CRCX_AMR_WITH_FMTP_RET}, }; static const struct mgcp_test retransmit[] = { @@ -1246,7 +1275,7 @@ rtp = &conn->end; - OSMO_ASSERT(mgcp_codec_add(conn, PTYPE_UNDEFINED, "AMR/8000/1") == 0); + OSMO_ASSERT(mgcp_codec_add(conn, PTYPE_UNDEFINED, "AMR/8000/1", NULL) == 0); rtp->codec = &rtp->codecs[0]; for (i = 0; i < ARRAY_SIZE(test_rtp_packets1); ++i) { diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 28e9aad..d21eaa1 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -459,6 +459,30 @@ Testing CRCX creating message from statically defined input: ---------8<--------- +CRCX 2 7 at mgw MGCP 1.0 +M: recvonly +C: 2 +X +L: p:20 + +v=0 +c=IN IP4 123.12.12.123 +m=audio 5904 RTP/AVP 111 +a=rtpmap:111 AMR/8000/1 +a=ptime:20 +a=fmtp:111 mode-change-capability=2; octet-align=1 + +---------8<--------- +checking response: +using message with patched conn_id for comparison +Response matches our expectations. +(response contains a connection id) +Dummy packets: 2 + +================================================ +Testing CRCX +creating message from statically defined input: +---------8<--------- CRCX 2 1 at mgw MGCP 1.0 M: recvonly C: 2 -- To view, visit https://gerrit.osmocom.org/13159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Gerrit-Change-Number: 13159 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:36:27 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 13:36:27 +0000 Subject: Change in osmo-pcu[master]: Explicitly clean up BTS singleton Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13318 Change subject: Explicitly clean up BTS singleton ...................................................................... Explicitly clean up BTS singleton Add method to explicitly cleanup BTS singleton similar to GprsMsStorage class and use it from main(). The destructor becomes trivial wrapper around cleanup() method. This prevents annoying SIGABRT on exit of OsmoPCU caused by rate_ctr_group_free() being called after talloc_free() which removes the context in which counter group is allocated. Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 --- M src/bts.cpp M src/bts.h M src/pcu_main.cpp 3 files changed, 22 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/13318/1 diff --git a/src/bts.cpp b/src/bts.cpp index 1804c52..e07b840 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -197,6 +197,11 @@ return BTS::main_bts()->bts_data(); } +void bts_cleanup() +{ + return BTS::main_bts()->cleanup(); +} + struct rate_ctr_group *bts_main_data_stats() { return BTS::main_bts()->rate_counters(); @@ -239,16 +244,27 @@ OSMO_ASSERT(m_statg); } -BTS::~BTS() +void BTS::cleanup() { /* this can cause counter updates and must not be left to the * m_ms_store's destructor */ m_ms_store.cleanup(); - rate_ctr_group_free(m_ratectrs); - osmo_stat_item_group_free(m_statg); + if (m_ratectrs) { + rate_ctr_group_free(m_ratectrs); + m_ratectrs = NULL; + } + + if (m_statg) { + osmo_stat_item_group_free(m_statg); + m_statg = NULL; + } } +BTS::~BTS() +{ + cleanup(); +} void BTS::set_current_frame_number(int fn) { diff --git a/src/bts.h b/src/bts.h index b83ab4b..ee5a692 100644 --- a/src/bts.h +++ b/src/bts.h @@ -272,6 +272,7 @@ BTS(); ~BTS(); + void cleanup(); static BTS* main_bts(); @@ -591,6 +592,7 @@ #ifdef __cplusplus extern "C" { #endif + void bts_cleanup(); struct gprs_rlcmac_bts *bts_main_data(); struct rate_ctr_group *bts_main_data_stats(); struct osmo_stat_item_group *bts_main_data_stat_items(); diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index a0f31d1..c39c337 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -356,6 +356,7 @@ pcu_l1if_close(); + bts_cleanup(); talloc_report_full(tall_pcu_ctx, stderr); talloc_free(tall_pcu_ctx); -- To view, visit https://gerrit.osmocom.org/13318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 Gerrit-Change-Number: 13318 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:39:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:39:14 +0000 Subject: Change in osmo-msc[master]: a_iface: OSMO_ASSERT() if we ever want to send BSSAP with invalid length In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/12928 ) Change subject: a_iface: OSMO_ASSERT() if we ever want to send BSSAP with invalid length ...................................................................... a_iface: OSMO_ASSERT() if we ever want to send BSSAP with invalid length Let's add a safeguard against sending BSSAP messages with invalid length values. This should never happen, and we'd rather see osmo-msc assert during the development cycle than ever releasing a version which sends invalid messages out on the wire. Change-Id: I94327a0d276c65b528a8c7e33dde61ed53582284 Related: OS#3805 --- M src/libmsc/a_iface.c 1 file changed, 13 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libmsc/a_iface.c b/src/libmsc/a_iface.c index 9a7dcd0..91a2b6a 100644 --- a/src/libmsc/a_iface.c +++ b/src/libmsc/a_iface.c @@ -148,6 +148,19 @@ OSMO_ASSERT(conn->a.scu); LOGPCONN(conn, LOGL_DEBUG, "N-DATA.req(%s)\n", msgb_hexdump_l3(msg)); + + /* some consistency checks to ensure we don't send invalid length */ + switch (msg->l3h[0]) { + case BSSAP_MSG_DTAP: + OSMO_ASSERT(msgb_l3len(msg) == msg->l3h[2] + 3); + break; + case BSSAP_MSG_BSS_MANAGEMENT: + OSMO_ASSERT(msgb_l3len(msg) == msg->l3h[1] + 2); + break; + default: + break; + } + return osmo_sccp_tx_data_msg(conn->a.scu, conn->a.conn_id, msg); } -- To view, visit https://gerrit.osmocom.org/12928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I94327a0d276c65b528a8c7e33dde61ed53582284 Gerrit-Change-Number: 12928 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:40:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:40:54 +0000 Subject: Change in libosmo-netif[master]: Deprecate osmo_stream_cli_open2() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/12845 ) Change subject: Deprecate osmo_stream_cli_open2() ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/12845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id988ed0274b363db049f59cbf6a193727c8c3c8a Gerrit-Change-Number: 12845 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:40:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:40:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:40:55 +0000 Subject: Change in libosmo-netif[master]: Deprecate osmo_stream_cli_open2() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/12845 ) Change subject: Deprecate osmo_stream_cli_open2() ...................................................................... Deprecate osmo_stream_cli_open2() This supposed to be variant of osmo_stream_cli_open() with explicit control over reconnection logic but it's plain broken: doxygen docs contradict the code, actual reconnection logic is affected by timeout parameter directly which is set in different function. It seems like we haven't been affected by this so far because we always use it in auto-reconnection mode which is triggered by default due to positive reconnection timeout value (5 sec) automatically used in the absense of explicitly set timeout. Looking at commit history, this function already been source of confusion in the past. Instead of trying to fix this mess, let's just deprecate it entirely and properly document use of osmo_stream_cli_set_reconnect_timeout() to control reconnection logic. The only known user is libosmo-sccp which won't use it as of 0a93a683f3cb8e5977eb4a666ab207db6e7d7af9 commit. Change-Id: Id988ed0274b363db049f59cbf6a193727c8c3c8a --- M include/osmocom/netif/stream.h M src/stream.c M tests/stream/stream_test.c 3 files changed, 120 insertions(+), 7 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index 56162e4..f1c160c 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -72,7 +72,8 @@ void osmo_stream_cli_destroy(struct osmo_stream_cli *cli); int osmo_stream_cli_open(struct osmo_stream_cli *cli); -int osmo_stream_cli_open2(struct osmo_stream_cli *cli, int reconnect); +int osmo_stream_cli_open2(struct osmo_stream_cli *cli, int reconnect) \ + OSMO_DEPRECATED("Use osmo_stream_cli_set_reconnect_timeout() or osmo_stream_cli_reconnect() instead"); void osmo_stream_cli_close(struct osmo_stream_cli *cli); void osmo_stream_cli_send(struct osmo_stream_cli *cli, struct msgb *msg); diff --git a/src/stream.c b/src/stream.c index c4db3d7..3d0b665 100644 --- a/src/stream.c +++ b/src/stream.c @@ -166,8 +166,9 @@ void osmo_stream_cli_close(struct osmo_stream_cli *cli); /*! \brief Re-connect an Osmocom Stream Client - * If re-connection is enabled for this client, we close any existing - * connection (if any) and schedule a re-connect timer */ + * If re-connection is enabled for this client + * (which is the case unless negative timeout was explicitly set via osmo_stream_cli_set_reconnect_timeout() call), + * we close any existing connection (if any) and schedule a re-connect timer */ void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli) { osmo_stream_cli_close(cli); @@ -391,7 +392,7 @@ /*! \brief Set the reconnect time of the stream client socket * \param[in] cli Stream Client to modify - * \param[in] timeout Re-connect timeout in seconds */ + * \param[in] timeout Re-connect timeout in seconds or negative value to disable auto-reconnection */ void osmo_stream_cli_set_reconnect_timeout(struct osmo_stream_cli *cli, int timeout) { @@ -475,7 +476,8 @@ talloc_free(cli); } -/*! \brief Open connection of an Osmocom stream client +/*! \brief DEPRECATED: use osmo_stream_cli_set_reconnect_timeout() or osmo_stream_cli_reconnect() instead! + * Open connection of an Osmocom stream client * \param[in] cli Stream Client to connect * \param[in] reconect 1 if we should not automatically reconnect */ @@ -534,10 +536,44 @@ } /*! \brief Open connection of an Osmocom stream client + * By default the client will automatically reconnect after default timeout. + * To disable this, use osmo_stream_cli_set_reconnect_timeout() before calling this function. * \param[in] cli Stream Client to connect */ int osmo_stream_cli_open(struct osmo_stream_cli *cli) { - return osmo_stream_cli_open2(cli, 0); + int ret; + + /* we are reconfiguring this socket, close existing first. */ + if ((cli->flags & OSMO_STREAM_CLI_F_RECONF) && cli->ofd.fd >= 0) + osmo_stream_cli_close(cli); + + cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; + + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr, cli->local_port, + cli->addr, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + if (ret < 0) { + osmo_stream_cli_reconnect(cli); + return ret; + } + cli->ofd.fd = ret; + + if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { + ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); + if (ret < 0) + goto error_close_socket; + } + + if (osmo_fd_register(&cli->ofd) < 0) + goto error_close_socket; + + return 0; + +error_close_socket: + close(ret); + cli->ofd.fd = -1; + return -EIO; } static void cli_timer_cb(void *data) @@ -549,7 +585,7 @@ switch(cli->state) { case STREAM_CLI_STATE_CONNECTING: cli->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; - osmo_stream_cli_open2(cli, 1); + osmo_stream_cli_open(cli); break; default: break; diff --git a/tests/stream/stream_test.c b/tests/stream/stream_test.c index 1a0c555..439ea1a 100644 --- a/tests/stream/stream_test.c +++ b/tests/stream/stream_test.c @@ -126,6 +126,76 @@ return cli; } +/* Without explicit timeout set with osmo_stream_cli_set_reconnect_timeout() default value is used. +static struct osmo_stream_cli *init_client_reconnection_broken1(struct osmo_stream_cli *cli, bool autoreconnect) +{ + if (osmo_stream_cli_open2(cli, autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} +That's why those those functions result in exact the same output despite inverse use of autoreconnect parameter. +static struct osmo_stream_cli *init_client_reconnection_broken2(struct osmo_stream_cli *cli, bool autoreconnect) +{ + if (osmo_stream_cli_open2(cli, !autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +Variant below are also equivalent to each other. +static struct osmo_stream_cli *init_client_reconnection_broken1(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, (!autoreconnect) ? 2 : -1); + if (osmo_stream_cli_open2(cli, autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +static struct osmo_stream_cli *init_client_reconnection_broken2(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, (!autoreconnect) ? 2 : -1); + if (osmo_stream_cli_open2(cli, !autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} +Note: the result differs from normal init_client_reconnection() +*/ + +/* Setting reconnection value explicitly as follows is equivalent to normal init_client_reconnection() +static struct osmo_stream_cli *init_client_reconnection_broken1(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? 2 : -1); + if (osmo_stream_cli_open2(cli, autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +static struct osmo_stream_cli *init_client_reconnection_broken2(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? 2 : -1); + if (osmo_stream_cli_open2(cli, !autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} +*/ + static struct osmo_stream_cli *make_client(void *ctx, const char *host, unsigned port, bool autoreconnect) { struct osmo_stream_cli *cli = osmo_stream_cli_create(ctx); @@ -141,6 +211,12 @@ osmo_stream_cli_set_connect_cb(cli, connect_cb_cli); osmo_stream_cli_set_read_cb(cli, read_cb_cli); + /* using + return init_client_reconnection_broken1(cli, autoreconnect); + or + return init_client_reconnection_broken2(cli, autoreconnect); + will result in exactly the same output which might or might not be the same as with + init_client_reconnection() - see preceeding notes */ return init_client_reconnection(cli, autoreconnect); } -- To view, visit https://gerrit.osmocom.org/12845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id988ed0274b363db049f59cbf6a193727c8c3c8a Gerrit-Change-Number: 12845 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:41:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:41:49 +0000 Subject: Change in libosmocore[master]: ipa_ccm_idtag_parse*: Fix reported length value In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/10216 ) Change subject: ipa_ccm_idtag_parse*: Fix reported length value ...................................................................... ipa_ccm_idtag_parse*: Fix reported length value IPA CCM is using a somewhat weird TLV encoding scheme: * 16bit length (of tag and value) * 8bit tag * value Our existing code mapping the CCM to 'struct tlv_parse' used the plain length value without accounting for the one-byte tag. This patch ensures we only report the length of the "value" part, excluding the tag. Change-Id: I435aaa33605bd48635715a2c81aa2d231c1abf51 --- M src/gsm/ipa.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Neels Hofmeyr: Looks good to me, but someone else must approve Max: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index d423c26..b6fdc98 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -128,7 +128,7 @@ DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); - dec->lv[t_tag].len = t_len - len_offset; + dec->lv[t_tag].len = t_len - 1 - len_offset; dec->lv[t_tag].val = cur; cur += t_len - len_offset; -- To view, visit https://gerrit.osmocom.org/10216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I435aaa33605bd48635715a2c81aa2d231c1abf51 Gerrit-Change-Number: 10216 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:43:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:43:54 +0000 Subject: Change in osmo-ci[master]: Add timeout wrapper to regular gerrit verification jobs In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/12857 ) Change subject: Add timeout wrapper to regular gerrit verification jobs ...................................................................... Patch Set 2: would be great to get some answers to the questions raised by the last comments ~4 weeks ago. The general rule should be to use jenkins facilities *if* they do what we want. If we need local cleanup in our script and cannot do that with jenkins facilities: Then let's go for a script approach like here. -- To view, visit https://gerrit.osmocom.org/12857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9d0eb6b9eddf3e17120e74d7570d42291c0750ae Gerrit-Change-Number: 12857 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:43:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:44:12 +0000 Subject: Change in osmo-bsc[master]: OML: Fix encoded length value of OML GET ATTRIBUTES In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/12890 ) Change subject: OML: Fix encoded length value of OML GET ATTRIBUTES ...................................................................... OML: Fix encoded length value of OML GET ATTRIBUTES Before this patch, all OML GET ATTRIBUTES messages were encoded with an erroneous OML header length value. The length value was always three bytes less than the actual message length. This patch fixes the problem. Change-Id: I56068de0bb14a99ec39be587e542e27cddb7d1df Closes: OS#3799 --- M src/osmo-bsc/abis_nm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index f1306fc..826c1e2 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -1717,7 +1717,7 @@ msg = nm_msgb_alloc(); oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE); - fill_om_fom_hdr(oh, attr_len, NM_MT_GET_ATTR, obj_class, + fill_om_fom_hdr(oh, TL16V_GROSS_LEN(attr_len), NM_MT_GET_ATTR, obj_class, bts_nr, trx_nr, ts_nr); msgb_tl16v_put(msg, NM_ATT_LIST_REQ_ATTR, attr_len, attr); -- To view, visit https://gerrit.osmocom.org/12890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I56068de0bb14a99ec39be587e542e27cddb7d1df Gerrit-Change-Number: 12890 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:44:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:44:57 +0000 Subject: Change in libosmocore[master]: vty/tdef_vty.c: drop redundant comparison In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13019 ) Change subject: vty/tdef_vty.c: drop redundant comparison ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ice59d1a46c2080cd02060e3410706c502db4ce0b Gerrit-Change-Number: 13019 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 13:44:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:44:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:44:58 +0000 Subject: Change in libosmocore[master]: vty/tdef_vty.c: drop redundant comparison In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13019 ) Change subject: vty/tdef_vty.c: drop redundant comparison ...................................................................... vty/tdef_vty.c: drop redundant comparison The amount of arguments is already being checked a few lines before: /* If any arguments are missing, redirect to 'show' */ if (argc < 3) return show_timer(self, vty, argc, argv); so we cannot reach the expression NULL inside this statement: group_arg = argc > 0 ? argv[0] : NULL; Change-Id: Ice59d1a46c2080cd02060e3410706c502db4ce0b Fixes: CID#190873 Logically dead code (DEADCODE) --- M src/vty/tdef_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Max: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/vty/tdef_vty.c b/src/vty/tdef_vty.c index 04c14b9..28de21a 100644 --- a/src/vty/tdef_vty.c +++ b/src/vty/tdef_vty.c @@ -287,7 +287,7 @@ return show_timer(self, vty, argc, argv); /* If all arguments are passed, this is configuring a timer. */ - group_arg = argc > 0 ? argv[0] : NULL; + group_arg = argv[0]; timer_args = argv + 1; osmo_tdef_groups_for_each(g, global_tdef_groups) { if (strcmp(g->name, group_arg)) -- To view, visit https://gerrit.osmocom.org/13019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ice59d1a46c2080cd02060e3410706c502db4ce0b Gerrit-Change-Number: 13019 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:45:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:45:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_call_hangup: ignore MDCX In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13168 ) Change subject: msc: f_call_hangup: ignore MDCX ...................................................................... Patch Set 1: ping? -- To view, visit https://gerrit.osmocom.org/13168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I768f16288617aade6a4d6548129e6f9e0b1d4d33 Gerrit-Change-Number: 13168 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 13:45:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:52:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:52:21 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13196 to look at the new patch set (#3). Change subject: Add IPA keep-alive FSM implementation ...................................................................... Add IPA keep-alive FSM implementation The IPA keep-alive FSM code takes care of periodically transmitting and IPA CCM PING and expecting an IPA CCM PONG in return. Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 --- M include/osmocom/abis/ipa.h M src/Makefile.am A src/input/ipa_keepalive.c 3 files changed, 327 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/96/13196/3 -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:53:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:53:07 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c File src/input/ipa_keepalive.c: https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c at 126 PS2, Line 126: ifp->params.wait_for_resp, T_SEND_NEXT_PING); > Are params correct or actually swapped? shouldn't be here ifp->params. [?] very nice catch, thanks! https://gerrit.osmocom.org/#/c/13196/2/src/input/ipa_keepalive.c at 181 PS2, Line 181: ipa_ka_idle > If no events, why do we need this handler? I didn't remember that we can have states without an action call-back. -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Tue, 19 Mar 2019 13:53:07 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:55:07 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 13:55:07 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13319 Change subject: a_iface_bssap: add context information to log output ...................................................................... a_iface_bssap: add context information to log output At the moment many of the log statements in a_iface_bssap.c are just LOGP statements without futrher context information. Since those messages appear at a point where no related ran conn can be identified, lets use the BSC as context information, so that the origin of those messages can be traced back to at least one specific BSC. Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 --- M src/libmsc/a_iface_bssap.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err 3 files changed, 70 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/19/13319/1 diff --git a/src/libmsc/a_iface_bssap.c b/src/libmsc/a_iface_bssap.c index cb245b8..f57f449 100644 --- a/src/libmsc/a_iface_bssap.c +++ b/src/libmsc/a_iface_bssap.c @@ -43,10 +43,31 @@ #define LOGPCONN LOG_RAN_CONN +#define LOGPBSC(ss, level, a_conn_info, fmt, args ...) \ + LOGP(ss, level, "BSC(%s) " fmt, bsc_name_by_conn_info(a_conn_info), ## args) + /* * Helper functions to lookup and allocate subscribers */ +/* Get a human readble string that describes the SCCP address of the BSC */ +static char *bsc_name_by_conn_info(const struct a_conn_info *a_conn_info) +{ + struct gsm_network *network; + struct osmo_ss7_instance *ss7; + char *bsc_name; + if (!a_conn_info) + return "INVALID CONN INFO!"; + network = a_conn_info->network; + ss7 = osmo_ss7_instance_find(network->a.cs7_instance); + if (!ss7) + return "INVALID SS7 INSTANCE!"; + bsc_name = osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr); + if (!bsc_name) + return "INVALID BSC ADDRESS!"; + return bsc_name; +} + /* Allocate a new RAN connection */ static struct ran_conn *ran_conn_allocate_a(const struct a_conn_info *a_conn_info, struct gsm_network *network, @@ -54,7 +75,7 @@ { struct ran_conn *conn; - LOGP(DMSC, LOGL_DEBUG, "Allocating A-Interface RAN conn: lac %i, conn_id %i\n", lac, conn_id); + LOGPBSC(DMSC, LOGL_DEBUG, a_conn_info, "Allocating A-Interface RAN conn: lac %i, conn_id %i\n", lac, conn_id); conn = ran_conn_alloc(network, OSMO_RAT_GERAN_A, lac); if (!conn) @@ -73,13 +94,15 @@ /* Return an existing A RAN connection record for the given * connection IDs, or return NULL if not found. */ -static struct ran_conn *ran_conn_lookup_a(const struct gsm_network *network, int conn_id) +static struct ran_conn *ran_conn_lookup_a(const struct a_conn_info *a_conn_info) { + struct gsm_network *network = a_conn_info->network; + int conn_id = a_conn_info->conn_id; struct ran_conn *conn; OSMO_ASSERT(network); - DEBUGP(DMSC, "Looking for A subscriber: conn_id %i\n", conn_id); + LOGPBSC(DMSC, LOGL_DEBUG, a_conn_info, "Looking for A subscriber: conn_id %i\n", conn_id); /* FIXME: log_subscribers() is defined in iucs.c as static inline, if * maybe this function should be public to reach it from here? */ @@ -91,7 +114,7 @@ return conn; } } - DEBUGP(DMSC, "No A subscriber found for conn_id %i\n", conn_id); + LOGPBSC(DMSC, LOGL_DEBUG, a_conn_info, "No A subscriber found for conn_id %i\n", conn_id); return NULL; } @@ -108,8 +131,8 @@ ss7 = osmo_ss7_instance_find(network->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DBSSAP, LOGL_NOTICE, "Rx BSSMAP RESET from BSC %s, sending RESET ACK\n", - osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr)); + LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "Rx BSSMAP RESET from BSC %s, sending RESET ACK\n", + osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr)); osmo_sccp_tx_unitdata_msg(scu, &a_conn_info->bsc->msc_addr, &a_conn_info->bsc->bsc_addr, gsm0808_create_reset_ack()); @@ -136,12 +159,12 @@ OSMO_ASSERT(ss7); if (a_conn_info->bsc->reset_fsm == NULL) { - LOGP(DBSSAP, LOGL_ERROR, "Received RESET ACK from an unknown BSC %s, ignoring...\n", - osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr)); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "Received RESET ACK from an unknown BSC %s, ignoring...\n", + osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr)); return; } - LOGP(DBSSAP, LOGL_NOTICE, "Received RESET ACK from BSC %s\n", + LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "Received RESET ACK from BSC %s\n", osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr)); /* Confirm that we managed to get the reset ack message @@ -156,11 +179,11 @@ * can be received via UNITDATA */ if (msgb_l3len(msg) < 1) { - LOGP(DBSSAP, LOGL_NOTICE, "Error: No data received -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "Error: No data received -- discarding message!\n"); return; } - LOGP(DBSSAP, LOGL_DEBUG, "Rx BSSMAP UDT %s\n", gsm0808_bssmap_name(msg->l3h[0])); + LOGPBSC(DBSSAP, LOGL_DEBUG, a_conn_info, "Rx BSSMAP UDT %s\n", gsm0808_bssmap_name(msg->l3h[0])); switch (msg->l3h[0]) { case BSS_MAP_MSG_RESET: @@ -170,7 +193,7 @@ bssmap_rx_reset_ack(scu, a_conn_info, msg); break; default: - LOGP(DBSSAP, LOGL_NOTICE, "Unimplemented message format: %s -- message discarded!\n", + LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "Unimplemented message format: %s -- message discarded!\n", gsm0808_bssmap_name(msg->l3h[0])); } } @@ -186,16 +209,16 @@ OSMO_ASSERT(a_conn_info); OSMO_ASSERT(msg); - LOGP(DBSSAP, LOGL_DEBUG, "Rx BSSMAP UDT: %s\n", msgb_hexdump_l2(msg)); + LOGPBSC(DBSSAP, LOGL_DEBUG, a_conn_info, "Rx BSSMAP UDT: %s\n", msgb_hexdump_l2(msg)); if (msgb_l2len(msg) < sizeof(*bs)) { - LOGP(DBSSAP, LOGL_ERROR, "Error: Header is too short -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "Error: Header is too short -- discarding message!\n"); return; } bs = (struct bssmap_header *)msgb_l2(msg); if (bs->length < msgb_l2len(msg) - sizeof(*bs)) { - LOGP(DBSSAP, LOGL_ERROR, "Error: Message is too short -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "Error: Message is too short -- discarding message!\n"); return; } @@ -205,7 +228,7 @@ bssmap_rcvmsg_udt(scu, a_conn_info, msg); break; default: - LOGP(DBSSAP, LOGL_ERROR, + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "Error: Unimplemented message type: %s -- message discarded!\n", gsm0808_bssmap_name(bs->type)); } } @@ -223,7 +246,7 @@ LOGPCONN(conn, LOGL_INFO, "Rx BSSMAP CLEAR REQUEST\n"); if (!TLVP_PRESENT(tp, GSM0808_IE_CAUSE)) { - LOGP(DBSSAP, LOGL_ERROR, "Cause code is missing -- discarding message!\n"); + LOGPCONN(conn, LOGL_ERROR, "Cause code is missing -- discarding message!\n"); return -EINVAL; } cause = TLVP_VAL(tp, GSM0808_IE_CAUSE)[0]; @@ -265,14 +288,16 @@ struct gsm_network *network = a_conn_info->network; struct ran_conn *conn; - LOGP(DBSSAP, LOGL_INFO, "Rx BSSMAP COMPLETE L3 INFO (conn_id=%i)\n", a_conn_info->conn_id); + LOGPBSC(DBSSAP, LOGL_INFO, a_conn_info, "Rx BSSMAP COMPLETE L3 INFO (conn_id=%i)\n", a_conn_info->conn_id); if (!TLVP_PRESENT(tp, GSM0808_IE_CELL_IDENTIFIER)) { - LOGP(DBSSAP, LOGL_ERROR, "Mandatory CELL IDENTIFIER not present -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "Mandatory CELL IDENTIFIER not present -- discarding message!\n"); return -EINVAL; } if (!TLVP_PRESENT(tp, GSM0808_IE_LAYER_3_INFORMATION)) { - LOGP(DBSSAP, LOGL_ERROR, "Mandatory LAYER 3 INFORMATION not present -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "Mandatory LAYER 3 INFORMATION not present -- discarding message!\n"); return -EINVAL; } @@ -281,8 +306,8 @@ data_length = TLVP_LEN(tp, GSM0808_IE_CELL_IDENTIFIER); data = TLVP_VAL(tp, GSM0808_IE_CELL_IDENTIFIER); if (gsm0808_dec_cell_id_list2(&cil, data, data_length) < 0 || cil.id_list_len != 1) { - LOGP(DBSSAP, LOGL_ERROR, - "Unable to parse element CELL IDENTIFIER -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "Unable to parse element CELL IDENTIFIER -- discarding message!\n"); return -EINVAL; } @@ -291,8 +316,8 @@ case CELL_IDENT_WHOLE_GLOBAL: { const struct osmo_cell_global_id *id = &cil.id_list[0].global; if (osmo_plmn_cmp(&id->lai.plmn, &network->plmn) != 0) { - LOGP(DBSSAP, LOGL_ERROR, - "WHOLE GLOBAL CELL IDENTIFIER does not match network MCC/MNC -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "WHOLE GLOBAL CELL IDENTIFIER does not match network MCC/MNC -- discarding message!\n"); return -EINVAL; } lac = id->lai.lac; @@ -306,8 +331,8 @@ case CELL_IDENT_LAI_AND_LAC: { const struct osmo_location_area_id *id = &cil.id_list[0].lai_and_lac; if (osmo_plmn_cmp(&id->plmn, &network->plmn) != 0) { - LOGP(DBSSAP, LOGL_ERROR, - "LAI AND LAC CELL IDENTIFIER does not match network MCC/MNC -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "LAI AND LAC CELL IDENTIFIER does not match network MCC/MNC -- discarding message!\n"); return -EINVAL; } lac = id->lac; @@ -320,14 +345,14 @@ case CELL_IDENT_CI: case CELL_IDENT_NO_CELL: case CELL_IDENT_BSS: - LOGP(DBSSAP, LOGL_ERROR, - "CELL IDENTIFIER does not specify a LAC -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "CELL IDENTIFIER does not specify a LAC -- discarding message!\n"); return -EINVAL; default: - LOGP(DBSSAP, LOGL_ERROR, - "Unable to parse element CELL IDENTIFIER (unknown cell identification discriminator 0x%x) " - "-- discarding message!\n", cil.id_discr); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, + "Unable to parse element CELL IDENTIFIER (unknown cell identification discriminator 0x%x) " + "-- discarding message!\n", cil.id_discr); return -EINVAL; } @@ -336,7 +361,7 @@ msgb_l3trim(msg, TLVP_LEN(tp, GSM0808_IE_LAYER_3_INFORMATION)); if (msgb_l3len(msg) < sizeof(struct gsm48_hdr)) { - LOGP(DBSSAP, LOGL_ERROR, "COMPL_L3 with too short L3 (%d) -- discarding\n", + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "COMPL_L3 with too short L3 (%d) -- discarding\n", msgb_l3len(msg)); return -ENODATA; } @@ -617,14 +642,14 @@ uint8_t msg_type; if (msgb_l3len(msg) < 1) { - LOGP(DBSSAP, LOGL_NOTICE, "Error: No data received -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "Error: No data received -- discarding message!\n"); return -1; } msg_type = msg->l3h[0]; rc = osmo_bssap_tlv_parse(&tp, msg->l3h + 1, msgb_l3len(msg) - 1); if (rc < 0) { - LOGP(DBSSAP, LOGL_ERROR, "Failed parsing TLV -- discarding message! %s\n", + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "Failed parsing TLV -- discarding message! %s\n", osmo_hexdump(msg->l3h, msgb_l3len(msg))); return -EINVAL; } @@ -637,7 +662,7 @@ break; } - conn = ran_conn_lookup_a(a_conn_info->network, a_conn_info->conn_id); + conn = ran_conn_lookup_a(a_conn_info); if (!conn) { LOGP(DBSSAP, LOGL_ERROR, "Couldn't find ran_conn for conn_id=%d\n", a_conn_info->conn_id); /* We expect a Clear Complete to come in on a valid conn. But if for some reason we still @@ -682,11 +707,10 @@ /* Endpoint to handle regular BSSAP DTAP messages. No ownership of 'msg' is passed on! */ static int rx_dtap(const struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_info, struct msgb *msg) { - struct gsm_network *network = a_conn_info->network; struct ran_conn *conn; struct dtap_header *dtap = (struct dtap_header *) msg->l2h; - conn = ran_conn_lookup_a(network, a_conn_info->conn_id); + conn = ran_conn_lookup_a(a_conn_info); if (!conn) { return -EINVAL; } @@ -711,7 +735,7 @@ OSMO_ASSERT(msg); if (msgb_l2len(msg) < sizeof(struct bssmap_header)) { - LOGP(DBSSAP, LOGL_NOTICE, "The header is too short -- discarding message!\n"); + LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "The header is too short -- discarding message!\n"); return -EINVAL; } @@ -722,7 +746,7 @@ case BSSAP_MSG_DTAP: return rx_dtap(scu, a_conn_info, msg); default: - LOGP(DBSSAP, LOGL_ERROR, "Unimplemented BSSAP msg type: %s\n", gsm0808_bssap_name(msg->l2h[0])); + LOGPBSC(DBSSAP, LOGL_ERROR, a_conn_info, "Unimplemented BSSAP msg type: %s\n", gsm0808_bssap_name(msg->l2h[0])); return -EINVAL; } diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c index 19092e2..3ed22ee 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c @@ -1073,6 +1073,8 @@ comment_start(); + osmo_ss7_init(); + /* implicit: net->authentication_required = true; */ net->a5_encryption_mask = (1 << 3); /* A5/3 */ @@ -1292,6 +1294,8 @@ comment_start(); + osmo_ss7_init(); + /* A5/3 support is indicated in Classmark 3. By configuring A5/3, trigger the code paths that * send a Classmark Request. */ net->a5_encryption_mask = (1 << 3); /* A5/3 */ diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index ef77391..16300de 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -2461,7 +2461,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Awaiting results for Auth+Ciph, overruling event RAN_CONN_E_UNUSED lu_result_sent == 0 - BSC sends back a BSSMAP Classmark Update, that triggers the Ciphering Mode Command in A5/3 -DMSC Looking for A subscriber: conn_id 0 +DMSC BSC(INVALID SS7 INSTANCE!) Looking for A subscriber: conn_id 0 DBSSAP RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Found A subscriber for conn_id 0 DBSSAP RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Rx BSSMAP DT1 CLASSMARK UPDATE DBSSAP RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Rx BSSMAP CLASSMARK UPDATE @@ -2997,7 +2997,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Awaiting results for Auth+Ciph, overruling event RAN_CONN_E_UNUSED lu_result_sent == 0 - BSC sends back a BSSMAP Classmark Update, that triggers the Ciphering Mode Command in A5/3 -DMSC Looking for A subscriber: conn_id 0 +DMSC BSC(INVALID SS7 INSTANCE!) Looking for A subscriber: conn_id 0 DBSSAP RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Found A subscriber for conn_id 0 DBSSAP RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Rx BSSMAP DT1 CLASSMARK UPDATE DBSSAP RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Rx BSSMAP CLASSMARK UPDATE @@ -3305,7 +3305,7 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Received Event RAN_CONN_E_UNUSED DMM RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Awaiting results for Auth+Ciph, overruling event RAN_CONN_E_UNUSED - BSC sends back a BSSMAP Classmark Update, that triggers the Ciphering Mode Command in A5/3 -DMSC Looking for A subscriber: conn_id 0 +DMSC BSC(INVALID SS7 INSTANCE!) Looking for A subscriber: conn_id 0 DBSSAP RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Found A subscriber for conn_id 0 DBSSAP RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Rx BSSMAP DT1 CLASSMARK UPDATE DBSSAP RAN_conn(IMSI-901700000004620:MSISDN-42342:GERAN-A-0:PAGING_RESP){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Rx BSSMAP CLASSMARK UPDATE -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:55:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:55:39 +0000 Subject: Change in libosmocore[master]: add osmo_ip_port API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_ip_port API ...................................................................... Patch Set 5: maybe osmith has time to do the rename so we can get this merged? -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 5 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 13:55:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:56:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:56:09 +0000 Subject: Change in osmo-bts[master]: oc2g: l1if: delay trx initialization to avoid race condition In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13208 ) Change subject: oc2g: l1if: delay trx initialization to avoid race condition ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Gerrit-Change-Number: 13208 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 19 Mar 2019 13:56:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:56:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:56:13 +0000 Subject: Change in osmo-bts[master]: oc2g: l1if: delay trx initialization to avoid race condition In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13208 ) Change subject: oc2g: l1if: delay trx initialization to avoid race condition ...................................................................... oc2g: l1if: delay trx initialization to avoid race condition On links with high latency it can happen that RADIO CARRIER OPSTART is carried out to early, even before SET BTS ATTRIBUTES is carried out. This means that important parameters for the initalization are not yet set and the TRX initalization failed. Lets delay the TRX initalization a bit in order to be sure that all BTS attributes are set before the initalization is carried out. Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Related: OS#3782 --- M src/osmo-bts-oc2g/l1_if.c 1 file changed, 14 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified Objections: Pau Espin Pedrol: I would prefer this is not merged as is diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 52ec3e7..e834879 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1494,13 +1494,25 @@ return 0; } -int l1if_reset(struct oc2gl1_hdl *hdl) +/* FIXME: This delays the TRX initalization by 5 sec in order to avoid the + * occurrence of a race condition in the OML bringup. This a work around and + * should be fixed properly. See also OS#3782, OS#2470 and OS#2469 */ +void l1if_reset_cb(void *arg) { + struct oc2gl1_hdl *hdl = arg; struct msgb *msg = sysp_msgb_alloc(); Oc2g_Prim_t *sysp = msgb_sysprim(msg); sysp->id = Oc2g_PrimId_Layer1ResetReq; - return l1if_req_compl(hdl, msg, reset_compl_cb, NULL); + l1if_req_compl(hdl, msg, reset_compl_cb, NULL); +} + +int l1if_reset(struct oc2gl1_hdl *hdl) +{ + static struct osmo_timer_list T_l1if_reset; + osmo_timer_setup(&T_l1if_reset, l1if_reset_cb, hdl); + osmo_timer_schedule(&T_l1if_reset, 5, 0); + return 0; } /* set the trace flags within the DSP */ -- To view, visit https://gerrit.osmocom.org/13208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id3bdc88d28417e422d2c0c33b03be06f1a4706c2 Gerrit-Change-Number: 13208 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:57:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:57:04 +0000 Subject: Change in libosmo-abis[master]: rtp: Add 'autoconnect' feature to the osmo_rtp_socket In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13203 ) Change subject: rtp: Add 'autoconnect' feature to the osmo_rtp_socket ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Gerrit-Change-Number: 13203 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 19 Mar 2019 13:57:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:57:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:57:06 +0000 Subject: Change in libosmo-abis[master]: rtp: Add 'autoconnect' feature to the osmo_rtp_socket In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13203 ) Change subject: rtp: Add 'autoconnect' feature to the osmo_rtp_socket ...................................................................... rtp: Add 'autoconnect' feature to the osmo_rtp_socket The bound RTP socket will wait for incoming RTP packets and as soon as it sees one, will 'connect' to it, so all replies will go to that sources and incoming messages from other sources will be discarded. This obviously only works once. Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Signed-off-by: Sylvain Munaut --- M include/osmocom/trau/osmo_ortp.h M src/trau/osmo_ortp.c 2 files changed, 23 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h index 5fb2960..54afcf0 100644 --- a/include/osmocom/trau/osmo_ortp.h +++ b/include/osmocom/trau/osmo_ortp.h @@ -74,6 +74,7 @@ struct osmo_rtp_socket *osmo_rtp_socket_create(void *talloc_ctx, unsigned int flags); int osmo_rtp_socket_bind(struct osmo_rtp_socket *rs, const char *ip, int port); int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, const char *ip, uint16_t port); +int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs); int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type); int osmo_rtp_socket_free(struct osmo_rtp_socket *rs); int osmo_rtp_skipped_frame(struct osmo_rtp_socket *rs, unsigned int duration); diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 0eb1661..1d652cb 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -468,6 +468,28 @@ return osmo_rtp_socket_fdreg(rs); } +/*! \brief Automatically associates a RTP socket with the first incoming UDP packet + * \param[in] rs OsmoRTP socket + * + * The bound RTP socket will wait for incoming RTP packets and as soon as it + * sees one, will 'connect' to it, so all replies will go to that sources and + * incoming messages from other sources will be discarded. This obviously only + * works once. + * + * \returns 0 on success, <0 in case of error. + */ +int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs) +{ + rtp_session_set_symmetric_rtp(rs->sess, 1); + rtp_session_set_connected_mode(rs->sess, 1); + rs->flags &= ~OSMO_RTP_F_DISABLED; + + if (rs->flags & OSMO_RTP_F_POLL) + return 0; + else + return osmo_rtp_socket_fdreg(rs); +} + /*! \brief Increment timestamp on a RTP socket without sending any packet * \param[in] rs OsmoRTP socket * \param[in] duration duration in number of RTP clock ticks -- To view, visit https://gerrit.osmocom.org/13203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b Gerrit-Change-Number: 13203 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: tnt -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:57:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:57:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13193 ) Change subject: msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening ...................................................................... msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening The only reason to omit f_sgsap_bssmap_screening() in this was the still pending SMS in the database. Since SMS are now removed, f_sgsap_bssmap_screening() will succeed. Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763 --- M msc/MSC_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d02a0ed..6b2b259 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4379,6 +4379,8 @@ f_vty_transceive(MSCVTY, "subscriber imsi " & hex2str(g_pars.imsi) & " expire"); setverdict(pass); + + f_sgsap_bssmap_screening(); } testcase TC_sgsap_mt_sms_and_nothing() runs on MTC_CT { var BSC_ConnHdlrPars pars; -- To view, visit https://gerrit.osmocom.org/13193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763 Gerrit-Change-Number: 13193 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 13:57:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 13:57:21 +0000 Subject: Change in osmo-bsc[master]: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13199 ) Change subject: AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC ...................................................................... AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC MGCP/SDP provides fmtp parameters in order to signal which of the two available AMR framing modes (octet-aligned or bandwith-efficient) should be used on the link between BSS and core network. osmo-bsc currently does not set up this mode which means that the RTP packets from the BTS are forwared without inspection/modification, which may lead to malfunction when a BTS is using a framing mode that is not supported by the other end. - Add VTY option to setup the framing mode - Generate related fmtp parameters in SDP Depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Related OS#3807 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/mgw_endpoint_fsm.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 43 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 5202174..debd240 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -79,6 +79,7 @@ /* audio codecs */ struct gsm48_multi_rate_conf amr_conf; + bool amr_octet_aligned; struct gsm_audio_support **audio_support; int audio_length; enum bsc_lcls_mode lcls_mode; diff --git a/src/osmo-bsc/mgw_endpoint_fsm.c b/src/osmo-bsc/mgw_endpoint_fsm.c index fc49886..5462914 100644 --- a/src/osmo-bsc/mgw_endpoint_fsm.c +++ b/src/osmo-bsc/mgw_endpoint_fsm.c @@ -34,6 +34,7 @@ #include #include #include +#include #define LOG_CI(ci, level, fmt, args...) do { \ if (!ci || !ci->mgwep) \ @@ -774,4 +775,22 @@ verb_info->ptmap[0].pt = custom_pt; verb_info->ptmap_len = 1; } + + /* AMR requires additional parameters to be set up (framing mode) */ + if (verb_info->codecs[0] == CODEC_AMR_8000_1) { + verb_info->param_present = true; + verb_info->param.amr_octet_aligned_present = true; + } + + if (bss_side && verb_info->codecs[0] == CODEC_AMR_8000_1) { + /* FIXME: At the moment all BTSs we support are using the + * octet-aligned payload format. However, in the future + * we may support BTSs that are using bandwith-efficient + * format. In this case we will have to add functionality + * that distinguishes by the BTS model which mode to use. */ + verb_info->param.amr_octet_aligned = true; + } + else if (!bss_side && verb_info->codecs[0] == CODEC_AMR_8000_1) { + verb_info->param.amr_octet_aligned = lchan->conn->sccp.msc->amr_octet_aligned; + } } diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 6e3d1c1..78196cf 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -100,6 +100,11 @@ WRITE_AMR(vty, msc, "5_15k", m5_15); WRITE_AMR(vty, msc, "4_75k", m4_75); #undef WRITE_AMR + + if (msc->amr_octet_aligned) + vty_out(vty, " amr-payload octet-aligned%s", VTY_NEWLINE); + else + vty_out(vty, " amr-payload bandwith-efficient%s", VTY_NEWLINE); } static void write_msc(struct vty *vty, struct bsc_msc_data *msc) @@ -952,6 +957,23 @@ ALIAS_DEPRECATED(cfg_net_msc_dest, cfg_net_msc_no_dest_cmd, "no dest A.B.C.D <1-65000> <0-255>", NO_STR LEGACY_STR "-\n" "-\n" "-\n"); +DEFUN(cfg_net_msc_amr_octet_align, + cfg_net_msc_amr_octet_align_cmd, + "amr-payload (octet-aligned|bandwith-efficient", + "Set AMR payload framing mode\n" + "payload fields aligned on octet boundaries\n" + "payload fields packed (AoIP)\n") +{ + struct bsc_msc_data *data = bsc_msc_data(vty); + + if (strcmp(argv[0], "octet-aligned") == 0) + data->amr_octet_aligned = true; + else if (strcmp(argv[0], "bandwith-efficient") == 0) + data->amr_octet_aligned = false; + + return CMD_SUCCESS; +} + int bsc_vty_init_extra(void) { struct gsm_network *net = bsc_gsmnet; @@ -996,6 +1018,7 @@ install_element(MSC_NODE, &cfg_net_msc_amr_5_90_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_5_15_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_4_75_cmd); + install_element(MSC_NODE, &cfg_net_msc_amr_octet_align_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mode_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mismtch_cmd); install_element(MSC_NODE, &cfg_msc_acc_lst_name_cmd); -- To view, visit https://gerrit.osmocom.org/13199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If6d40b2407b87aad2227ea7f15533ef01a3771b3 Gerrit-Change-Number: 13199 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:04:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 14:04:04 +0000 Subject: Change in libosmocore[master]: socket: osmo_sock_get_name() Use "const void *" as talloc context In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13309 ) Change subject: socket: osmo_sock_get_name() Use "const void *" as talloc context ...................................................................... socket: osmo_sock_get_name() Use "const void *" as talloc context Change-Id: Ie6877277cddb0a9e049449c260afe3314ba65050 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index e06f926..4f6ed72 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -66,7 +66,7 @@ int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags); -char *osmo_sock_get_name(void *ctx, int fd); +char *osmo_sock_get_name(const void *ctx, int fd); const char *osmo_sock_get_name2(int fd); int osmo_sock_get_name_buf(char *str, size_t str_len, int fd); int osmo_sock_get_ip_and_port(int fd, char *ip, size_t ip_len, char *port, size_t port_len, bool local); diff --git a/src/socket.c b/src/socket.c index 37fd584..6a3f254 100644 --- a/src/socket.c +++ b/src/socket.c @@ -781,7 +781,7 @@ * \param[in] fd file descriptor of socket * \returns string identifying the connection of this socket, talloc'd from ctx. */ -char *osmo_sock_get_name(void *ctx, int fd) +char *osmo_sock_get_name(const void *ctx, int fd) { char str[OSMO_SOCK_NAME_MAXLEN]; int rc; -- To view, visit https://gerrit.osmocom.org/13309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie6877277cddb0a9e049449c260afe3314ba65050 Gerrit-Change-Number: 13309 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:08:58 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 14:08:58 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) Message-ID: Keith Whyte has uploaded this change for review. ( https://gerrit.osmocom.org/13320 Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Write configuration correctly from vty (alert notifications) The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 --- M openbsc/src/libmsc/smpp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/20/13320/1 diff --git a/openbsc/src/libmsc/smpp_vty.c b/openbsc/src/libmsc/smpp_vty.c index f1df652..8647867 100644 --- a/openbsc/src/libmsc/smpp_vty.c +++ b/openbsc/src/libmsc/smpp_vty.c @@ -582,8 +582,8 @@ vty_out(vty, " osmocom-extensions%s", VTY_NEWLINE); if (acl->dcs_transparent) vty_out(vty, " dcs-transparent%s", VTY_NEWLINE); - if (acl->alert_notifications) - vty_out(vty, " alert-notifications%s", VTY_NEWLINE); + if (!acl->alert_notifications) + vty_out(vty, " no alert-notifications%s", VTY_NEWLINE); llist_for_each_entry(r, &acl->route_list, list) write_esme_route_single(vty, r); -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 1 Gerrit-Owner: Keith Whyte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:15:10 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 14:15:10 +0000 Subject: Change in osmo-msc[master]: Write configuration correctly from vty (alert notifications) Message-ID: Keith Whyte has uploaded this change for review. ( https://gerrit.osmocom.org/13321 Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Write configuration correctly from vty (alert notifications) The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 --- M src/libmsc/smpp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/21/13321/1 diff --git a/src/libmsc/smpp_vty.c b/src/libmsc/smpp_vty.c index 4c179d4..9026f6c 100644 --- a/src/libmsc/smpp_vty.c +++ b/src/libmsc/smpp_vty.c @@ -582,8 +582,8 @@ vty_out(vty, " osmocom-extensions%s", VTY_NEWLINE); if (acl->dcs_transparent) vty_out(vty, " dcs-transparent%s", VTY_NEWLINE); - if (acl->alert_notifications) - vty_out(vty, " alert-notifications%s", VTY_NEWLINE); + if (!acl->alert_notifications) + vty_out(vty, " no alert-notifications%s", VTY_NEWLINE); llist_for_each_entry(r, &acl->route_list, list) write_esme_route_single(vty, r); -- To view, visit https://gerrit.osmocom.org/13321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 Gerrit-Change-Number: 13321 Gerrit-PatchSet: 1 Gerrit-Owner: Keith Whyte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:16:54 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 14:16:54 +0000 Subject: Change in osmo-bts[master]: pcu_sock: cast to long unsigned int before printing In-Reply-To: References: Message-ID: Max has removed a vote on this change. Change subject: pcu_sock: cast to long unsigned int before printing ...................................................................... Removed Code-Review+1 by Max -- To view, visit https://gerrit.osmocom.org/13267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: If5cb656537b1b73b9361a132801ab47ab7f8a709 Gerrit-Change-Number: 13267 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 14:17:52 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: check bssmap length field In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13307 to look at the new patch set (#2). Change subject: a_iface_bssap: check bssmap length field ...................................................................... a_iface_bssap: check bssmap length field At the moment the length field of the bssmap header is not parsed. Instead the length is computed out of the known header length and the number of bytes received. This is prone to error, lets make sure that extranous data at the end of a message is ignored by parsing the bssmap length correctly. Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Related: OS#3806 --- M src/libmsc/a_iface_bssap.c 1 file changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/07/13307/2 -- To view, visit https://gerrit.osmocom.org/13307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Gerrit-Change-Number: 13307 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:20:13 2019 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 19 Mar 2019 14:20:13 +0000 Subject: Change in osmo-msc[master]: libvlr: Allow 2G auth tuples to be re-used without going through AUTH In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/13248 ) Change subject: libvlr: Allow 2G auth tuples to be re-used without going through AUTH ...................................................................... Patch Set 1: > looks good to me. I'm a bit wondering about any possible implications to 3G. We always have to keep in mind that osmo-msc is used for both 2G and 3G. @tnt: Do you have an Osmocom 3G setup to test? I don't have a 3G setup. But 'auth_required' is always true if is_utran is true, so this shouldn't affect 3G at all. -- To view, visit https://gerrit.osmocom.org/13248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ief840a2ae7a0ffd2bf0bf726f209a79e3f787646 Gerrit-Change-Number: 13248 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 19 Mar 2019 14:20:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:49:39 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 14:49:39 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssmap length field In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13306 to look at the new patch set (#2). Change subject: osmo_bsc_bssap: check bssmap length field ...................................................................... osmo_bsc_bssap: check bssmap length field At the moment the length field of the bssmap header is not parsed. Instead the length is computed out of the known header length and the number of bytes received. This is prone to error, lets make sure that extranous data at the end of a message is ignored by parsing the bssmap length correctly. Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Related: OS#3806 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 31 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/13306/2 -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 14:49:49 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 14:49:49 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssmap length field In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13306 ) Change subject: osmo_bsc_bssap: check bssmap length field ...................................................................... Patch Set 1: (3 comments) > Uploaded patch set 2. https://gerrit.osmocom.org/#/c/13306/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13306/1//COMMIT_MSG at 7 PS1, Line 7: bssamp > bssmap Done https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c at 1100 PS1, Line 1100: "BSSMAP message contains extranous data, expected %u bytes, got %u bytes, truncated\n", > typo: extraneous? [?] Done https://gerrit.osmocom.org/#/c/13306/1/src/osmo-bsc/osmo_bsc_bssap.c at 1099 PS1, Line 1099: DMSC, LOGL_NOTICE, : "BSSMAP message > As usual, it makes sense to log some context along with the message. [?] Done -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 14:49:49 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:05:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 15:05:52 +0000 Subject: Change in osmo-pcu[master]: MS store: move test helper to unit test In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13213 ) Change subject: MS store: move test helper to unit test ...................................................................... MS store: move test helper to unit test It's confusing to have test-specific helper with the same name as tested function directly inside the GprsMsStorage class. Let's convert it into static function and move to the unit test. Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33 --- M src/gprs_ms_storage.cpp M src/gprs_ms_storage.h M tests/ms/MsTest.cpp 3 files changed, 18 insertions(+), 20 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_ms_storage.cpp b/src/gprs_ms_storage.cpp index c7de6d3..04518c5 100644 --- a/src/gprs_ms_storage.cpp +++ b/src/gprs_ms_storage.cpp @@ -106,20 +106,3 @@ return ms; } - -GprsMs *GprsMsStorage::create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir) -{ - GprsMs *ms = get_ms(tlli); - - if (ms) - return ms; - - ms = create_ms(); - - if (dir == GPRS_RLCMAC_UL_TBF) - ms->set_tlli(tlli); - else - ms->confirm_tlli(tlli); - - return ms; -} diff --git a/src/gprs_ms_storage.h b/src/gprs_ms_storage.h index 44ad0ed..14707f5 100644 --- a/src/gprs_ms_storage.h +++ b/src/gprs_ms_storage.h @@ -39,7 +39,6 @@ virtual void ms_active(class GprsMs *); GprsMs *get_ms(uint32_t tlli, uint32_t old_tlli = 0, const char *imsi = 0) const; - GprsMs *create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir); GprsMs *create_ms(); const LListHead& ms_list() const {return m_list;} diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 728daf6..2b0bc0f 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -337,6 +337,22 @@ printf("=== end %s ===\n", __func__); } +static GprsMs *prepare_ms(GprsMsStorage *st, uint32_t tlli, enum gprs_rlcmac_tbf_direction dir) +{ + GprsMs *ms = st->get_ms(tlli); + if (ms) + return ms; + + ms = st->create_ms(); + + if (dir == GPRS_RLCMAC_UL_TBF) + ms->set_tlli(tlli); + else + ms->confirm_tlli(tlli); + + return ms; +} + static void test_ms_storage() { uint32_t tlli = 0xffeeddbb; @@ -355,7 +371,7 @@ ms = store.get_ms(tlli + 0); OSMO_ASSERT(ms == NULL); - ms = store.create_ms(tlli + 0, GPRS_RLCMAC_UL_TBF); + ms = prepare_ms(&store, tlli + 0, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(ms != NULL); OSMO_ASSERT(ms->tlli() == tlli + 0); ms->set_imsi(imsi1); @@ -371,7 +387,7 @@ ms_tmp = store.get_ms(0, 0, imsi2); OSMO_ASSERT(ms_tmp == NULL); - ms = store.create_ms(tlli + 1, GPRS_RLCMAC_UL_TBF); + ms = prepare_ms(&store, tlli + 1, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(ms != NULL); OSMO_ASSERT(ms->tlli() == tlli + 1); ms->set_imsi(imsi2); -- To view, visit https://gerrit.osmocom.org/13213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33 Gerrit-Change-Number: 13213 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:20:21 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 15:20:21 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13319 ) Change subject: a_iface_bssap: add context information to log output ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13319/2/src/libmsc/a_iface_bssap.c File src/libmsc/a_iface_bssap.c: https://gerrit.osmocom.org/#/c/13319/2/src/libmsc/a_iface_bssap.c at 167 PS2, Line 167: LOGPBSC(DBSSAP, LOGL_NOTICE, a_conn_info, "Received RESET ACK from BSC %s\n", That seems redundant: it'll be printed as part of the prefix anyway. -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 15:20:21 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:24:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 15:24:01 +0000 Subject: Change in osmo-msc[master]: libvlr: Allow 2G auth tuples to be re-used without going through AUTH In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13248 ) Change subject: libvlr: Allow 2G auth tuples to be re-used without going through AUTH ...................................................................... libvlr: Allow 2G auth tuples to be re-used without going through AUTH If the key_seq we get in the first messages matches the last_tuple, then both we and the MS already know the key to use and we don't need the AUTH REQUEST/RESPONSE cycle. Security wise ... not so good, and so IMHO the 'auth required' option in the MSC should always be set. But this allows to turn on ciphering on a channel without doing any MM transaction, and so the MS doesn't turn on the T3240 timer which allows to have a ciphered silent-call channel that won't timeout. Change-Id: Ief840a2ae7a0ffd2bf0bf726f209a79e3f787646 Signed-off-by: Sylvain Munaut --- M include/osmocom/msc/vlr.h M src/libmsc/gsm_04_08.c M src/libvlr/vlr_access_req_fsm.c M src/libvlr/vlr_auth_fsm.c M src/libvlr/vlr_auth_fsm.h M src/libvlr/vlr_lu_fsm.c 6 files changed, 40 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index 3529640..d2d59c7 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -303,6 +303,7 @@ const struct osmo_location_area_id *new_lai, bool authentication_required, bool ciphering_required, + uint8_t key_seq, bool is_r99, bool is_utran, bool assign_tmsi); @@ -446,6 +447,7 @@ const struct osmo_location_area_id *lai, bool authentication_required, bool ciphering_required, + uint8_t key_seq, bool is_r99, bool is_utran); void vlr_parq_cancel(struct osmo_fsm_inst *fi, diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index c6e5528..09744db 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -433,6 +433,7 @@ &old_lai, &new_lai, is_utran || conn->network->authentication_required, is_utran || conn->network->a5_encryption_mask > 0x01, + lu->key_seq, classmark1_is_r99(&lu->classmark1), is_utran, net->vlr->cfg.assign_tmsi); @@ -820,6 +821,7 @@ VLR_PR_ARQ_T_CM_SERV_REQ, mi-1, &lai, is_utran || conn->network->authentication_required, is_utran || conn->network->a5_encryption_mask > 0x01, + req->cipher_key_seq, classmark2_is_r99(classmark2, classmark2_len), is_utran); @@ -1178,6 +1180,8 @@ { struct gsm_network *net = conn->network; struct gsm48_hdr *gh = msgb_l3(msg); + struct gsm48_pag_resp *pr = + (struct gsm48_pag_resp *)gh->data; uint8_t classmark2_len = gh->data[1]; uint8_t *classmark2 = gh->data+2; uint8_t *mi_lv = classmark2 + classmark2_len; @@ -1209,6 +1213,7 @@ VLR_PR_ARQ_T_PAGING_RESP, mi_lv, &lai, is_utran || conn->network->authentication_required, is_utran || conn->network->a5_encryption_mask > 0x01, + pr->key_seq, classmark2_is_r99(classmark2, classmark2_len), is_utran); diff --git a/src/libvlr/vlr_access_req_fsm.c b/src/libvlr/vlr_access_req_fsm.c index 3b40285..26db42c 100644 --- a/src/libvlr/vlr_access_req_fsm.c +++ b/src/libvlr/vlr_access_req_fsm.c @@ -67,6 +67,7 @@ struct osmo_location_area_id lai; bool authentication_required; bool ciphering_required; + uint8_t key_seq; bool is_r99; bool is_utran; bool implicitly_accepted_parq_by_ciphering_cmd; @@ -316,7 +317,8 @@ /* The cases where the authentication procedure should be used * are defined in 3GPP TS 33.102 */ /* For now we use a default value passed in to vlr_lu_fsm(). */ - return par->authentication_required || par->ciphering_required; + return par->authentication_required || + (par->ciphering_required && !auth_try_reuse_tuple(par->vsub, par->key_seq)); } /* after the IMSI is known */ @@ -528,6 +530,7 @@ .out_state_mask = S(PR_ARQ_S_DONE) | S(PR_ARQ_S_WAIT_OBTAIN_IMSI) | S(PR_ARQ_S_WAIT_AUTH) | + S(PR_ARQ_S_WAIT_CIPH) | S(PR_ARQ_S_WAIT_UPD_LOC_CHILD) | S(PR_ARQ_S_WAIT_SUB_PRES) | S(PR_ARQ_S_WAIT_TRACE_SUB) | @@ -540,6 +543,7 @@ .in_event_mask = S(PR_ARQ_E_ID_IMSI), .out_state_mask = S(PR_ARQ_S_DONE) | S(PR_ARQ_S_WAIT_AUTH) | + S(PR_ARQ_S_WAIT_CIPH) | S(PR_ARQ_S_WAIT_UPD_LOC_CHILD) | S(PR_ARQ_S_WAIT_SUB_PRES) | S(PR_ARQ_S_WAIT_TRACE_SUB) | @@ -637,6 +641,7 @@ const struct osmo_location_area_id *lai, bool authentication_required, bool ciphering_required, + uint8_t key_seq, bool is_r99, bool is_utran) { struct osmo_fsm_inst *fi; @@ -660,6 +665,7 @@ par->parent_event_data = parent_event_data; par->authentication_required = authentication_required; par->ciphering_required = ciphering_required; + par->key_seq = key_seq; par->is_r99 = is_r99; par->is_utran = is_utran; diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c index ccf3660..6026510 100644 --- a/src/libvlr/vlr_auth_fsm.c +++ b/src/libvlr/vlr_auth_fsm.c @@ -629,3 +629,18 @@ return fi; } + +bool auth_try_reuse_tuple(struct vlr_subscr *vsub, uint8_t key_seq) +{ + int max_reuse_count = vsub->vlr->cfg.auth_tuple_max_reuse_count; + struct vlr_auth_tuple *at = vsub->last_tuple; + + if (!at) + return false; + if ((max_reuse_count >= 0) && (at->use_count > max_reuse_count)) + return false; + if (at->key_seq != key_seq) + return false; + at->use_count++; + return true; +} diff --git a/src/libvlr/vlr_auth_fsm.h b/src/libvlr/vlr_auth_fsm.h index 618462f..1f2cb49 100644 --- a/src/libvlr/vlr_auth_fsm.h +++ b/src/libvlr/vlr_auth_fsm.h @@ -35,3 +35,5 @@ uint32_t parent_term_event, bool is_r99, bool is_utran); + +bool auth_try_reuse_tuple(struct vlr_subscr *vsub, uint8_t key_seq); diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c index 8152d20..7ddf455 100644 --- a/src/libvlr/vlr_lu_fsm.c +++ b/src/libvlr/vlr_lu_fsm.c @@ -685,6 +685,7 @@ struct osmo_location_area_id new_lai; bool authentication_required; bool ciphering_required; + uint8_t key_seq; bool is_r99; bool is_utran; bool assign_tmsi; @@ -705,7 +706,8 @@ /* The cases where the authentication procedure should be used * are defined in 3GPP TS 33.102 */ /* For now we use a default value passed in to vlr_lu_fsm(). */ - return lfp->authentication_required || lfp->ciphering_required; + return lfp->authentication_required || + (lfp->ciphering_required && !auth_try_reuse_tuple(lfp->vsub, lfp->key_seq)); } /* Determine if ciphering is required */ @@ -1316,6 +1318,7 @@ S(VLR_ULA_S_WAIT_PVLR) | S(VLR_ULA_S_WAIT_IMSI) | S(VLR_ULA_S_WAIT_AUTH) | + S(VLR_ULA_S_WAIT_CIPH) | S(VLR_ULA_S_WAIT_HLR_UPD) | S(VLR_ULA_S_DONE), .name = OSMO_STRINGIFY(VLR_ULA_S_IDLE), @@ -1326,6 +1329,7 @@ .out_state_mask = S(VLR_ULA_S_WAIT_PVLR) | S(VLR_ULA_S_WAIT_IMSI) | S(VLR_ULA_S_WAIT_AUTH) | + S(VLR_ULA_S_WAIT_CIPH) | S(VLR_ULA_S_WAIT_HLR_UPD) | S(VLR_ULA_S_DONE), .name = OSMO_STRINGIFY(VLR_ULA_S_WAIT_IMEISV), @@ -1336,6 +1340,7 @@ S(VLR_ULA_E_SEND_ID_NACK), .out_state_mask = S(VLR_ULA_S_WAIT_IMSI) | S(VLR_ULA_S_WAIT_AUTH) | + S(VLR_ULA_S_WAIT_CIPH) | S(VLR_ULA_S_DONE), .name = OSMO_STRINGIFY(VLR_ULA_S_WAIT_PVLR), .action = lu_fsm_wait_pvlr, @@ -1360,6 +1365,7 @@ [VLR_ULA_S_WAIT_IMSI] = { .in_event_mask = S(VLR_ULA_E_ID_IMSI), .out_state_mask = S(VLR_ULA_S_WAIT_AUTH) | + S(VLR_ULA_S_WAIT_CIPH) | S(VLR_ULA_S_WAIT_HLR_UPD) | S(VLR_ULA_S_DONE), .name = OSMO_STRINGIFY(VLR_ULA_S_WAIT_IMSI), @@ -1439,6 +1445,7 @@ const struct osmo_location_area_id *new_lai, bool authentication_required, bool ciphering_required, + uint8_t key_seq, bool is_r99, bool is_utran, bool assign_tmsi) { @@ -1462,6 +1469,7 @@ lfp->parent_event_data = parent_event_data; lfp->authentication_required = authentication_required; lfp->ciphering_required = ciphering_required; + lfp->key_seq = key_seq; lfp->is_r99 = is_r99; lfp->is_utran = is_utran; lfp->assign_tmsi = assign_tmsi; -- To view, visit https://gerrit.osmocom.org/13248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ief840a2ae7a0ffd2bf0bf726f209a79e3f787646 Gerrit-Change-Number: 13248 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: tnt Gerrit-CC: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:31:31 2019 From: gerrit-no-reply at lists.osmocom.org (Vasil Velichkov) Date: Tue, 19 Mar 2019 15:31:31 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Hello Piotr Krysik, fixeria, Vadim Yanitskiy, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13246 to look at the new patch set (#3). Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Fix the TCH/H decoder and demapper XML definitions - The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. - Make the demapper's burst sink required. - Make all parameters visible. - Rename the TCH/H Channel parameter to Sub-channel number. - Add the qa_tch_h_decoder test in the CMakeLists.txt Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd --- M grc/decoding/gsm_tch_h_decoder.xml M grc/demapping/gsm_tch_h_chans_demapper.xml M python/CMakeLists.txt 3 files changed, 25 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/46/13246/3 -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 3 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Harald Welte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:33:23 2019 From: gerrit-no-reply at lists.osmocom.org (Vasil Velichkov) Date: Tue, 19 Mar 2019 15:33:23 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Vasil Velichkov has posted comments on this change. ( https://gerrit.osmocom.org/13246 ) Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/13246/2/grc/decoding/gsm_tch_h_decoder.xml File grc/decoding/gsm_tch_h_decoder.xml: https://gerrit.osmocom.org/#/c/13246/2/grc/decoding/gsm_tch_h_decoder.xml at 59 PS2, Line 59: MultiRrate > spelling Done. Thanks. -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 3 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 15:33:23 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:37:42 2019 From: gerrit-no-reply at lists.osmocom.org (Vasil Velichkov) Date: Tue, 19 Mar 2019 15:37:42 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Hello Piotr Krysik, fixeria, Vadim Yanitskiy, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13246 to look at the new patch set (#4). Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Fix the TCH/H decoder and demapper XML definitions - The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. - Make the demapper's burst sink required. - Make all parameters visible. - Rename the TCH/H Channel parameter to Sub-channel number. - Add the qa_tch_h_decoder test in the CMakeLists.txt - Fix several typos Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd --- M apps/grgsm_decode M grc/decoding/gsm_tch_h_decoder.xml M grc/demapping/gsm_tch_h_chans_demapper.xml M python/CMakeLists.txt 4 files changed, 26 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/46/13246/4 -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 4 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Harald Welte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:43:27 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 19 Mar 2019 15:43:27 +0000 Subject: Change in osmo-msc[master]: vlr_subscr_name(): use OSMO_STRBUF Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13322 Change subject: vlr_subscr_name(): use OSMO_STRBUF ...................................................................... vlr_subscr_name(): use OSMO_STRBUF We now have a nicer way to compose strings in a buffer than this. (Cosmetic preparation for inter-MSC handover patch.) Change-Id: I7813068032475deb3850af05f7ba5a6f652e7fa2 --- M src/libvlr/vlr.c 1 file changed, 5 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/22/13322/1 diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index c5b3c80..cd4209d 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -84,33 +84,29 @@ const char *vlr_subscr_name(const struct vlr_subscr *vsub) { static char buf[128]; - char imsi[23] = ""; - char msisdn[25] = ""; - char tmsi[23] = ""; - char tmsi_new[23] = ""; + struct osmo_strbuf sb = { .buf = buf, .len = sizeof(buf) }; bool present = false; if (!vsub) return "unknown"; if (vsub->imsi[0]) { - snprintf(imsi, sizeof(imsi), "IMSI-%s", vsub->imsi); + OSMO_STRBUF_PRINTF(sb, "IMSI-%s", vsub->imsi); present = true; } if (vsub->msisdn[0]) { - snprintf(msisdn, sizeof(msisdn), "%sMSISDN-%s", present? ":" : "", vsub->msisdn); + OSMO_STRBUF_PRINTF(sb, "%sMSISDN-%s", present? ":" : "", vsub->msisdn); present = true; } if (vsub->tmsi != GSM_RESERVED_TMSI) { - snprintf(tmsi, sizeof(tmsi), "%sTMSI-0x%08X", present? ":" : "", vsub->tmsi); + OSMO_STRBUF_PRINTF(sb, "%sTMSI-0x%08X", present? ":" : "", vsub->tmsi); present = true; } if (vsub->tmsi_new != GSM_RESERVED_TMSI) { - snprintf(tmsi_new, sizeof(tmsi_new), "%sTMSInew-0x%08X", present? ":" : "", vsub->tmsi_new); + OSMO_STRBUF_PRINTF(sb, "%sTMSInew-0x%08X", present? ":" : "", vsub->tmsi_new); present = true; } if (!present) return "unknown"; - snprintf(buf, sizeof(buf), "%s%s%s%s", imsi, msisdn, tmsi, tmsi_new); return buf; } -- To view, visit https://gerrit.osmocom.org/13322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7813068032475deb3850af05f7ba5a6f652e7fa2 Gerrit-Change-Number: 13322 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:46:53 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 15:46:53 +0000 Subject: Change in osmo-sip-connector[master]: Support Emergency Calling In-Reply-To: References: Message-ID: Hello Max, Neels Hofmeyr, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/12682 to look at the new patch set (#12). Change subject: Support Emergency Calling ...................................................................... Support Emergency Calling LCR supports emergency calling by sending the string 'emergency' as callee to the SIP side. This does the same Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1 --- M src/mncc.c 1 file changed, 19 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/82/12682/12 -- To view, visit https://gerrit.osmocom.org/12682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1 Gerrit-Change-Number: 12682 Gerrit-PatchSet: 12 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:47:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 19 Mar 2019 15:47:58 +0000 Subject: Change in libosmo-sccp[master]: add caller-owns-msgb variant osmo_sccp_user_sap_down2() In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13277 ) Change subject: add caller-owns-msgb variant osmo_sccp_user_sap_down2() ...................................................................... Patch Set 1: > what about the proposal with the 'volatile select dispatch talloc context'? So far didn't consider placing msgb in that context, but that would also work. > The '2' function suffix is normally used only in case we have a new API that deprecates older API. I kind of feel like this is the better / newer version of the same, hence the 2, but it is not harmful to use the other one, so no deprecation -- but ok, can rename. -- To view, visit https://gerrit.osmocom.org/13277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic818efa78b90f727e1a94c18b60d9a306644f340 Gerrit-Change-Number: 13277 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 19 Mar 2019 15:47:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:51:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 15:51:26 +0000 Subject: Change in osmo-msc[master]: vlr_subscr_name(): use OSMO_STRBUF In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13322 ) Change subject: vlr_subscr_name(): use OSMO_STRBUF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7813068032475deb3850af05f7ba5a6f652e7fa2 Gerrit-Change-Number: 13322 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 15:51:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:51:50 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 15:51:50 +0000 Subject: Change in osmo-pcu[master]: Explicitly clean up BTS singleton In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13318 ) Change subject: Explicitly clean up BTS singleton ...................................................................... Patch Set 2: Code-Review+1 It may make more sense to get rid of the main_bts singleton and use a global variable instead. Then use new and del operators to call construtor/destructor at proper time. -- To view, visit https://gerrit.osmocom.org/13318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 Gerrit-Change-Number: 13318 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 15:51:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:52:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 15:52:25 +0000 Subject: Change in osmo-pcu[master]: Explicitly clean up BTS singleton In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13318 ) Change subject: Explicitly clean up BTS singleton ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 Gerrit-Change-Number: 13318 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 15:52:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:53:17 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 15:53:17 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13320 to look at the new patch set (#2). Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Write configuration correctly from vty (alert notifications) The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 --- M openbsc/src/libmsc/smpp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/20/13320/2 -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 2 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 19 Mar 2019 15:54:01 +0000 Subject: Change in osmo-sip-connector[master]: Support Emergency Calling In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/12682 ) Change subject: Support Emergency Calling ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/12682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1 Gerrit-Change-Number: 12682 Gerrit-PatchSet: 12 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Tue, 19 Mar 2019 15:54:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:54:12 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 15:54:12 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13320 to look at the new patch set (#3). Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Write configuration correctly from vty (alert notifications) The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 --- M openbsc/src/libmsc/smpp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/20/13320/3 -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 3 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:54:43 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 15:54:43 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Keith Whyte has posted comments on this change. ( https://gerrit.osmocom.org/13320 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 3 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 15:54:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:55:25 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 15:55:25 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 3: Code-Review+1 Leaving +2 for Vadim -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Tue, 19 Mar 2019 15:55:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:57:13 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 15:57:13 +0000 Subject: Change in osmo-pcu[master]: Explicitly clean up BTS singleton In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13318 ) Change subject: Explicitly clean up BTS singleton ...................................................................... Patch Set 2: > It may make more sense to get rid of the main_bts singleton and use a global variable instead. Then use new and del operators to call construtor/destructor at proper time. There was an idea to get rid of singleton completely - see https://osmocom.org/issues/1538 -- To view, visit https://gerrit.osmocom.org/13318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 Gerrit-Change-Number: 13318 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 15:57:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 15:58:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 15:58:20 +0000 Subject: Change in osmo-pcu[master]: Explicitly clean up BTS singleton In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13318 ) Change subject: Explicitly clean up BTS singleton ...................................................................... Explicitly clean up BTS singleton Add method to explicitly cleanup BTS singleton similar to GprsMsStorage class and use it from main(). The destructor becomes trivial wrapper around cleanup() method. This prevents annoying SIGABRT on exit of OsmoPCU caused by rate_ctr_group_free() being called after talloc_free() which removes the context in which counter group is allocated. Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 --- M src/bts.cpp M src/bts.h M src/pcu_main.cpp 3 files changed, 22 insertions(+), 3 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 1804c52..e07b840 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -197,6 +197,11 @@ return BTS::main_bts()->bts_data(); } +void bts_cleanup() +{ + return BTS::main_bts()->cleanup(); +} + struct rate_ctr_group *bts_main_data_stats() { return BTS::main_bts()->rate_counters(); @@ -239,16 +244,27 @@ OSMO_ASSERT(m_statg); } -BTS::~BTS() +void BTS::cleanup() { /* this can cause counter updates and must not be left to the * m_ms_store's destructor */ m_ms_store.cleanup(); - rate_ctr_group_free(m_ratectrs); - osmo_stat_item_group_free(m_statg); + if (m_ratectrs) { + rate_ctr_group_free(m_ratectrs); + m_ratectrs = NULL; + } + + if (m_statg) { + osmo_stat_item_group_free(m_statg); + m_statg = NULL; + } } +BTS::~BTS() +{ + cleanup(); +} void BTS::set_current_frame_number(int fn) { diff --git a/src/bts.h b/src/bts.h index b83ab4b..ee5a692 100644 --- a/src/bts.h +++ b/src/bts.h @@ -272,6 +272,7 @@ BTS(); ~BTS(); + void cleanup(); static BTS* main_bts(); @@ -591,6 +592,7 @@ #ifdef __cplusplus extern "C" { #endif + void bts_cleanup(); struct gprs_rlcmac_bts *bts_main_data(); struct rate_ctr_group *bts_main_data_stats(); struct osmo_stat_item_group *bts_main_data_stat_items(); diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index a0f31d1..c39c337 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -356,6 +356,7 @@ pcu_l1if_close(); + bts_cleanup(); talloc_report_full(tall_pcu_ctx, stderr); talloc_free(tall_pcu_ctx); -- To view, visit https://gerrit.osmocom.org/13318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747 Gerrit-Change-Number: 13318 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:04:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 16:04:42 +0000 Subject: Change in osmo-msc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13321 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 Gerrit-Change-Number: 13321 Gerrit-PatchSet: 1 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 16:04:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:14:26 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 16:14:26 +0000 Subject: Change in osmo-sysmon[master]: Makefile.am: Add missing bits to have make release working Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13323 Change subject: Makefile.am: Add missing bits to have make release working ...................................................................... Makefile.am: Add missing bits to have make release working Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 --- M Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/23/13323/1 diff --git a/Makefile.am b/Makefile.am index a838715..59ac423 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ SUBDIRS = doc src ACLOCAL_AMFLAGS = -I m4 + + at RELMAKE@ -- To view, visit https://gerrit.osmocom.org/13323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 Gerrit-Change-Number: 13323 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:17:01 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 16:17:01 +0000 Subject: Change in osmo-bsc[master]: test Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13324 Change subject: test ...................................................................... test Change-Id: I0cf5432aec1f61adc6f6cf74a8d4f89dbaea0863 --- A test.me 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/13324/1 diff --git a/test.me b/test.me new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test.me -- To view, visit https://gerrit.osmocom.org/13324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0cf5432aec1f61adc6f6cf74a8d4f89dbaea0863 Gerrit-Change-Number: 13324 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:18:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 16:18:02 +0000 Subject: Change in osmo-bsc[master]: test In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13324 ) Change subject: test ...................................................................... Patch Set 1: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/13324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cf5432aec1f61adc6f6cf74a8d4f89dbaea0863 Gerrit-Change-Number: 13324 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 16:18:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:23:05 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 16:23:05 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 4: (1 comment) Not a merge blocker though. https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh File scripts/osmocom-list-commits.sh: https://gerrit.osmocom.org/#/c/13301/2/scripts/osmocom-list-commits.sh at 18 PS2, Line 18: osmo-hlr > Note that osmo-sysmon isn't tagged yet, so it displays "-" in the last tag If untagged repos are ok than it might make sense to add osmocom-bb as well: trxcon and fake_trx from there are used extensively in TTCN-3 tests. -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 16:23:05 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:24:14 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 16:24:14 +0000 Subject: Change in osmo-sysmon[master]: Makefile.am: Add missing bits to have make release working In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13323 ) Change subject: Makefile.am: Add missing bits to have make release working ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 Gerrit-Change-Number: 13323 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 16:24:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:25:35 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Tue, 19 Mar 2019 16:25:35 +0000 Subject: Change in osmo-sip-connector[master]: Support Emergency Calling In-Reply-To: References: Message-ID: Keith Whyte has submitted this change and it was merged. ( https://gerrit.osmocom.org/12682 ) Change subject: Support Emergency Calling ...................................................................... Support Emergency Calling LCR supports emergency calling by sending the string 'emergency' as callee to the SIP side. This does the same Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1 --- M src/mncc.c 1 file changed, 19 insertions(+), 5 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/mncc.c b/src/mncc.c index 0f003bd..b7977c4 100644 --- a/src/mncc.c +++ b/src/mncc.c @@ -409,10 +409,17 @@ } } +static const struct gsm_mncc_number emergency_number = { + .type = CALL_TYPE_MNCC, + .plan = GSM48_NPI_UNKNOWN, + .number = "emergency", +}; + /* Check + Process MNCC_SETUP_IND (MO call) */ static void check_setup(struct mncc_connection *conn, const char *buf, int rc) { const struct gsm_mncc *data; + const struct gsm_mncc_number *called; struct call *call; struct mncc_call_leg *leg; @@ -423,14 +430,21 @@ } data = (const struct gsm_mncc *) buf; + called = &data->called; /* screen arguments */ if ((data->fields & MNCC_F_CALLED) == 0) { - LOGP(DMNCC, LOGL_ERROR, - "MNCC leg(%u) without called addr fields(%u)\n", - data->callref, data->fields); - return mncc_send(conn, MNCC_REJ_REQ, data->callref); + if (!data->emergency) { + LOGP(DMNCC, LOGL_ERROR, + "MNCC leg(%u) without called addr fields(%u)\n", + data->callref, data->fields); + return mncc_send(conn, MNCC_REJ_REQ, data->callref); + } + + /* Emergency without a called number present. Use the standard "emergency" number. */ + called = &emergency_number; } + if ((data->fields & MNCC_F_CALLING) == 0) { LOGP(DMNCC, LOGL_ERROR, "MNCC leg(%u) without calling addr fields(%u)\n", @@ -461,7 +475,7 @@ leg->conn = conn; leg->state = MNCC_CC_INITIAL; leg->dir = MNCC_DIR_MO; - memcpy(&leg->called, &data->called, sizeof(leg->called)); + memcpy(&leg->called, called, sizeof(leg->called)); memcpy(&leg->calling, &data->calling, sizeof(leg->calling)); memcpy(&leg->imsi, data->imsi, sizeof(leg->imsi)); -- To view, visit https://gerrit.osmocom.org/12682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5d0adb61dfa82e7ded5f41d9bc773d546112c9f1 Gerrit-Change-Number: 12682 Gerrit-PatchSet: 13 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 16:52:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 16:52:53 +0000 Subject: Change in osmo-msc[master]: debian/control: Fix typo Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13325 Change subject: debian/control: Fix typo ...................................................................... debian/control: Fix typo Change-Id: I3392d8e184413203d27fc3d75371de4d66f205b9 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/25/13325/1 diff --git a/debian/control b/debian/control index f4cd95e..54a3546 100644 --- a/debian/control +++ b/debian/control @@ -60,5 +60,5 @@ towards a HLR, but the much simpler Osmocom GSUP protocol, which can be translated to MAP if needed. . - This package contains the debug symbols for osmo-mgw in order to + This package contains the debug symbols for osmo-msc in order to generate meaningful backtraces in bug-reports. -- To view, visit https://gerrit.osmocom.org/13325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3392d8e184413203d27fc3d75371de4d66f205b9 Gerrit-Change-Number: 13325 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:20:21 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:20:21 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13326 Change subject: Add example systemd user unit files ...................................................................... Add example systemd user unit files Those examples illustrate how fake_trx and trxcon can utilized under systemd --user instance directly from source checkout. Those unit files are intended to only serve as a starting point - they should be adjusted to match actual user's environment (paths, IP addresses etc) before use. Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 --- A src/host/trxcon/contrib/systemd/osmo-trxcon.service A src/target/trx_toolkit/contrib/systemd/osmo-fake_trx.service 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/26/13326/1 diff --git a/src/host/trxcon/contrib/systemd/osmo-trxcon.service b/src/host/trxcon/contrib/systemd/osmo-trxcon.service new file mode 100644 index 0000000..ac0de34 --- /dev/null +++ b/src/host/trxcon/contrib/systemd/osmo-trxcon.service @@ -0,0 +1,18 @@ +[Unit] +Description=Osmocom virtual PHY (%j kind) +PartOf=osmo.service +After=osmo.service +After=osmo-fake_trx.service + +[Service] +Type=simple +# -b --trx-bind TRX bind IP address (default 0.0.0.0) +# -i --trx-remote TRX remote IP address (default 127.0.0.1) +# -p --trx-port Base port of TRX instance (default 6700) +# -s --socket Listening socket for layer23 (default /tmp/osmocom_l2) +ExecStart=%h/source/gsm/osmocom-bb/src/host/%j/%j --socket %T/osmo_%j --trx-remote 127.0.0.13 --trx-bind 127.0.0.23 +Restart=always +RestartSec=2 + +[Install] +WantedBy=osmo.service diff --git a/src/target/trx_toolkit/contrib/systemd/osmo-fake_trx.service b/src/target/trx_toolkit/contrib/systemd/osmo-fake_trx.service new file mode 100644 index 0000000..e59b958 --- /dev/null +++ b/src/target/trx_toolkit/contrib/systemd/osmo-fake_trx.service @@ -0,0 +1,16 @@ +[Unit] +Description=Osmocom Fake BTS TRX +PartOf=osmo.service +After=osmo.service + +[Service] +Type=simple +# -b, --trx-bind-addr TRX_BIND_ADDR Set FakeTRX bind address (default 0.0.0.0) +# -R, --bts-addr BTS_ADDR Set BTS remote address (default 127.0.0.1) +# -r, --bb-addr BB_ADDR Set BB remote address (default 127.0.0.1) +ExecStart=%h/source/gsm/osmocom-bb/src/target/trx_toolkit/%j.py --trx-bind-addr 127.0.0.13 --bts-addr 127.0.0.3 --bb-addr 127.0.0.23 +Restart=always +RestartSec=2 + +[Install] +WantedBy=osmo.service -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:24:28 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:24:28 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13326/1/src/host/trxcon/contrib/systemd/osmo-trxcon.service File src/host/trxcon/contrib/systemd/osmo-trxcon.service: https://gerrit.osmocom.org/#/c/13326/1/src/host/trxcon/contrib/systemd/osmo-trxcon.service at 4 PS1, Line 4: After=osmo.service osmo.service? what's that? -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 17:24:28 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:25:39 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:25:39 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 1: I'd prefer having them under contrib/systemd/user/ -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 17:25:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:29:53 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 17:29:53 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: add missing header file. Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13327 Change subject: lchan_fsm: add missing header file. ...................................................................... lchan_fsm: add missing header file. The symbol GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 is used in lchan_fsm.c, but gsm_08_08.h, where the symbol is declared is not included. Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/13327/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 7cbba44..2b7dc97 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -22,6 +22,7 @@ #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/13327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 Gerrit-Change-Number: 13327 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:31:15 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:31:15 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 8: (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13067/7/src/coding_scheme.c at 43 PS7, Line 43: uint8_t num_data_blocks(enum HeaderType ht) : { : OSMO_ASSERT(ht < NUM_HEADER_TYPES); : return hdr_type_info[ht].num_blocks; : } : : uint8_t num_data_header_bits_UL(enum HeaderType ht) : { : OSMO_ASSERT(ht < NUM_HEADER_TYPES); : return hdr_type_info[ht].uplink.data_header_bits; : } : : uint8_t num_data_header_bits_DL(enum HeaderType ht) : { : OSMO_ASSERT(ht < NUM_HEADER_TYPES); : return hdr_type_info[ht].downlink.data_header_bits; : } : : u > none of those functions protect against array out-of-index access. Done -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 Mar 2019 17:31:15 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:31:54 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:31:54 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: add missing header file. In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13327 ) Change subject: lchan_fsm: add missing header file. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 Gerrit-Change-Number: 13327 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Max Gerrit-CC: Daniel Willmann Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 17:31:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:34:11 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 19 Mar 2019 17:34:11 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: add missing header file. In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13327 ) Change subject: lchan_fsm: add missing header file. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 Gerrit-Change-Number: 13327 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Max Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 17:34:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:36:16 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:36:16 +0000 Subject: Change in osmo-sysmon[master]: Makefile.am: Add missing bits to have make release working In-Reply-To: References: Message-ID: Hello Max, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13323 to look at the new patch set (#2). Change subject: Makefile.am: Add missing bits to have make release working ...................................................................... Makefile.am: Add missing bits to have make release working Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 --- M Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/23/13323/2 -- To view, visit https://gerrit.osmocom.org/13323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 Gerrit-Change-Number: 13323 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:36:17 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:36:17 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13328 Change subject: Add debian packaging content ...................................................................... Add debian packaging content Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/osmo-sysmon.install A debian/rules A debian/source/format 7 files changed, 184 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/28/13328/1 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..2c9850d --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +osmo-sysmon (0.0.1) unstable; urgency=medium + + * Initial release. + * UNRELEASED + + -- Pau Espin Pedrol Tue, 19 Mar 2019 18:32:14 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..bed247f --- /dev/null +++ b/debian/control @@ -0,0 +1,47 @@ +Source: osmo-msc +Section: net +Priority: extra +Maintainer: Alexander Couzens +Build-Depends: debhelper (>=9), + dh-autoreconf, + autotools-dev, + autoconf, + automake, + libtool, + pkg-config, + libtalloc-dev, + liboping-dev (>= 1.9.0), + libosmocore-dev (>= 1.0.1), + libosmo-netif-dev (>= 0.4.0), +Standards-Version: 3.9.8 +Vcs-Git: git://git.osmocom.org/osmo-sysmon.git +Vcs-Browser: https://git.osmocom.org/osmo-sysmon/ +Homepage: https://osmocom.org/ + +Package: osmo-sysmon +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Simple Osmocom System Monitor (osysmon) + This application prints on screen once per second relevant information about + the status of the system. Information being printed can be specified through + configuration file (and VTY). + . + Useful to run as a login shell to provide users with some diagnose system + without providing full access the system. + +Package: osmo-sysmon-dbg +Section: debug +Architecture: any +Multi-Arch: same +Depends: osmo-sysmon (= ${binary:Version}), ${misc:Depends} +Description: Simple Osmocom System Monitor (osysmon) + This application prints on screen once per second relevant information about + the status of the system. Information being printed can be specified through + configuration file (and VTY). + . + Useful to run as a login shell to provide users with some diagnose system + without providing full access the system. + . + This package contains the debug symbols for osmo-sysmon in order to + generate meaningful backtraces in bug-reports. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..f8d29de --- /dev/null +++ b/debian/copyright @@ -0,0 +1,77 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: osmo-sysmon +Source: git://git.osmocom.org/osmo-sysmon + +Files: * +Copyright: 2019 sysmocom s.f.m.c. GmbH +License: GPL-2.0+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: git-version-gen +Copyright: 2007-2010 Free Software Foundation, Inc. +License: GPL-3.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. + It may be run two ways: + - from a git repository in which the "git describe" command below + produces useful output (thus requiring at least one signed tag) + - from a non-git-repo directory containing a .tarball-version file, which + presumes this script is invoked like "./git-version-gen .tarball-version". + . + In order to use intra-version strings in your project, you will need two + separate generated version string files: + . + .tarball-version - present only in a distribution tarball, and not in + a checked-out repository. Created with contents that were learned at + the last time autoconf was run, and used by git-version-gen. Must not + be present in either $(srcdir) or $(builddir) for git-version-gen to + give accurate answers during normal development with a checked out tree, + but must be present in a tarball when there is no version control system. + Therefore, it cannot be used in any dependencies. GNUmakefile has + hooks to force a reconfigure at distribution time to get the value + correct, without penalizing normal development with extra reconfigures. + . + .version - present in a checked-out repository and in a distribution + tarball. Usable in dependencies, particularly for files that don't + want to depend on config.h but do want to track version changes. + Delete this file prior to any autoconf run where you want to rebuild + files to pick up a version string change; and leave it stale to + minimize rebuild time after unrelated changes to configure sources. + . + It is probably wise to add these two files to .gitignore, so that you + don't accidentally commit either generated file. + . + Use the following line in your configure.ac, so that $(VERSION) will + automatically be up-to-date each time configure is run (and note that + since configure.ac no longer includes a version string, Makefile rules + should not depend on configure.ac for version updates). + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. diff --git a/debian/osmo-sysmon.install b/debian/osmo-sysmon.install new file mode 100644 index 0000000..c0a7be3 --- /dev/null +++ b/debian/osmo-sysmon.install @@ -0,0 +1,3 @@ +etc/osmocom/osmo-sysmon.cfg +usr/bin/osmo-sysmon +usr/share/doc/examples/osmo-sysmon.cfg usr/share/doc/osmo-sysmon/examples diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..dca811f --- /dev/null +++ b/debian/rules @@ -0,0 +1,49 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +# See debhelper(7) (uncomment to enable) +# This is an autogenerated template for debian/rules. +# +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 +# +# Copy some variable definitions from pkg-info.mk and vendor.mk +# under /usr/share/dpkg/ to here if they are useful. +# +# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1) +# Apply all hardening options +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# Package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# +# With debhelper version 9 or newer, the dh command exports +# all buildflags. So there is no need to include the +# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer. +# +# These are rarely used code. (START) +# +# The following include for *.mk magically sets miscellaneous +# variables while honoring existing values of pertinent +# environment variables: +# +# Architecture-related variables such as DEB_TARGET_MULTIARCH: +#include /usr/share/dpkg/architecture.mk +# Vendor-related variables such as DEB_VENDOR: +#include /usr/share/dpkg/vendor.mk +# Package-related variables such as DEB_DISTRIBUTION +#include /usr/share/dpkg/pkg-info.mk +# +# You may alternatively set them susing a simple script such as: +# DEB_VENDOR ?= $(shell dpkg-vendor --query Vendor) +# +# These are rarely used code. (END) +# + +# main packaging script based on dh7 syntax +%: + dh $@ --with autoreconf + +# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg +override_dh_strip: + dh_strip --dbg-package=osmo-sysmon-dbg diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:37:18 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:37:18 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Patch Set 1: I'll push tag 0.0.1 for this one once merged. -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Tue, 19 Mar 2019 17:37:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:38:20 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 19 Mar 2019 17:38:20 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: add missing header file. In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13327 ) Change subject: lchan_fsm: add missing header file. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 Gerrit-Change-Number: 13327 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 17:38:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:39:19 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:39:19 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13326 to look at the new patch set (#2). Change subject: Add example systemd user unit files ...................................................................... Add example systemd user unit files Those examples illustrate how fake_trx and trxcon can utilized under systemd --user instance directly from source checkout. Those unit files are intended to only serve as a starting point - they should be adjusted to match actual user's environment (paths, IP addresses etc) before use. Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 --- A src/host/trxcon/contrib/systemd/user/osmo-trxcon.service A src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service 2 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/26/13326/2 -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:40:50 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:40:50 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13326/2/src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service File src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service: https://gerrit.osmocom.org/#/c/13326/2/src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service at 11 PS2, Line 11: ExecStart=%h/source/gsm/osmocom-bb/src/target/trx_toolkit/%j.py --trx-bind-addr 127.0.0.13 --bts-addr 127.0.0.3 --bb-addr 127.0.0.23 what do these %h and %j refer to? -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 17:40:50 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:40:50 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:40:50 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: (1 comment) It's pretty handy to start entire stack as a single unit instead of starting dozen services by hand. https://gerrit.osmocom.org/#/c/13326/1/src/host/trxcon/contrib/systemd/osmo-trxcon.service File src/host/trxcon/contrib/systemd/osmo-trxcon.service: https://gerrit.osmocom.org/#/c/13326/1/src/host/trxcon/contrib/systemd/osmo-trxcon.service at 4 PS1, Line 4: > osmo. [?] Added comment to clarify. -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 17:40:50 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:42:20 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 19 Mar 2019 17:42:20 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/13328/1/debian/changelog File debian/changelog: https://gerrit.osmocom.org/#/c/13328/1/debian/changelog at 4 PS1, Line 4: * UNRELEASED shouldn't you remove this line ;)? https://gerrit.osmocom.org/#/c/13328/1/debian/control File debian/control: https://gerrit.osmocom.org/#/c/13328/1/debian/control at 1 PS1, Line 1: osmo-msc osmo-sysmon https://gerrit.osmocom.org/#/c/13328/1/debian/control at 4 PS1, Line 4: Maintainer: Alexander Couzens if you want to pay me in cookies for maintainer ship, I'm fine with this. -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 19 Mar 2019 17:42:20 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:42:26 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:42:26 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13326/2/src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service File src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service: https://gerrit.osmocom.org/#/c/13326/2/src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service at 11 PS2, Line 11: ExecStart=%h/source/gsm/osmocom-bb/src/target/trx_toolkit/%j.py --trx-bind-addr 127.0.0.13 --bts-addr 127.0.0.3 --bb-addr 127.0.0.23 > what do these %h and %j refer to? See 'Specifiers' section in https://www.freedesktop.org/software/systemd/man/systemd.unit.html -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 17:42:26 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:46:30 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 17:46:30 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: add missing header file. In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13327 ) Change subject: lchan_fsm: add missing header file. ...................................................................... lchan_fsm: add missing header file. The symbol GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 is used in lchan_fsm.c, but gsm_08_08.h, where the symbol is declared is not included. Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Daniel Willmann: Looks good to me, approved diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 7cbba44..2b7dc97 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -22,6 +22,7 @@ #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/13327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I46f910b3e0f2c7d8c78c1681acef30b9419e39f0 Gerrit-Change-Number: 13327 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:47:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:47:52 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Patch Set 1: Why do we need it packaged for Debian? I doubt it would be useful outside of hw BTS. -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-CC: Max Gerrit-Comment-Date: Tue, 19 Mar 2019 17:47:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:48:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 19 Mar 2019 17:48:36 +0000 Subject: Change in osmo-msc[master]: debian/control: Fix typo In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13325 ) Change subject: debian/control: Fix typo ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3392d8e184413203d27fc3d75371de4d66f205b9 Gerrit-Change-Number: 13325 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 19 Mar 2019 17:48:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:49:39 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 17:49:39 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: Hello lynxis lazus, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13328 to look at the new patch set (#2). Change subject: Add debian packaging content ...................................................................... Add debian packaging content Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/osmo-sysmon.install A debian/rules A debian/source/format 7 files changed, 183 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/28/13328/2 -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 17:53:03 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 Mar 2019 17:53:03 +0000 Subject: Change in osmo-msc[master]: msc_vty: add missing header file Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13329 Change subject: msc_vty: add missing header file ...................................................................... msc_vty: add missing header file The symbol GSM0808_SPEECH_FULL_BM is used in msc_vty.c, but gsm_08_08.h, where the symbol is declared is not included. Change-Id: I31a8894031aa2321d7dbf2586d076bc303247278 --- M src/libmsc/msc_vty.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/29/13329/1 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 6404ee9..a79f451 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -30,6 +30,7 @@ #include #include +#include #include -- To view, visit https://gerrit.osmocom.org/13329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I31a8894031aa2321d7dbf2586d076bc303247278 Gerrit-Change-Number: 13329 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 18:01:51 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 18:01:51 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13330 Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 --- M debian/changelog 1 file changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/30/13330/1 diff --git a/debian/changelog b/debian/changelog index 4e8308d..95a8d97 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,83 @@ +osmo-sysmon (0.1.0) unstable; urgency=medium + + [ Harald Welte ] + * initial checkin + * simple_ctrl: Add timeout to blocking I/O + * simple_ctrl.c: Support an indefinite timeout (using tout_msec=0) + * simple_ctrl.c: API for setting timeout + raw CTRL msgb read + * osmo-ctrl-client: Implement "monitor" mode + * simple-ctrl-client: Add basic help/usage information + * simple_ctrl: Abstract out timeval_from_msec() function + * simple_ctrl: Non-blocking connect() with timeout + * initial implementation of 'osysmon' main program + CTRL client + * add osysmon_sysinfo for uptime/ram/load + * osysmon_ctrl: Use variable name, not ctrl-client name as val->name + * osysmon_main: Show hierarchical/tree structure during printing + * value_node: add combined find_or_add() and avoid duplicate names + * value_node: Add 'idx' member to handle lookup by ifindex. + * Add network link + address monitiring via osysmon_rtnl.c + * add osysmon_file.c for reading/monitoring files (like sysfs) + * migrate to autoconf + * add .gitignore file + * rename to osmo-sysmon + * simple_ctrl: Check for NULL return of simple_ctrl_xceive + * add contrib/jenkins.sh for build verification + + [ Daniel Willmann ] + * Remove unused function + * Fix compilation issue on my machine, remove unused include + * Remove unused last_value handling code + * Add zero termination char to received ctrl cmd message + * Disconnect properly on errors so we can reconnect + * git-version-gen: Don't check for .git directory + + [ Martin Hauke ] + * Makefile.am: Fix typo + + [ Max ] + * Add git-review config + * Update gitignore + * Report config file name on error + * Update default config + * Expand default config + * Add OpenVPN status helper example from corresponding ticket + * Move shared libs into common LDADD + * Drop unused parameter + * ctrl: separate config structure + * Update Makefile.am + * Add ping probe support + * jenkins.sh: remove obsolete comments + * Install signal handlers before processing config + * ctrl: log host/port on errors + * Introduce generic host config and related helpers + * Add OpenVPN probe + * OpenVPN: track interface disconnect + * Update config example + + [ Stefan Sperling ] + * fix file descriptor leak in osysmon_file_read + + [ Pau Espin Pedrol ] + * Add m4 missing files to fix build + * Move source code to src subdir + * Add cmdline option parsing support + * Integrate sleeping/printing loop into osmo main loop + * openvpn: Improve logging and status information + * openvpn: Set reconnect timeout to a much lower value + * openvpn: String returned from openvpn is not null-terminated + * openvpn: log status description + * openvpn: Fix garbage printed after remote port + * openvpn: Remove useless conditional block in parse_state + * openvn: Fix missing break in last commit + * Add vty option to print output of shell cmd on every poll step + * Makefile.am: Add missing bits to have make release working + * Add debian packaging content + + [ Oliver Smith ] + * osmo-sysmon -h: s/OsmoHLR/osmo-sysmon/ + + -- Pau Espin Pedrol Tue, 19 Mar 2019 18:59:22 +0100 + osmo-sysmon (0.0.1) unstable; urgency=medium * Initial release. -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 18:02:23 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 19 Mar 2019 18:02:23 +0000 Subject: Change in osmo-msc[master]: msc_vty: add missing header file In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13329 ) Change subject: msc_vty: add missing header file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I31a8894031aa2321d7dbf2586d076bc303247278 Gerrit-Change-Number: 13329 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 18:02:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 18:06:36 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 19 Mar 2019 18:06:36 +0000 Subject: Change in osmo-msc[master]: msc_vty: add missing header file In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13329 ) Change subject: msc_vty: add missing header file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I31a8894031aa2321d7dbf2586d076bc303247278 Gerrit-Change-Number: 13329 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 19 Mar 2019 18:06:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 19 18:06:37 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 19 Mar 2019 18:06:37 +0000 Subject: Change in osmo-msc[master]: msc_vty: add missing header file In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13329 ) Change subject: msc_vty: add missing header file ...................................................................... msc_vty: add missing header file The symbol GSM0808_SPEECH_FULL_BM is used in msc_vty.c, but gsm_08_08.h, where the symbol is declared is not included. Change-Id: I31a8894031aa2321d7dbf2586d076bc303247278 --- M src/libmsc/msc_vty.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved Daniel Willmann: Looks good to me, but someone else must approve diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 6404ee9..a79f451 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -30,6 +30,7 @@ #include #include +#include #include -- To view, visit https://gerrit.osmocom.org/13329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I31a8894031aa2321d7dbf2586d076bc303247278 Gerrit-Change-Number: 13329 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 01:09:44 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 Mar 2019 01:09:44 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: Code-Review-1 I think it makes more sense to have all *.service files in a single directory: $PROJECT/contrib/systemd/... -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 01:09:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 03:42:22 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 Mar 2019 03:42:22 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 20 Mar 2019 03:42:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 07:32:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 07:32:45 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13332 Change subject: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() ...................................................................... gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() When putting together a sockaddr_in, we must not only set the IP address and port, but also set the address family to AF_INET. And while at it, let's zero-initialize the entire 'struct sockdadr_in'. Change-Id: I1c8d8fe7f79a2ec737baa7800247269c3271983e --- M src/gb/gprs_ns_sns.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/13332/1 diff --git a/src/gb/gprs_ns_sns.c b/src/gb/gprs_ns_sns.c index cbaa468..dd8d3a2 100644 --- a/src/gb/gprs_ns_sns.c +++ b/src/gb/gprs_ns_sns.c @@ -88,6 +88,8 @@ struct gprs_nsvc *nsvc; struct sockaddr_in sin; /* copy over. Both data structures use network byte order */ + memset(&sin, 0, sizeof(sin)); + sin.sin_family = AF_INET; sin.sin_addr.s_addr = ip4->ip_addr; sin.sin_port = ip4->udp_port; -- To view, visit https://gerrit.osmocom.org/13332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1c8d8fe7f79a2ec737baa7800247269c3271983e Gerrit-Change-Number: 13332 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 08:46:22 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 08:46:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: expected-results: add new S15-S0 related testscases Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13333 Change subject: expected-results: add new S15-S0 related testscases ...................................................................... expected-results: add new S15-S0 related testscases The S15-S0 related testscases are missing from the expected-results.xml file. Lets add them. Change-Id: I28a853ec25feb723b2d333061e1ae4d2e0b34d86 Related: SYS#4470 --- M bsc/expected-results.xml 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/13333/1 diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index dadb349..f9de543 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -101,6 +101,23 @@ + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/13333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I28a853ec25feb723b2d333061e1ae4d2e0b34d86 Gerrit-Change-Number: 13333 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 08:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 08:51:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add SNS tests for SGSN-originated BVC-RESET handling Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13334 Change subject: pcu: Add SNS tests for SGSN-originated BVC-RESET handling ...................................................................... pcu: Add SNS tests for SGSN-originated BVC-RESET handling Change-Id: Ib6b80acf98711f4749da4faf549b02ff2b82425f --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 76 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/34/13334/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index a30829e..6022d36 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -172,6 +172,29 @@ } } +/* Transmit BSSGP RESET for given BVCI and expect ACK */ +function f_tx_bvc_reset_rx_ack(BssgpBvci bvci, integer idx := 0, boolean exp_ack := true) +runs on RAW_NS_CT { + var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, bvci, + mp_gb_cfg.cell_id)); + timer T := 5.0; + NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_NS_UNITDATA(t_SduCtrlB, 0, enc_PDU_BSSGP(bssgp_tx)))); + T.start; + alt { + [exp_ack] NSCP[idx].receive(t_NS_RecvFrom(tr_NS_UNITDATA(t_SduCtrlB, 0, + decmatch tr_BVC_RESET_ACK(bvci, ?)))) { + setverdict(pass); + } + [exp_ack] T.timeout { + setverdict(fail, "No response to BVC-RESET"); + } + [not exp_ack] T.timeout { + setverdict(pass); + } + [] NSCP[idx].receive { repeat; } + } +} + /* Receive a BSSGP RESET for given BVCI and ACK it */ altstep as_rx_bvc_reset_tx_ack(BssgpBvci bvci, boolean oneshot := false, integer idx := 0) runs on RAW_NS_CT { var NS_RecvFrom ns_rf; diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 7f71744..7513196 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -186,7 +186,7 @@ setverdict(pass); } -private function f_sns_bringup_1c1u() runs on RAW_Test_CT { +private function f_sns_bringup_1c1u(boolean sgsn_originated_reset := false) runs on RAW_Test_CT { /* Activate two NS codec ports */ f_init_ns_codec(); f_init_ns_codec(1); @@ -208,9 +208,14 @@ f_outgoing_ns_alive(0); f_outgoing_ns_alive(1); - /* Expect BVC-RESET for signaling (0) and ptp BVCI */ - as_rx_bvc_reset_tx_ack(0, oneshot := true); - as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true); + if (sgsn_originated_reset) { + f_tx_bvc_reset_rx_ack(0); + f_tx_bvc_reset_rx_ack(mp_gb_cfg.bvci); + } else { + /* Expect BVC-RESET for signaling (0) and ptp BVCI */ + as_rx_bvc_reset_tx_ack(0, oneshot := true); + as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true); + } /* Expect UNBLOCK for ptp BVCI on signaling NS-VC (idx==0) */ as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true); @@ -226,7 +231,7 @@ setverdict(pass); } -private function f_sns_bringup_1c1u_separate() runs on RAW_Test_CT { +private function f_sns_bringup_1c1u_separate(boolean sgsn_originated_reset := false) runs on RAW_Test_CT { /* Activate two NS codec ports */ f_init_ns_codec(); f_init_ns_codec(1); @@ -253,9 +258,14 @@ /* ensure there's no response to NS-ALIVE sent on idx==0 */ f_outgoing_ns_alive_no_ack(idx := 0); - /* Expect BVC-RESET for signaling BVCI=0 and ptp BVCI */ - as_rx_bvc_reset_tx_ack(0, oneshot := true, idx := 1); - as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + if (sgsn_originated_reset) { + f_tx_bvc_reset_rx_ack(0, idx := 1); + f_tx_bvc_reset_rx_ack(mp_gb_cfg.bvci, idx := 1); + } else { + /* Expect BVC-RESET for signaling BVCI=0 and ptp BVCI */ + as_rx_bvc_reset_tx_ack(0, oneshot := true, idx := 1); + as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + } /* Expect UNBLOCK for ptp BVCI on signaling NS-VC (idx==1) */ as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); @@ -272,6 +282,39 @@ setverdict(pass); } +/* Test full IP-SNS bring-up with two NS-VCs, one sig-only and one user-only and use + * SGSN-originated BVC-RESET rather than BSS-originated */ +testcase TC_sns_1c1u_so_bvc_reset() runs on RAW_Test_CT { + f_sns_bringup_1c1u_separate(sgsn_originated_reset := true); + setverdict(pass); +} + +/* Transmit BVC-RESET before NS-ALIVE of PCU was ACKed: expect no response */ +testcase TC_sns_1c1u_so_bvc_reset_too_early() runs on RAW_Test_CT { + /* Activate two NS codec ports */ + f_init_ns_codec(); + f_init_ns_codec(1); + f_init_ns_codec(2); + f_init_pcuif(); + /* Perform Size + BSS-originated config */ + f_incoming_sns_size(); + f_incoming_sns_config(); + /* perform SGSN-originated config using idx==0 for signalling and idx==1 for user traffic */ + f_outgoing_sns_config_1c1u_separate(); + + /* DON'T ACK ANY INBOUND NS-ALIVE HERE! */ + + /* perform outgoing ALIVE procedure for both NS-VCs */ + f_outgoing_ns_alive(1); + f_outgoing_ns_alive(2); + /* ensure there's no response to NS-ALIVE sent on idx==0 */ + f_outgoing_ns_alive_no_ack(idx := 0); + + /* Transmit BVC-RESET and expect no ACK*/ + f_tx_bvc_reset_rx_ack(0, idx := 1, exp_ack := false); + f_tx_bvc_reset_rx_ack(mp_gb_cfg.bvci, idx := 1, exp_ack := false); +} + /* Test adding new IP endpoints at runtime */ testcase TC_sns_add() runs on RAW_Test_CT { f_sns_bringup_1c1u(); @@ -343,6 +386,8 @@ execute( TC_sns_so_config_success() ); execute( TC_sns_1c1u() ); execute( TC_sns_1c1u_separate() ); + execute( TC_sns_1c1u_so_bvc_reset() ); + execute( TC_sns_1c1u_so_bvc_reset_too_early() ); execute( TC_sns_add() ); execute( TC_sns_del() ); execute( TC_sns_chg_weight() ); -- To view, visit https://gerrit.osmocom.org/13334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib6b80acf98711f4749da4faf549b02ff2b82425f Gerrit-Change-Number: 13334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:16:14 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 09:16:14 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: > I think it makes more sense to have all *.service files in a single directory: $PROJECT/contrib/systemd/... In general I would agree but in this case we de-facto have several different projects in one single repo. So it's better to keep the unit files closer to the project's code in case we'd like to split it off to a separate repo (which I think we should do to make releases and packaging easier). -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 09:16:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:18:01 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 09:18:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: expected-results: add new S15-S0 related testscases In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13333 ) Change subject: expected-results: add new S15-S0 related testscases ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28a853ec25feb723b2d333061e1ae4d2e0b34d86 Gerrit-Change-Number: 13333 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 09:18:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:18:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 09:18:57 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13332 ) Change subject: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1c8d8fe7f79a2ec737baa7800247269c3271983e Gerrit-Change-Number: 13332 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 09:18:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:19:39 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 09:19:39 +0000 Subject: Change in osmo-bsc[master]: test In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13324 ) Change subject: test ...................................................................... Patch Set 1: Can you mark this as WIP? -- To view, visit https://gerrit.osmocom.org/13324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cf5432aec1f61adc6f6cf74a8d4f89dbaea0863 Gerrit-Change-Number: 13324 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 09:19:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:21:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 09:21:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add SNS tests for SGSN-originated BVC-RESET handling In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13334 ) Change subject: pcu: Add SNS tests for SGSN-originated BVC-RESET handling ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib6b80acf98711f4749da4faf549b02ff2b82425f Gerrit-Change-Number: 13334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 09:21:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:35:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 09:35:25 +0000 Subject: Change in libosmocore[master]: select: Rename BSC_FD_* constants to OSMO_FD_* Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13335 Change subject: select: Rename BSC_FD_* constants to OSMO_FD_* ...................................................................... select: Rename BSC_FD_* constants to OSMO_FD_* The naming of these constants dates back to when the code was private within OpenBSC. Everything else was renamed (bsc_fd -> osmo_fd) at the time, but somehow the BSC_FD_* defines have been missed at the time. Keep compatibility #defines around, but allow us to migrate the applications to a less confusing naming meanwhile. Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 --- M include/osmocom/core/select.h M src/ctrl/control_if.c M src/gb/gprs_ns.c M src/gb/gprs_ns_frgre.c M src/gsmtap_util.c M src/select.c M src/socket.c M src/vty/telnet_interface.c M src/write_queue.c 9 files changed, 42 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/13335/1 diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index 1ba6b83..e4787b0 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -13,11 +13,16 @@ * \file select.h */ /*! Indicate interest in reading from the file descriptor */ -#define BSC_FD_READ 0x0001 +#define OSMO_FD_READ 0x0001 /*! Indicate interest in writing to the file descriptor */ -#define BSC_FD_WRITE 0x0002 +#define OSMO_FD_WRITE 0x0002 /*! Indicate interest in exceptions from the file descriptor */ -#define BSC_FD_EXCEPT 0x0004 +#define OSMO_FD_EXCEPT 0x0004 + +/* legacy naming dating back to early OpenBSC / bsc_hack of 2008 */ +#define BSC_FD_READ OSMO_FD_READ +#define BSC_FD_WRITE OSMO_FD_WRITE +#define BSC_FD_EXCEPT OSMO_FD_EXCEPT /*! Structure representing a file dsecriptor */ struct osmo_fd { @@ -25,8 +30,8 @@ struct llist_head list; /*! actual operating-system level file decriptor */ int fd; - /*! bit-mask or of \ref BSC_FD_READ, \ref BSC_FD_WRITE and/or - * \ref BSC_FD_EXCEPT */ + /*! bit-mask or of \ref OSMO_FD_READ, \ref OSMO_FD_WRITE and/or + * \ref OSMO_FD_EXCEPT */ unsigned int when; /*! call-back function to be called once file descriptor becomes * available */ diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 0209f3b..ce2e367 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -524,7 +524,7 @@ char *name; - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; fd = accept(listen_bfd->fd, NULL, NULL); @@ -554,7 +554,7 @@ LOGP(DLCTRL, LOGL_INFO, "accept()ed new CTRL connection from %s\n", name); ccon->write_queue.bfd.fd = fd; - ccon->write_queue.bfd.when = BSC_FD_READ; + ccon->write_queue.bfd.when = OSMO_FD_READ; ret = osmo_fd_register(&ccon->write_queue.bfd); if (ret < 0) { diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 8c3b0fa..c7ff78e 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -2006,9 +2006,9 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_nsip_read(bfd); - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_nsip_write(bfd); return rc; diff --git a/src/gb/gprs_ns_frgre.c b/src/gb/gprs_ns_frgre.c index 483fdb6..dbbd8d2 100644 --- a/src/gb/gprs_ns_frgre.c +++ b/src/gb/gprs_ns_frgre.c @@ -315,9 +315,9 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_nsfrgre_read(bfd); - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_nsfrgre_write(bfd); return rc; diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 385b467..996830f 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -355,7 +355,7 @@ int rc; uint8_t buf[4096]; - if (!(flags & BSC_FD_READ)) + if (!(flags & OSMO_FD_READ)) return 0; rc = read(fd->fd, buf, sizeof(buf)); @@ -395,7 +395,7 @@ sink_ofd = >i->sink_ofd; sink_ofd->fd = fd; - sink_ofd->when = BSC_FD_READ; + sink_ofd->when = OSMO_FD_READ; sink_ofd->cb = gsmtap_sink_fd_cb; rc = osmo_fd_register(sink_ofd); diff --git a/src/select.c b/src/select.c index 4e7be35..7ce135f 100644 --- a/src/select.c +++ b/src/select.c @@ -55,7 +55,7 @@ /*! Set up an osmo-fd. Will not register it. * \param[inout] ofd Osmo FD to be set-up * \param[in] fd OS-level file descriptor number - * \param[in] when bit-mask of BSC_FD_{READ,WRITE,EXECEPT} + * \param[in] when bit-mask of OSMO_FD_{READ,WRITE,EXECEPT} * \param[in] cb Call-back function to be called * \param[in] data Private context pointer * \param[in] priv_nr Private number @@ -171,13 +171,13 @@ int highfd = 0; llist_for_each_entry(ufd, &osmo_fds, list) { - if (ufd->when & BSC_FD_READ) + if (ufd->when & OSMO_FD_READ) FD_SET(ufd->fd, readset); - if (ufd->when & BSC_FD_WRITE) + if (ufd->when & OSMO_FD_WRITE) FD_SET(ufd->fd, writeset); - if (ufd->when & BSC_FD_EXCEPT) + if (ufd->when & OSMO_FD_EXCEPT) FD_SET(ufd->fd, exceptset); if (ufd->fd > highfd) @@ -199,17 +199,17 @@ int flags = 0; if (FD_ISSET(ufd->fd, readset)) { - flags |= BSC_FD_READ; + flags |= OSMO_FD_READ; FD_CLR(ufd->fd, readset); } if (FD_ISSET(ufd->fd, writeset)) { - flags |= BSC_FD_WRITE; + flags |= OSMO_FD_WRITE; FD_CLR(ufd->fd, writeset); } if (FD_ISSET(ufd->fd, exceptset)) { - flags |= BSC_FD_EXCEPT; + flags |= OSMO_FD_EXCEPT; FD_CLR(ufd->fd, exceptset); } @@ -327,7 +327,7 @@ { ofd->cb = cb; ofd->data = data; - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; if (ofd->fd < 0) { int rc; diff --git a/src/socket.c b/src/socket.c index 6a3f254..3a46ad0 100644 --- a/src/socket.c +++ b/src/socket.c @@ -414,7 +414,7 @@ return sfd; ofd->fd = sfd; - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; rc = osmo_fd_register(ofd); if (rc < 0) { diff --git a/src/vty/telnet_interface.c b/src/vty/telnet_interface.c index e090e17..dc23b12 100644 --- a/src/vty/telnet_interface.c +++ b/src/vty/telnet_interface.c @@ -59,7 +59,7 @@ static int telnet_new_connection(struct osmo_fd *fd, unsigned int what); static struct osmo_fd server_socket = { - .when = BSC_FD_READ, + .when = OSMO_FD_READ, .cb = telnet_new_connection, .priv_nr = 0, }; @@ -142,8 +142,8 @@ struct telnet_connection *conn = fd->data; int rc = 0; - if (what & BSC_FD_READ) { - conn->fd.when &= ~BSC_FD_READ; + if (what & OSMO_FD_READ) { + conn->fd.when &= ~OSMO_FD_READ; rc = vty_read(conn->vty); } @@ -151,10 +151,10 @@ if (rc == -EBADF) return rc; - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { rc = buffer_flush_all(conn->vty->obuf, fd->fd); if (rc == BUFFER_EMPTY) - conn->fd.when &= ~BSC_FD_WRITE; + conn->fd.when &= ~OSMO_FD_WRITE; } return rc; @@ -177,7 +177,7 @@ connection->priv = fd->data; connection->fd.data = connection; connection->fd.fd = new_connection; - connection->fd.when = BSC_FD_READ; + connection->fd.when = OSMO_FD_READ; connection->fd.cb = client_data; rc = osmo_fd_register(&connection->fd); if (rc < 0) { @@ -219,10 +219,10 @@ switch (event) { case VTY_READ: - bfd->when |= BSC_FD_READ; + bfd->when |= OSMO_FD_READ; break; case VTY_WRITE: - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; case VTY_CLOSED: /* vty layer is about to free() vty */ diff --git a/src/write_queue.c b/src/write_queue.c index fb6839a..3399b0f 100644 --- a/src/write_queue.c +++ b/src/write_queue.c @@ -47,22 +47,22 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) { + if (what & OSMO_FD_READ) { rc = queue->read_cb(fd); if (rc == -EBADF) goto err_badfd; } - if (what & BSC_FD_EXCEPT) { + if (what & OSMO_FD_EXCEPT) { rc = queue->except_cb(fd); if (rc == -EBADF) goto err_badfd; } - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct msgb *msg; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; /* the queue might have been emptied */ if (!llist_empty(&queue->msg_queue)) { @@ -76,7 +76,7 @@ goto err_badfd; if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } } @@ -115,7 +115,7 @@ ++queue->current_length; msgb_enqueue(&queue->msg_queue, data); - queue->bfd.when |= BSC_FD_WRITE; + queue->bfd.when |= OSMO_FD_WRITE; return 0; } @@ -133,7 +133,7 @@ } queue->current_length = 0; - queue->bfd.when &= ~BSC_FD_WRITE; + queue->bfd.when &= ~OSMO_FD_WRITE; } /*! @} */ -- To view, visit https://gerrit.osmocom.org/13335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 Gerrit-Change-Number: 13335 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:37:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 09:37:41 +0000 Subject: Change in osmo-bsc[master]: test In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/13324 ) Change subject: test ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: I0cf5432aec1f61adc6f6cf74a8d4f89dbaea0863 Gerrit-Change-Number: 13324 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:49:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 09:49:59 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13328/2/debian/osmo-sysmon.install File debian/osmo-sysmon.install: https://gerrit.osmocom.org/#/c/13328/2/debian/osmo-sysmon.install at 3 PS2, Line 3: usr/share/doc/examples/osmo-sysmon.cfg usr/share/doc/osmo-sysmon/examples This needs to be: usr/share/doc/osmo-sysmon/examples/osmo-sysmon/osmo-sysmon.cfg usr/share/doc/osmo-sysmon/examples Otherwise it fails with: dh_install: Cannot find (any matches for) "usr/share/doc/examples/osmo-sysmon.cfg" (tried in "." and "debian/tmp") dh_install: osmo-sysmon missing files: usr/share/doc/examples/osmo-sysmon.cfg dh_install: missing files, aborting -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 09:49:59 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 09:53:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 09:53:28 +0000 Subject: Change in osmo-sysmon[master]: Makefile.am: Add missing bits to have make release working In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13323 ) Change subject: Makefile.am: Add missing bits to have make release working ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 Gerrit-Change-Number: 13323 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 09:53:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:33:22 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 10:33:22 +0000 Subject: Change in libosmocore[master]: select: Rename BSC_FD_* constants to OSMO_FD_* In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13335 ) Change subject: select: Rename BSC_FD_* constants to OSMO_FD_* ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 Gerrit-Change-Number: 13335 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 10:33:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:34:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 10:34:09 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, Neels Hofmeyr, Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13301 to look at the new patch set (#5). Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Add scripts/osmocom-list-commits.sh Generate a table of Osmocom CNI repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da --- A scripts/osmocom-list-commits.sh 1 file changed, 85 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/13301/5 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:34:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 10:34:25 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13302 ) Change subject: jobs: add osmocom-list-commits.yml ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 10:34:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:35:14 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 10:35:14 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 10:35:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:36:17 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 10:36:17 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13302 ) Change subject: jobs: add osmocom-list-commits.yml ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 10:36:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:41:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 10:41:55 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: Hello Max, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13302 to look at the new patch set (#6). Change subject: jobs: add osmocom-list-commits.yml ...................................................................... jobs: add osmocom-list-commits.yml Related: OS#3840 Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b --- A jobs/osmocom-list-commits.yml 1 file changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/02/13302/6 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:48:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:48:22 +0000 Subject: Change in libosmocore[master]: signal.c: Fix osmo_signal_talloc_ctx_init() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13336 Change subject: signal.c: Fix osmo_signal_talloc_ctx_init() ...................................................................... signal.c: Fix osmo_signal_talloc_ctx_init() This function is broken ever since it was added back in 2018 in commit Id58ca18eb826b8f4183a7cf0dbb2b38cba702a09 Rather than allocating from the user-supplied 'root_ctx', it is allocating from the context that it's trying to create (which is NULL at that time, rendering the entire operation more or less a no-op. For sure you will not see osmo_signal structures never in any talloc report. Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f --- M src/signal.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/13336/1 diff --git a/src/signal.c b/src/signal.c index 188876b..2302788 100644 --- a/src/signal.c +++ b/src/signal.c @@ -52,7 +52,7 @@ * \returns the new osmo_signal talloc context, e.g. for reporting */ void *osmo_signal_talloc_ctx_init(void *root_ctx) { - tall_sigh_ctx = talloc_named_const(tall_sigh_ctx, 0, "osmo_signal"); + tall_sigh_ctx = talloc_named_const(root_ctx, 0, "osmo_signal"); return tall_sigh_ctx; } -- To view, visit https://gerrit.osmocom.org/13336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f Gerrit-Change-Number: 13336 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:48:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:48:23 +0000 Subject: Change in libosmocore[master]: signal.c: Make non-exported tall_sigh_ctx static Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13337 Change subject: signal.c: Make non-exported tall_sigh_ctx static ...................................................................... signal.c: Make non-exported tall_sigh_ctx static As indicated in the commitlog of Id58ca18eb826b8f4183a7cf0dbb2b38cba702a09, the symbol was never exported in a header file, so it should be safe to mark it as static. Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf --- M src/signal.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/37/13337/1 diff --git a/src/signal.c b/src/signal.c index 2302788..852749a 100644 --- a/src/signal.c +++ b/src/signal.c @@ -36,7 +36,7 @@ * \file signal.c */ -void *tall_sigh_ctx; +static void *tall_sigh_ctx; static LLIST_HEAD(signal_handler_list); struct signal_handler { -- To view, visit https://gerrit.osmocom.org/13337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf Gerrit-Change-Number: 13337 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:48:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:48:23 +0000 Subject: Change in libosmocore[master]: make use of OTC_GLOBAL when allocating library-internal contexts Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13338 Change subject: make use of OTC_GLOBAL when allocating library-internal contexts ...................................................................... make use of OTC_GLOBAL when allocating library-internal contexts As libosmcore is now managing the global talloc contexts, there's no point in having APIs where the user tells the library about which talloc contexts to use for a given sub-system. Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 --- M include/osmocom/core/signal.h M src/counter.c M src/ctrl/control_vty.c M src/gb/gprs_bssgp.c M src/gsm/lapd_core.c M src/logging.c M src/signal.c M src/stats.c M src/vty/telnet_interface.c M tests/ctrl/ctrl_test.c 10 files changed, 36 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/13338/1 diff --git a/include/osmocom/core/signal.h b/include/osmocom/core/signal.h index 449b976..0f17843 100644 --- a/include/osmocom/core/signal.h +++ b/include/osmocom/core/signal.h @@ -1,6 +1,7 @@ #pragma once #include +#include /*! \defgroup signal Intra-application signals * @{ @@ -34,7 +35,8 @@ /* Management */ -void *osmo_signal_talloc_ctx_init(void *root_ctx); +void *osmo_signal_talloc_ctx_init(void *root_ctx) + OSMO_DEPRECATED("libosmocore internally allocates this context now."); int osmo_signal_register_handler(unsigned int subsys, osmo_signal_cbfn *cbfn, void *data); void osmo_signal_unregister_handler(unsigned int subsys, osmo_signal_cbfn *cbfn, void *data); diff --git a/src/counter.c b/src/counter.c index 0fa3166..482dfc2 100644 --- a/src/counter.c +++ b/src/counter.c @@ -1,7 +1,7 @@ /*! \file counter.c * utility routines for keeping some statistics. */ /* - * (C) 2009 by Harald Welte + * (C) 2009,2019 by Harald Welte * * All Rights Reserved * @@ -39,8 +39,12 @@ * \returns Allocated counter on success; NULL on error */ struct osmo_counter *osmo_counter_alloc(const char *name) { - struct osmo_counter *ctr = talloc_zero(tall_ctr_ctx, struct osmo_counter); + struct osmo_counter *ctr; + if (!tall_ctr_ctx) + tall_ctr_ctx = talloc_named_const(OTC_GLOBAL, 0, "osmo_counter"); + + ctr = talloc_zero(tall_ctr_ctx, struct osmo_counter); if (!ctr) return NULL; diff --git a/src/ctrl/control_vty.c b/src/ctrl/control_vty.c index ef98889..0dc8bfe 100644 --- a/src/ctrl/control_vty.c +++ b/src/ctrl/control_vty.c @@ -79,9 +79,14 @@ return CMD_SUCCESS; } +/*! Initialize the VTY configuration for the CTRL interface. + * \param[in] ctx UNUSED, only for legacy compatibility + * \returns 0 on success; negative on error */ int ctrl_vty_init(void *ctx) { - ctrl_vty_ctx = ctx; + ctrl_vty_ctx = talloc_named_const(OTC_GLOBAL, 0, "ctrl-vty"); + if (!ctrl_vty_ctx) + return -1; install_element(CONFIG_NODE, &cfg_ctrl_cmd); install_node(&ctrl_node, config_write_ctrl); diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 4a4bab3..884914b 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -121,6 +121,9 @@ { struct bssgp_bvc_ctx *ctx; + if (!bssgp_tall_ctx) + bssgp_tall_ctx = talloc_named_const(OTC_GLOBAL, 0, "bssgp"); + ctx = talloc_zero(bssgp_tall_ctx, struct bssgp_bvc_ctx); if (!ctx) return NULL; diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index a2ff230..afbb1e9 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -252,7 +252,7 @@ dl->state = state; } -static void *tall_lapd_ctx = NULL; +static __thread void *tall_lapd_ctx; /* init datalink instance and allocate history */ void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, @@ -299,7 +299,7 @@ lapd_dl_newstate(dl, LAPD_STATE_IDLE); if (!tall_lapd_ctx) - tall_lapd_ctx = talloc_named_const(NULL, 1, "lapd context"); + tall_lapd_ctx = talloc_named_const(OTC_GLOBAL, 1, "lapd context"); dl->tx_hist = talloc_zero_array(tall_lapd_ctx, struct lapd_history, dl->range_hist); } diff --git a/src/logging.c b/src/logging.c index 09021e4..80a1852 100644 --- a/src/logging.c +++ b/src/logging.c @@ -954,7 +954,7 @@ /*! Initialize the Osmocom logging core * \param[in] inf Information regarding logging categories, could be NULL - * \param[in] ctx \ref talloc context for logging allocations + * \param[in] ctx UNUSED, only for legacy API compatibility * \returns 0 in case of success, negative in case of error * * If inf is NULL then only library-internal categories are initialized. @@ -963,7 +963,7 @@ { int i; - tall_log_ctx = talloc_named_const(ctx, 1, "logging"); + tall_log_ctx = talloc_named_const(OTC_GLOBAL, 1, "logging"); if (!tall_log_ctx) return -ENOMEM; diff --git a/src/signal.c b/src/signal.c index 852749a..52fda3b 100644 --- a/src/signal.c +++ b/src/signal.c @@ -46,13 +46,8 @@ void *data; }; -/*! Initialize a signal_handler talloc context for \ref osmo_signal_register_handler. - * Create a talloc context called "osmo_signal". - * \param[in] root_ctx talloc context used as parent for the new "osmo_signal" ctx. - * \returns the new osmo_signal talloc context, e.g. for reporting - */ +/* DEPRECATED: Never really worked and we now have OTC_GLOBAL */ void *osmo_signal_talloc_ctx_init(void *root_ctx) { - tall_sigh_ctx = talloc_named_const(root_ctx, 0, "osmo_signal"); return tall_sigh_ctx; } @@ -67,6 +62,11 @@ { struct signal_handler *sig_data; + if (!tall_sigh_ctx) + tall_sigh_ctx = talloc_named_const(OTC_GLOBAL, 0, "osmo_signal"); + if (!tall_sigh_ctx) + return -ENOMEM; + sig_data = talloc(tall_sigh_ctx, struct signal_handler); if (!sig_data) return -ENOMEM; diff --git a/src/stats.c b/src/stats.c index b5adbf2..da8f3d3 100644 --- a/src/stats.c +++ b/src/stats.c @@ -187,10 +187,10 @@ } /*! Initilize the stats reporting module; call this once in your program - * \param[in] ctx Talloc context from which stats related memory is allocated */ + * \param[in] ctx UNUSED, only for legacy API compatibility */ void osmo_stats_init(void *ctx) { - osmo_stats_ctx = ctx; + osmo_stats_ctx = talloc_named_const(OTC_GLOBAL, 0, "stats"); osmo_stat_item_discard_all(¤t_stat_item_index); is_initialised = 1; diff --git a/src/vty/telnet_interface.c b/src/vty/telnet_interface.c index dc23b12..117caf0 100644 --- a/src/vty/telnet_interface.c +++ b/src/vty/telnet_interface.c @@ -75,7 +75,7 @@ } /*! Initialize telnet based VTY interface - * \param[in] tall_ctx \ref talloc context + * \param[in] tall_ctx UNUSED, only for legacy API compatibility * \param[in] priv private data to be passed to callback * \param[in] ip IP to listen to ('::1' for localhost, '::0' for all, ...) * \param[in] port TCP port number to bind to @@ -84,8 +84,7 @@ { int rc; - tall_telnet_ctx = talloc_named_const(tall_ctx, 1, - "telnet_connection"); + tall_telnet_ctx = talloc_named_const(OTC_GLOBAL, 0, "telnet_connection"); rc = osmo_sock_init_ofd( &server_socket, diff --git a/tests/ctrl/ctrl_test.c b/tests/ctrl/ctrl_test.c index cffb803..677ed27 100644 --- a/tests/ctrl/ctrl_test.c +++ b/tests/ctrl/ctrl_test.c @@ -4,6 +4,7 @@ #include #include +#include #include #include #include @@ -459,7 +460,7 @@ int main(int argc, char **argv) { - ctx = talloc_named_const(NULL, 1, "ctrl_test"); + ctx = OTC_GLOBAL; osmo_init_logging2(ctx, &info); msgb_talloc_ctx_init(ctx, 0); @@ -478,8 +479,8 @@ test_deferred_cmd(); - /* Expecting root ctx + msgb root ctx + 5 logging elements */ - if (talloc_total_blocks(ctx) != 7) { + /* Expecting root ctx + name + msgb root ctx + 5 logging elements */ + if (talloc_total_blocks(ctx) != 8) { talloc_report_full(ctx, stdout); OSMO_ASSERT(false); } -- To view, visit https://gerrit.osmocom.org/13338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 Gerrit-Change-Number: 13338 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:55:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:55:58 +0000 Subject: Change in osmo-sysmon[master]: Makefile.am: Add missing bits to have make release working In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13323 ) Change subject: Makefile.am: Add missing bits to have make release working ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 Gerrit-Change-Number: 13323 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 10:55:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:55:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:55:59 +0000 Subject: Change in osmo-sysmon[master]: Makefile.am: Add missing bits to have make release working In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13323 ) Change subject: Makefile.am: Add missing bits to have make release working ...................................................................... Makefile.am: Add missing bits to have make release working Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 --- M Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: osmith: Looks good to me, approved Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index a838715..59ac423 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ SUBDIRS = doc src ACLOCAL_AMFLAGS = -I m4 + + at RELMAKE@ -- To view, visit https://gerrit.osmocom.org/13323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2758561ff2b08e33042161253a3bd36ce73bf259 Gerrit-Change-Number: 13323 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:56:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:56:49 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13332 ) Change subject: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1c8d8fe7f79a2ec737baa7800247269c3271983e Gerrit-Change-Number: 13332 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 10:56:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:56:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:56:55 +0000 Subject: Change in libosmocore[master]: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13332 ) Change subject: gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() ...................................................................... gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4() When putting together a sockaddr_in, we must not only set the IP address and port, but also set the address family to AF_INET. And while at it, let's zero-initialize the entire 'struct sockdadr_in'. Change-Id: I1c8d8fe7f79a2ec737baa7800247269c3271983e --- M src/gb/gprs_ns_sns.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/gb/gprs_ns_sns.c b/src/gb/gprs_ns_sns.c index cbaa468..dd8d3a2 100644 --- a/src/gb/gprs_ns_sns.c +++ b/src/gb/gprs_ns_sns.c @@ -88,6 +88,8 @@ struct gprs_nsvc *nsvc; struct sockaddr_in sin; /* copy over. Both data structures use network byte order */ + memset(&sin, 0, sizeof(sin)); + sin.sin_family = AF_INET; sin.sin_addr.s_addr = ip4->ip_addr; sin.sin_port = ip4->udp_port; -- To view, visit https://gerrit.osmocom.org/13332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1c8d8fe7f79a2ec737baa7800247269c3271983e Gerrit-Change-Number: 13332 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:57:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:57:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: expected-results: add new S15-S0 related testscases In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13333 ) Change subject: expected-results: add new S15-S0 related testscases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28a853ec25feb723b2d333061e1ae4d2e0b34d86 Gerrit-Change-Number: 13333 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 10:57:04 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:57:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:57:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: expected-results: add new S15-S0 related testscases In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13333 ) Change subject: expected-results: add new S15-S0 related testscases ...................................................................... expected-results: add new S15-S0 related testscases The S15-S0 related testscases are missing from the expected-results.xml file. Lets add them. Change-Id: I28a853ec25feb723b2d333061e1ae4d2e0b34d86 Related: SYS#4470 --- M bsc/expected-results.xml 1 file changed, 17 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index dadb349..f9de543 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -101,6 +101,23 @@ + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/13333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I28a853ec25feb723b2d333061e1ae4d2e0b34d86 Gerrit-Change-Number: 13333 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:57:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:57:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add SNS tests for SGSN-originated BVC-RESET handling In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13334 ) Change subject: pcu: Add SNS tests for SGSN-originated BVC-RESET handling ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib6b80acf98711f4749da4faf549b02ff2b82425f Gerrit-Change-Number: 13334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 10:57:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 10:57:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 10:57:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add SNS tests for SGSN-originated BVC-RESET handling In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13334 ) Change subject: pcu: Add SNS tests for SGSN-originated BVC-RESET handling ...................................................................... pcu: Add SNS tests for SGSN-originated BVC-RESET handling Change-Id: Ib6b80acf98711f4749da4faf549b02ff2b82425f --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 76 insertions(+), 8 deletions(-) Approvals: Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index a30829e..6022d36 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -172,6 +172,29 @@ } } +/* Transmit BSSGP RESET for given BVCI and expect ACK */ +function f_tx_bvc_reset_rx_ack(BssgpBvci bvci, integer idx := 0, boolean exp_ack := true) +runs on RAW_NS_CT { + var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, bvci, + mp_gb_cfg.cell_id)); + timer T := 5.0; + NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_NS_UNITDATA(t_SduCtrlB, 0, enc_PDU_BSSGP(bssgp_tx)))); + T.start; + alt { + [exp_ack] NSCP[idx].receive(t_NS_RecvFrom(tr_NS_UNITDATA(t_SduCtrlB, 0, + decmatch tr_BVC_RESET_ACK(bvci, ?)))) { + setverdict(pass); + } + [exp_ack] T.timeout { + setverdict(fail, "No response to BVC-RESET"); + } + [not exp_ack] T.timeout { + setverdict(pass); + } + [] NSCP[idx].receive { repeat; } + } +} + /* Receive a BSSGP RESET for given BVCI and ACK it */ altstep as_rx_bvc_reset_tx_ack(BssgpBvci bvci, boolean oneshot := false, integer idx := 0) runs on RAW_NS_CT { var NS_RecvFrom ns_rf; diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 7f71744..7513196 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -186,7 +186,7 @@ setverdict(pass); } -private function f_sns_bringup_1c1u() runs on RAW_Test_CT { +private function f_sns_bringup_1c1u(boolean sgsn_originated_reset := false) runs on RAW_Test_CT { /* Activate two NS codec ports */ f_init_ns_codec(); f_init_ns_codec(1); @@ -208,9 +208,14 @@ f_outgoing_ns_alive(0); f_outgoing_ns_alive(1); - /* Expect BVC-RESET for signaling (0) and ptp BVCI */ - as_rx_bvc_reset_tx_ack(0, oneshot := true); - as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true); + if (sgsn_originated_reset) { + f_tx_bvc_reset_rx_ack(0); + f_tx_bvc_reset_rx_ack(mp_gb_cfg.bvci); + } else { + /* Expect BVC-RESET for signaling (0) and ptp BVCI */ + as_rx_bvc_reset_tx_ack(0, oneshot := true); + as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true); + } /* Expect UNBLOCK for ptp BVCI on signaling NS-VC (idx==0) */ as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true); @@ -226,7 +231,7 @@ setverdict(pass); } -private function f_sns_bringup_1c1u_separate() runs on RAW_Test_CT { +private function f_sns_bringup_1c1u_separate(boolean sgsn_originated_reset := false) runs on RAW_Test_CT { /* Activate two NS codec ports */ f_init_ns_codec(); f_init_ns_codec(1); @@ -253,9 +258,14 @@ /* ensure there's no response to NS-ALIVE sent on idx==0 */ f_outgoing_ns_alive_no_ack(idx := 0); - /* Expect BVC-RESET for signaling BVCI=0 and ptp BVCI */ - as_rx_bvc_reset_tx_ack(0, oneshot := true, idx := 1); - as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + if (sgsn_originated_reset) { + f_tx_bvc_reset_rx_ack(0, idx := 1); + f_tx_bvc_reset_rx_ack(mp_gb_cfg.bvci, idx := 1); + } else { + /* Expect BVC-RESET for signaling BVCI=0 and ptp BVCI */ + as_rx_bvc_reset_tx_ack(0, oneshot := true, idx := 1); + as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); + } /* Expect UNBLOCK for ptp BVCI on signaling NS-VC (idx==1) */ as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true, idx := 1); @@ -272,6 +282,39 @@ setverdict(pass); } +/* Test full IP-SNS bring-up with two NS-VCs, one sig-only and one user-only and use + * SGSN-originated BVC-RESET rather than BSS-originated */ +testcase TC_sns_1c1u_so_bvc_reset() runs on RAW_Test_CT { + f_sns_bringup_1c1u_separate(sgsn_originated_reset := true); + setverdict(pass); +} + +/* Transmit BVC-RESET before NS-ALIVE of PCU was ACKed: expect no response */ +testcase TC_sns_1c1u_so_bvc_reset_too_early() runs on RAW_Test_CT { + /* Activate two NS codec ports */ + f_init_ns_codec(); + f_init_ns_codec(1); + f_init_ns_codec(2); + f_init_pcuif(); + /* Perform Size + BSS-originated config */ + f_incoming_sns_size(); + f_incoming_sns_config(); + /* perform SGSN-originated config using idx==0 for signalling and idx==1 for user traffic */ + f_outgoing_sns_config_1c1u_separate(); + + /* DON'T ACK ANY INBOUND NS-ALIVE HERE! */ + + /* perform outgoing ALIVE procedure for both NS-VCs */ + f_outgoing_ns_alive(1); + f_outgoing_ns_alive(2); + /* ensure there's no response to NS-ALIVE sent on idx==0 */ + f_outgoing_ns_alive_no_ack(idx := 0); + + /* Transmit BVC-RESET and expect no ACK*/ + f_tx_bvc_reset_rx_ack(0, idx := 1, exp_ack := false); + f_tx_bvc_reset_rx_ack(mp_gb_cfg.bvci, idx := 1, exp_ack := false); +} + /* Test adding new IP endpoints at runtime */ testcase TC_sns_add() runs on RAW_Test_CT { f_sns_bringup_1c1u(); @@ -343,6 +386,8 @@ execute( TC_sns_so_config_success() ); execute( TC_sns_1c1u() ); execute( TC_sns_1c1u_separate() ); + execute( TC_sns_1c1u_so_bvc_reset() ); + execute( TC_sns_1c1u_so_bvc_reset_too_early() ); execute( TC_sns_add() ); execute( TC_sns_del() ); execute( TC_sns_chg_weight() ); -- To view, visit https://gerrit.osmocom.org/13334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib6b80acf98711f4749da4faf549b02ff2b82425f Gerrit-Change-Number: 13334 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:16:28 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 11:16:28 +0000 Subject: Change in libosmocore[master]: signal.c: Fix osmo_signal_talloc_ctx_init() In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13336 ) Change subject: signal.c: Fix osmo_signal_talloc_ctx_init() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f Gerrit-Change-Number: 13336 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 11:16:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:17:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 11:17:09 +0000 Subject: Change in libosmocore[master]: signal.c: Make non-exported tall_sigh_ctx static In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13337 ) Change subject: signal.c: Make non-exported tall_sigh_ctx static ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf Gerrit-Change-Number: 13337 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 11:17:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:26:43 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 11:26:43 +0000 Subject: Change in libosmo-abis[master]: Add IPA keep-alive FSM implementation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13196 ) Change subject: Add IPA keep-alive FSM implementation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2763da49a74de85046ac07d53592c89973314ca6 Gerrit-Change-Number: 13196 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 20 Mar 2019 11:26:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:30:18 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 11:30:18 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: > I think it makes more sense to have all *.service files in a single > directory: $PROJECT/contrib/systemd/... Oh good point, I didn't notice they were under src/target/... I agree here with Vadim. However, I still want to have them placed under /user/ subdir. systemd user service and sytem services files are different stuff and it's better not having them together in same directory in order to avoid confusion (systemd does install them to different directories too). Regading Max's splitting argument, we can still do that easily if they are placed in $PROJECT/contrib/systemd. -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 11:30:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:33:38 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 11:33:38 +0000 Subject: Change in libosmocore[master]: select: Rename BSC_FD_* constants to OSMO_FD_* In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13335 ) Change subject: select: Rename BSC_FD_* constants to OSMO_FD_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 Gerrit-Change-Number: 13335 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 11:33:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:37:25 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 11:37:25 +0000 Subject: Change in libosmocore[master]: signal.c: Fix osmo_signal_talloc_ctx_init() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13336 ) Change subject: signal.c: Fix osmo_signal_talloc_ctx_init() ...................................................................... Patch Set 1: Code-Review+2 Ouch, good catch. -- To view, visit https://gerrit.osmocom.org/13336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f Gerrit-Change-Number: 13336 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 11:37:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 11:38:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 11:38:12 +0000 Subject: Change in libosmocore[master]: signal.c: Make non-exported tall_sigh_ctx static In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13337 ) Change subject: signal.c: Make non-exported tall_sigh_ctx static ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf Gerrit-Change-Number: 13337 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 11:38:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:03:35 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 12:03:35 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13339 Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... commands: correct case of a TLV tag (A5 => a5) The hexadecimal tag defintions of pytlv are cas sensitive strings. So 'A5' is something different than 'a5'. Pytlv uses lower case letters for the upper hexadecimal digits. Lets correct this. Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Related: OS#3850 --- M pySim/commands.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/13339/1 diff --git a/pySim/commands.py b/pySim/commands.py index 73c2247..913f394 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -35,7 +35,7 @@ # see also: ETSI TS 102 221, chapter 11.1.1.3.1 Response for MF, # DF or ADF from pytlv.TLV import TLV - tlvparser = TLV(['82', '83', '84', 'A5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) + tlvparser = TLV(['82', '83', '84', 'a5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) # pytlv is case sensitive! fcp = fcp.lower() -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:03:35 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 12:03:35 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13340 Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT The files EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT are currently not programmed for sysmo-usim-sjs1, lets add them. Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Related: OS#3850 --- M pySim/cards.py 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/40/13340/1 diff --git a/pySim/cards.py b/pySim/cards.py index 3a25040..3a5caac 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -537,6 +537,7 @@ super(SysmoUSIMSJS1, self).__init__(ssc) self._scc.cla_byte = "00" self._scc.sel_ctrl = "000C" + self._scc.sel_ctrl = "0004" #request an FCP @classmethod def autodetect(kls, scc): @@ -575,6 +576,25 @@ # write EF.IMSI data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) + # EF.PLMNsel + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': + print("Programming PLMNsel failed with code %s"%sw) + + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmn_act(p['mcc'], p['mnc']) + if sw != '9000': + print("Programming PLMNwAcT failed with code %s"%sw) + + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): + sw = self.update_oplmn_act(p['mcc'], p['mnc']) + if sw != '9000': + print("Programming OPLMNwAcT failed with code %s"%sw) + + # EF.SMSP r = self._scc.select_file(['3f00', '7f10']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:10:45 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 12:10:45 +0000 Subject: Change in docker-playground[master]: BTS tests: update NSVC config in osmo-bsc.cfg Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13341 Change subject: BTS tests: update NSVC config in osmo-bsc.cfg ...................................................................... BTS tests: update NSVC config in osmo-bsc.cfg * remove extra NSVC config * use 0.0.0.0 for nsvc 0 The additional nsvc and this particular address are not used for BTS' PCU-related tests in any way and only add confusion. It's likely a result of copy-paste from another test. Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7 --- M ttcn3-bts-test/osmo-bsc.cfg 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/41/13341/1 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index b06cf06..54264e8 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -131,11 +131,7 @@ gprs nsvc 0 nsvci 1234 gprs nsvc 0 local udp port 23000 gprs nsvc 0 remote udp port 23000 - gprs nsvc 0 remote ip 192.168.100.239 - gprs nsvc 1 nsvci 0 - gprs nsvc 1 local udp port 0 - gprs nsvc 1 remote udp port 0 - gprs nsvc 1 remote ip 0.0.0.0 + gprs nsvc 0 remote ip 0.0.0.0 no force-combined-si trx 0 rf_locked 0 -- To view, visit https://gerrit.osmocom.org/13341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7 Gerrit-Change-Number: 13341 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:13:03 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 12:13:03 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: Hello lynxis lazus, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13328 to look at the new patch set (#3). Change subject: Add debian packaging content ...................................................................... Add debian packaging content Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/osmo-sysmon.install A debian/rules A debian/source/format 7 files changed, 183 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/28/13328/3 -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:15:04 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 12:15:04 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13330 to look at the new patch set (#3). Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 --- M debian/changelog 1 file changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/30/13330/3 -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:20:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 12:20:50 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 12:20:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:27:18 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 12:27:18 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13330 ) Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 12:27:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:33:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 12:33:57 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13330 ) Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Patch Set 3: Have you checked that it actually builds against latest releases of libosmo*? I'm pretty sure it requires libosmo-netif functions which are only available in master branch and not in any of the releases. -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 12:33:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 12:34:50 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 12:34:50 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13302 ) Change subject: jobs: add osmocom-list-commits.yml ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 12:34:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:14:57 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:14:57 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13330 ) Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Patch Set 3: > Have you checked that it actually builds against latest releases of > libosmo*? I'm pretty sure it requires libosmo-netif functions which > are only available in master branch and not in any of the releases. Yes, it requires master libosmocore and libosmo-netif. That's fine, I just need to remember to only build it under nightly for now. -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 13:14:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:15:13 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:15:13 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 13:15:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:15:16 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:15:16 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13330 ) Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 13:15:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:15:18 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:15:18 +0000 Subject: Change in osmo-sysmon[master]: Add debian packaging content In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13328 ) Change subject: Add debian packaging content ...................................................................... Add debian packaging content Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/osmo-sysmon.install A debian/rules A debian/source/format 7 files changed, 183 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..4e8308d --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +osmo-sysmon (0.0.1) unstable; urgency=medium + + * Initial release. + + -- Pau Espin Pedrol Tue, 19 Mar 2019 18:32:14 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..651ecce --- /dev/null +++ b/debian/control @@ -0,0 +1,47 @@ +Source: osmo-sysmon +Section: net +Priority: extra +Maintainer: Pau Espin Pedrol +Build-Depends: debhelper (>=9), + dh-autoreconf, + autotools-dev, + autoconf, + automake, + libtool, + pkg-config, + libtalloc-dev, + liboping-dev (>= 1.9.0), + libosmocore-dev (>= 1.0.1), + libosmo-netif-dev (>= 0.4.0), +Standards-Version: 3.9.8 +Vcs-Git: git://git.osmocom.org/osmo-sysmon.git +Vcs-Browser: https://git.osmocom.org/osmo-sysmon/ +Homepage: https://osmocom.org/ + +Package: osmo-sysmon +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Simple Osmocom System Monitor (osysmon) + This application prints on screen once per second relevant information about + the status of the system. Information being printed can be specified through + configuration file (and VTY). + . + Useful to run as a login shell to provide users with some diagnose system + without providing full access the system. + +Package: osmo-sysmon-dbg +Section: debug +Architecture: any +Multi-Arch: same +Depends: osmo-sysmon (= ${binary:Version}), ${misc:Depends} +Description: Simple Osmocom System Monitor (osysmon) + This application prints on screen once per second relevant information about + the status of the system. Information being printed can be specified through + configuration file (and VTY). + . + Useful to run as a login shell to provide users with some diagnose system + without providing full access the system. + . + This package contains the debug symbols for osmo-sysmon in order to + generate meaningful backtraces in bug-reports. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..f8d29de --- /dev/null +++ b/debian/copyright @@ -0,0 +1,77 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: osmo-sysmon +Source: git://git.osmocom.org/osmo-sysmon + +Files: * +Copyright: 2019 sysmocom s.f.m.c. GmbH +License: GPL-2.0+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: git-version-gen +Copyright: 2007-2010 Free Software Foundation, Inc. +License: GPL-3.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. + It may be run two ways: + - from a git repository in which the "git describe" command below + produces useful output (thus requiring at least one signed tag) + - from a non-git-repo directory containing a .tarball-version file, which + presumes this script is invoked like "./git-version-gen .tarball-version". + . + In order to use intra-version strings in your project, you will need two + separate generated version string files: + . + .tarball-version - present only in a distribution tarball, and not in + a checked-out repository. Created with contents that were learned at + the last time autoconf was run, and used by git-version-gen. Must not + be present in either $(srcdir) or $(builddir) for git-version-gen to + give accurate answers during normal development with a checked out tree, + but must be present in a tarball when there is no version control system. + Therefore, it cannot be used in any dependencies. GNUmakefile has + hooks to force a reconfigure at distribution time to get the value + correct, without penalizing normal development with extra reconfigures. + . + .version - present in a checked-out repository and in a distribution + tarball. Usable in dependencies, particularly for files that don't + want to depend on config.h but do want to track version changes. + Delete this file prior to any autoconf run where you want to rebuild + files to pick up a version string change; and leave it stale to + minimize rebuild time after unrelated changes to configure sources. + . + It is probably wise to add these two files to .gitignore, so that you + don't accidentally commit either generated file. + . + Use the following line in your configure.ac, so that $(VERSION) will + automatically be up-to-date each time configure is run (and note that + since configure.ac no longer includes a version string, Makefile rules + should not depend on configure.ac for version updates). + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. diff --git a/debian/osmo-sysmon.install b/debian/osmo-sysmon.install new file mode 100644 index 0000000..d3bd8da --- /dev/null +++ b/debian/osmo-sysmon.install @@ -0,0 +1,3 @@ +etc/osmocom/osmo-sysmon.cfg +usr/bin/osmo-sysmon +usr/share/doc/osmo-sysmon/examples/osmo-sysmon/osmo-sysmon.cfg usr/share/doc/osmo-sysmon/examples diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..dca811f --- /dev/null +++ b/debian/rules @@ -0,0 +1,49 @@ +#!/usr/bin/make -f +# You must remove unused comment lines for the released package. +# See debhelper(7) (uncomment to enable) +# This is an autogenerated template for debian/rules. +# +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 +# +# Copy some variable definitions from pkg-info.mk and vendor.mk +# under /usr/share/dpkg/ to here if they are useful. +# +# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1) +# Apply all hardening options +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all +# Package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +# +# With debhelper version 9 or newer, the dh command exports +# all buildflags. So there is no need to include the +# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer. +# +# These are rarely used code. (START) +# +# The following include for *.mk magically sets miscellaneous +# variables while honoring existing values of pertinent +# environment variables: +# +# Architecture-related variables such as DEB_TARGET_MULTIARCH: +#include /usr/share/dpkg/architecture.mk +# Vendor-related variables such as DEB_VENDOR: +#include /usr/share/dpkg/vendor.mk +# Package-related variables such as DEB_DISTRIBUTION +#include /usr/share/dpkg/pkg-info.mk +# +# You may alternatively set them susing a simple script such as: +# DEB_VENDOR ?= $(shell dpkg-vendor --query Vendor) +# +# These are rarely used code. (END) +# + +# main packaging script based on dh7 syntax +%: + dh $@ --with autoreconf + +# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg +override_dh_strip: + dh_strip --dbg-package=osmo-sysmon-dbg diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) -- To view, visit https://gerrit.osmocom.org/13328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2bcacca040364f77aa6b17edf53acf53c820c17b Gerrit-Change-Number: 13328 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:15:18 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:15:18 +0000 Subject: =?UTF-8?Q?Change_in_osmo-sysmon=5Bmaster=5D=3A_Bump_version=3A_0=2E0=2E1=2E66-d4c3-dirty_=E2=86=92_0=2E1=2E0?= In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13330 ) Change subject: Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 ...................................................................... Bump version: 0.0.1.66-d4c3-dirty ? 0.1.0 Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 --- M debian/changelog 1 file changed, 80 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 4e8308d..a2b0789 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,83 @@ +osmo-sysmon (0.1.0) unstable; urgency=medium + + [ Harald Welte ] + * initial checkin + * simple_ctrl: Add timeout to blocking I/O + * simple_ctrl.c: Support an indefinite timeout (using tout_msec=0) + * simple_ctrl.c: API for setting timeout + raw CTRL msgb read + * osmo-ctrl-client: Implement "monitor" mode + * simple-ctrl-client: Add basic help/usage information + * simple_ctrl: Abstract out timeval_from_msec() function + * simple_ctrl: Non-blocking connect() with timeout + * initial implementation of 'osysmon' main program + CTRL client + * add osysmon_sysinfo for uptime/ram/load + * osysmon_ctrl: Use variable name, not ctrl-client name as val->name + * osysmon_main: Show hierarchical/tree structure during printing + * value_node: add combined find_or_add() and avoid duplicate names + * value_node: Add 'idx' member to handle lookup by ifindex. + * Add network link + address monitiring via osysmon_rtnl.c + * add osysmon_file.c for reading/monitoring files (like sysfs) + * migrate to autoconf + * add .gitignore file + * rename to osmo-sysmon + * simple_ctrl: Check for NULL return of simple_ctrl_xceive + * add contrib/jenkins.sh for build verification + + [ Daniel Willmann ] + * Remove unused function + * Fix compilation issue on my machine, remove unused include + * Remove unused last_value handling code + * Add zero termination char to received ctrl cmd message + * Disconnect properly on errors so we can reconnect + * git-version-gen: Don't check for .git directory + + [ Martin Hauke ] + * Makefile.am: Fix typo + + [ Max ] + * Add git-review config + * Update gitignore + * Report config file name on error + * Update default config + * Expand default config + * Add OpenVPN status helper example from corresponding ticket + * Move shared libs into common LDADD + * Drop unused parameter + * ctrl: separate config structure + * Update Makefile.am + * Add ping probe support + * jenkins.sh: remove obsolete comments + * Install signal handlers before processing config + * ctrl: log host/port on errors + * Introduce generic host config and related helpers + * Add OpenVPN probe + * OpenVPN: track interface disconnect + * Update config example + + [ Stefan Sperling ] + * fix file descriptor leak in osysmon_file_read + + [ Pau Espin Pedrol ] + * Add m4 missing files to fix build + * Move source code to src subdir + * Add cmdline option parsing support + * Integrate sleeping/printing loop into osmo main loop + * openvpn: Improve logging and status information + * openvpn: Set reconnect timeout to a much lower value + * openvpn: String returned from openvpn is not null-terminated + * openvpn: log status description + * openvpn: Fix garbage printed after remote port + * openvpn: Remove useless conditional block in parse_state + * openvn: Fix missing break in last commit + * Add vty option to print output of shell cmd on every poll step + * Makefile.am: Add missing bits to have make release working + * Add debian packaging content + + [ Oliver Smith ] + * osmo-sysmon -h: s/OsmoHLR/osmo-sysmon/ + + -- Pau Espin Pedrol Wed, 20 Mar 2019 13:14:30 +0100 + osmo-sysmon (0.0.1) unstable; urgency=medium * Initial release. -- To view, visit https://gerrit.osmocom.org/13330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie98bb286d9333158985ddb80edf7208d69702d73 Gerrit-Change-Number: 13330 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:19:36 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 Mar 2019 13:19:36 +0000 Subject: Change in libosmocore[master]: select: Rename BSC_FD_* constants to OSMO_FD_* In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13335 ) Change subject: select: Rename BSC_FD_* constants to OSMO_FD_* ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 Gerrit-Change-Number: 13335 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 20 Mar 2019 13:19:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:29:11 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 Mar 2019 13:29:11 +0000 Subject: Change in libosmocore[master]: signal.c: Fix osmo_signal_talloc_ctx_init() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13336 ) Change subject: signal.c: Fix osmo_signal_talloc_ctx_init() ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/13336/1/src/signal.c File src/signal.c: https://gerrit.osmocom.org/#/c/13336/1/src/signal.c at a54 PS1, Line 54: Huh, I would expect a compiler warning about an unused param / variable... -- To view, visit https://gerrit.osmocom.org/13336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f Gerrit-Change-Number: 13336 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 20 Mar 2019 13:29:11 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:30:11 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:30:11 +0000 Subject: Change in libosmocore[master]: signal.c: Fix osmo_signal_talloc_ctx_init() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13336 ) Change subject: signal.c: Fix osmo_signal_talloc_ctx_init() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13336/1/src/signal.c File src/signal.c: https://gerrit.osmocom.org/#/c/13336/1/src/signal.c at a54 PS1, Line 54: > Huh, I would expect a compiler warning about an unused param / variable... Could be related to function being public/exported. -- To view, visit https://gerrit.osmocom.org/13336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f Gerrit-Change-Number: 13336 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 20 Mar 2019 13:30:11 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:31:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 13:31:13 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 13:31:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:31:27 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 13:31:27 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13302 ) Change subject: jobs: add osmocom-list-commits.yml ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 13:31:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:36:03 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 13:36:03 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 13:36:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:36:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 13:36:05 +0000 Subject: Change in osmo-ci[master]: Add scripts/osmocom-list-commits.sh In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13301 ) Change subject: Add scripts/osmocom-list-commits.sh ...................................................................... Add scripts/osmocom-list-commits.sh Generate a table of Osmocom CNI repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da --- A scripts/osmocom-list-commits.sh 1 file changed, 85 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh new file mode 100755 index 0000000..d8183c6 --- /dev/null +++ b/scripts/osmocom-list-commits.sh @@ -0,0 +1,85 @@ +#!/bin/sh -e +# Environment variables: +# * NO_HEADER: do not output the header line when set + +FORMAT_STR="%-22s %-42s %9s %-40s %s\n" +URL="https://git.osmocom.org" +REPOS=" + libasn1c + libosmo-abis + libosmocore + libosmo-netif + libosmo-sccp + libsmpp34 + libusrp + osmo-bsc + osmo-bts + osmo-ggsn + osmo-hlr + osmo-iuh + osmo-mgw + osmo-msc + osmo-pcu + osmo-sgsn + osmo-sip-connector + osmo-sysmon + osmo-trx + osmocom-bb +" + +# Print commit of HEAD for an Osmocom git repository, e.g.: +# "f90496f577e78944ce8db1aa5b900477c1e479b0" +# $1: repository +get_head_commit() { + # git output: + # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD + ret="$(git ls-remote "$URL/$1" HEAD)" + ret="$(echo "$ret" | awk '{print $1}')" + echo "$ret" +} + +# Print last tag and related commit for an Osmocom git repository, e.g.: +# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" +# Print "-" when no tags were found. +# $1: repository +get_last() { + # git output: + # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 + # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} + # ... + # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} + # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 + # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 + # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} + # ... + ret="$(git ls-remote --tags "$URL/$1")" + ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" + ret="$(echo "$ret" | sort -n -k2)" + ret="$(echo "$ret" | tail -n 1)" + + if [ -n "$ret" ]; then + echo "$ret" + else + echo "-" + fi +} + +# Header +if [ -z "$NO_HEADER" ]; then + printf "$FORMAT_STR" "# repository" "clone URL" "last tag" "last tag commit" "HEAD commit" +fi + +# Table +for repo in $REPOS; do + last="$(get_last "$repo")" + last_tag="$(echo "$last" | cut -d/ -f 3)" + last_commit="$(echo "$last" | awk '{print $1}')" + head_commit="$(get_head_commit "$repo")" + + printf "$FORMAT_STR" \ + "$repo.git" \ + "$URL/$repo" \ + "$last_tag" \ + "$last_commit" \ + "$head_commit" +done -- To view, visit https://gerrit.osmocom.org/13301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da Gerrit-Change-Number: 13301 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:36:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 13:36:07 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13302 ) Change subject: jobs: add osmocom-list-commits.yml ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 13:36:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:36:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 13:36:08 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-list-commits.yml In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13302 ) Change subject: jobs: add osmocom-list-commits.yml ...................................................................... jobs: add osmocom-list-commits.yml Related: OS#3840 Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b --- A jobs/osmocom-list-commits.yml 1 file changed, 44 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved osmith: Verified diff --git a/jobs/osmocom-list-commits.yml b/jobs/osmocom-list-commits.yml new file mode 100644 index 0000000..f2651f4 --- /dev/null +++ b/jobs/osmocom-list-commits.yml @@ -0,0 +1,44 @@ +--- +- project: + name: Osmocom-list-commits + jobs: + - Osmocom-list-commits + +- job-template: + name: 'Osmocom-list-commits' + project-type: freestyle + defaults: global + description: | + Generate and upload a list of Osmocom git repositories and their latest tag and commits. + The latest list is here. + node: osmocom-master-debian9 + parameters: + - string: + name: BRANCH + description: | + osmo-ci.git branch where the osmocom-list-commits.sh gets pulled from + default: '*/master' + builders: + - shell: | + scripts/osmocom-list-commits.sh > commits.txt + cat commits.txt + scm: + - git: + branches: + - '$BRANCH' + url: git://git.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + triggers: + - timed: "@midnight" + publishers: + - archive: + allow-empty: false + artifacts: commits.txt + case-sensitive: true + only-if-success: true + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + +# vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/13302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b Gerrit-Change-Number: 13302 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:40:39 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 Mar 2019 13:40:39 +0000 Subject: Change in libosmocore[master]: signal.c: Make non-exported tall_sigh_ctx static In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13337 ) Change subject: signal.c: Make non-exported tall_sigh_ctx static ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf Gerrit-Change-Number: 13337 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 20 Mar 2019 13:40:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:40:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 13:40:57 +0000 Subject: Change in docker-playground[master]: BTS tests: update NSVC config in osmo-bsc.cfg In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13341 ) Change subject: BTS tests: update NSVC config in osmo-bsc.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7 Gerrit-Change-Number: 13341 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Wed, 20 Mar 2019 13:40:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:42:32 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 Mar 2019 13:42:32 +0000 Subject: Change in libosmocore[master]: src/signal.c: cosmetic: use talloc_zero() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13342 Change subject: src/signal.c: cosmetic: use talloc_zero() ...................................................................... src/signal.c: cosmetic: use talloc_zero() Change-Id: I55c6249b0c4c82d5a181001e945ff2eca6e9ca36 --- M src/signal.c 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/13342/1 diff --git a/src/signal.c b/src/signal.c index 188876b..7e53e83 100644 --- a/src/signal.c +++ b/src/signal.c @@ -67,12 +67,10 @@ { struct signal_handler *sig_data; - sig_data = talloc(tall_sigh_ctx, struct signal_handler); + sig_data = talloc_zero(tall_sigh_ctx, struct signal_handler); if (!sig_data) return -ENOMEM; - memset(sig_data, 0, sizeof(*sig_data)); - sig_data->subsys = subsys; sig_data->data = data; sig_data->cbfn = cbfn; -- To view, visit https://gerrit.osmocom.org/13342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I55c6249b0c4c82d5a181001e945ff2eca6e9ca36 Gerrit-Change-Number: 13342 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:47:53 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:47:53 +0000 Subject: Change in libosmocore[master]: src/signal.c: cosmetic: use talloc_zero() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13342 ) Change subject: src/signal.c: cosmetic: use talloc_zero() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I55c6249b0c4c82d5a181001e945ff2eca6e9ca36 Gerrit-Change-Number: 13342 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 13:47:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:54:01 +0000 Subject: Change in osmo-sysmon[master]: debian: Add missing libmnl-dev dependency Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13343 Change subject: debian: Add missing libmnl-dev dependency ...................................................................... debian: Add missing libmnl-dev dependency Change-Id: I1157b1f0edabac16d664c2d4ad2250d3802dcc60 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/43/13343/1 diff --git a/debian/control b/debian/control index 651ecce..9439c3b 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,7 @@ libtool, pkg-config, libtalloc-dev, + libmnl-dev, liboping-dev (>= 1.9.0), libosmocore-dev (>= 1.0.1), libosmo-netif-dev (>= 0.4.0), -- To view, visit https://gerrit.osmocom.org/13343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1157b1f0edabac16d664c2d4ad2250d3802dcc60 Gerrit-Change-Number: 13343 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:54:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:54:01 +0000 Subject: Change in osmo-sysmon[master]: Depend on liboping 1.7.0 instead of 1.9.0 Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13344 Change subject: Depend on liboping 1.7.0 instead of 1.9.0 ...................................................................... Depend on liboping 1.7.0 instead of 1.9.0 Debian8 provides 1.7.0. Let's depend on it so we can build packages for debian8. Change-Id: Idba4494102d48d125bcd215dd0d3fdf42bbd409e --- M configure.ac M debian/control 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/44/13344/1 diff --git a/configure.ac b/configure.ac index 44a040c..5242b6a 100644 --- a/configure.ac +++ b/configure.ac @@ -45,7 +45,8 @@ PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.4.0) PKG_CHECK_MODULES(LIBMNL, libmnl) dnl FIXME: bump to 1.10.0 once it's available on build slaves and remove workaround from osysmon_ping.c -PKG_CHECK_MODULES(LIBOPING, liboping >= 1.9.0) +dnl FIXME: debian8 provides 1.7.0, debian9 provides 1.9.0 +PKG_CHECK_MODULES(LIBOPING, liboping >= 1.7.0) dnl checks for header files AC_HEADER_STDC diff --git a/debian/control b/debian/control index 9439c3b..fc8aed7 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ pkg-config, libtalloc-dev, libmnl-dev, - liboping-dev (>= 1.9.0), + liboping-dev (>= 1.7.0), libosmocore-dev (>= 1.0.1), libosmo-netif-dev (>= 0.4.0), Standards-Version: 3.9.8 -- To view, visit https://gerrit.osmocom.org/13344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idba4494102d48d125bcd215dd0d3fdf42bbd409e Gerrit-Change-Number: 13344 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:54:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:54:31 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 13:54:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:55:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:55:12 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... Patch Set 2: Patches fixing build in OBS are present for review here: https://gerrit.osmocom.org/#/c/osmo-sysmon/+/13344/ -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 13:55:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:55:53 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 13:55:53 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13319 to look at the new patch set (#3). Change subject: a_iface_bssap: add context information to log output ...................................................................... a_iface_bssap: add context information to log output At the moment many of the log statements in a_iface_bssap.c are just LOGP statements without futrher context information. Since those messages appear at a point where no related ran conn can be identified, lets use the BSC as context information, so that the origin of those messages can be traced back to at least one specific BSC. Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 --- M src/libmsc/a_iface_bssap.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err 3 files changed, 69 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/19/13319/3 -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:57:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 13:57:49 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... Patch Set 2: I created the project in OBS nightly, not in testing since we don't enable it there yet. https://build.opensuse.org/package/show/network:osmocom:nightly/osmo-sysmon -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 13:57:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 13:58:04 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 13:58:04 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to FATAL In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13266 to look at the new patch set (#6). Change subject: oc2g: change log level for calibration file errors to FATAL ...................................................................... oc2g: change log level for calibration file errors to FATAL The log level of the messages that notify calibration file loading problems is NOTICE, but since it is a severe problem when calibration can not be loaded lets change it to FATAL Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Related: OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/13266/6 -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:07:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 14:07:37 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str API In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#6) to the change originally created by Neels Hofmeyr. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_sockaddr_str API ...................................................................... add osmo_sockaddr_str API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M configure.ac M include/Makefile.am A include/osmocom/core/sockaddr_str.h M src/Makefile.am A src/sockaddr_str.c M tests/Makefile.am A tests/sockaddr_str/sockaddr_str_test.c A tests/sockaddr_str/sockaddr_str_test.ok M tests/testsuite.at 9 files changed, 1,008 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/6 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-CC: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:09:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 14:09:07 +0000 Subject: Change in openbsc[master]: Drop openggsn from build dependencies Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13345 Change subject: Drop openggsn from build dependencies ...................................................................... Drop openggsn from build dependencies We don't have SGSN-related code here anymore so we don't need libgtp from openggsn any longer. Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 --- M contrib/jenkins.sh 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/45/13345/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7083976..f8ae49c 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -18,7 +18,6 @@ x="${x}_$($1 libosmo-netif)" x="${x}_$($1 libosmo-sccp "$sccp_branch")" x="${x}_$($1 libsmpp34)" - x="${x}_$($1 openggsn)" if [ "x$IU" = "x--enable-iu" ]; then x="${x}_$($1 libasn1c)" @@ -36,7 +35,6 @@ osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp "$sccp_branch" PARALLEL_MAKE=-j1 osmo-build-dep.sh libsmpp34 - osmo-build-dep.sh openggsn if [ "x$IU" = "x--enable-iu" ]; then osmo-build-dep.sh libasn1c -- To view, visit https://gerrit.osmocom.org/13345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 Gerrit-Change-Number: 13345 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:09:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 14:09:50 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str API In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#7) to the change originally created by Neels Hofmeyr. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_sockaddr_str API ...................................................................... add osmo_sockaddr_str API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M configure.ac M include/Makefile.am A include/osmocom/core/sockaddr_str.h M src/Makefile.am A src/sockaddr_str.c M tests/Makefile.am A tests/sockaddr_str/sockaddr_str_test.c A tests/sockaddr_str/sockaddr_str_test.ok M tests/testsuite.at 9 files changed, 1,008 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/7 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 7 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-CC: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:10:23 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 14:10:23 +0000 Subject: Change in docker-playground[master]: BTS tests: update NSVC config in osmo-bsc.cfg In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13341 ) Change subject: BTS tests: update NSVC config in osmo-bsc.cfg ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7 Gerrit-Change-Number: 13341 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 14:10:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:11:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 14:11:14 +0000 Subject: Change in openbsc[master]: Drop openggsn from build dependencies In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13345 ) Change subject: Drop openggsn from build dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 Gerrit-Change-Number: 13345 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 20 Mar 2019 14:11:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:12:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 14:12:47 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str API In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#8) to the change originally created by Neels Hofmeyr. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_sockaddr_str API ...................................................................... add osmo_sockaddr_str API For handling RTP IP addresses and ports, osmo-mgw, osmo-bsc and osmo-msc so far have their own separate shims and code duplication around inet_ntoa(), htons(), sockaddr conversions etc. Unify and standardize with this common API. In the MGW endpoint FSM that was introduced in osmo-bsc and which I would like to re-use for osmo-msc (upcoming patch moving that to osmo-mgw), it has turned out that using char* IP address and uint16_t port number types are a convenient common denominator for logging, MGCP message composition and GSM48. Ongoing osmo-msc work also uses this for MNCC. This is of course potentially useful for any other IP+port combinations besides RTP stream handling. Needless to say that most current implementations will probably stay with their current own conversion code for a long time; for current osmo-{bsc,msc,mgw} work (MGW endpoint FSM) though, I would like to move to this API here. Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 --- M configure.ac M include/Makefile.am A include/osmocom/core/sockaddr_str.h M src/Makefile.am A src/sockaddr_str.c M tests/Makefile.am A tests/sockaddr_str/sockaddr_str_test.c A tests/sockaddr_str/sockaddr_str_test.ok M tests/testsuite.at 9 files changed, 1,008 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/13123/8 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 8 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-CC: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:15:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 14:15:44 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str API In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_sockaddr_str API ...................................................................... Patch Set 8: > maybe osmith has time to do the rename so we can get this merged? Done -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 8 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 20 Mar 2019 14:15:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:45:12 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 14:45:12 +0000 Subject: Change in libosmo-netif[master]: amr: use sizeof(struct amr_hdr) when working with amr header length Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13346 Change subject: amr: use sizeof(struct amr_hdr) when working with amr header length ...................................................................... amr: use sizeof(struct amr_hdr) when working with amr header length The header of an AMR header payload is 2 bytes long. At the moment we use just a constant of 2 when we refer to the header length, but we have a struct amr_hdr defined. Lets use sizeof(struct amr_hdr) to make it more clear that we are refering to the header length. Change-Id: Ic7ca04b99a97d7d3b91717b0c3e6c55ef3001a3e --- M src/amr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/46/13346/1 diff --git a/src/amr.c b/src/amr.c index 9c63f60..5609c46 100644 --- a/src/amr.c +++ b/src/amr.c @@ -82,7 +82,7 @@ unsigned int frame_len; /* Broken payload? */ - if (!payload || payload_len < 2) + if (!payload || payload_len < sizeof(struct amr_hdr)) return false; /* In octet aligned mode, padding bits are specified to be @@ -106,7 +106,7 @@ if(!osmo_amr_ft_valid(oa_hdr->ft)) return false; frame_len = osmo_amr_bytes(oa_hdr->ft); - if (frame_len != payload_len - 2) + if (frame_len != payload_len - sizeof(struct amr_hdr)) return false; return true; @@ -119,7 +119,7 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; - unsigned int frame_len = payload_len - 2; + unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; /* This implementation is not capable to handle multi-frame -- To view, visit https://gerrit.osmocom.org/13346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic7ca04b99a97d7d3b91717b0c3e6c55ef3001a3e Gerrit-Change-Number: 13346 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 14:48:01 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 20 Mar 2019 14:48:01 +0000 Subject: Change in osmo-bts[master]: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13274 ) Change subject: oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() ...................................................................... oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx() The function msgb_set_talloc_ctx() is deprecated. Lets use msgb_talloc_ctx_init() as suggested. Change-Id: I61f80a7b11e9117e8b71c49b7d81d2f959f3150d --- M src/osmo-bts-oc2g/misc/oc2gbts_mgr.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c index f8768e4..46831f6 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c @@ -274,7 +274,7 @@ tall_mgr_ctx = talloc_named_const(NULL, 1, "bts manager"); tall_msgb_ctx = talloc_named_const(tall_mgr_ctx, 1, "msgb"); - msgb_set_talloc_ctx(tall_msgb_ctx); + msgb_talloc_ctx_init(tall_msgb_ctx, 0); mgr_log_init(); -- To view, visit https://gerrit.osmocom.org/13274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I61f80a7b11e9117e8b71c49b7d81d2f959f3150d Gerrit-Change-Number: 13274 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 15:08:29 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 15:08:29 +0000 Subject: Change in libosmo-netif[master]: amr: use sizeof(struct amr_hdr) when working with amr header length In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13346 ) Change subject: amr: use sizeof(struct amr_hdr) when working with amr header length ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic7ca04b99a97d7d3b91717b0c3e6c55ef3001a3e Gerrit-Change-Number: 13346 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 20 Mar 2019 15:08:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 15:17:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 15:17:11 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13347 Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Forward GPRS SUSPEND REQ from DCCH to PCU socket As specified in 3GPP TS 03.60 Section 16.2.1 and 44.018 Section 3.4.15, a Class B MS is sending a "RR GPRS SUSPEND REQ" via a DCCH to the BTS if it wants to suspend GPRS services. The BSS is now responsible to somehow forward this to the SGSN. As the Gs interface between BSC and SGSN is both optional and doesn't have any provision to forward this message, we have to send it over to the PCU so it can use regular BSSGP signaling to inform the SGSN of the SUSPEND REQUEST. This patch requires libosmocore Change-Id I90113044460a6c511ced14f588876c4280d1cac7 for the related definition of struct gsm48_gprs_susp_req. Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Closes: OS#2249 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/common/rsl.c 4 files changed, 87 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/47/13347/1 diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 98efb57..6253c84 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -15,6 +15,7 @@ int pcu_tx_time_ind(uint32_t fn); int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); +int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause); int pcu_sock_init(const char *path); void pcu_sock_exit(void); diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index b06077c..5a85859 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -11,7 +11,8 @@ /* msg_type */ #define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ -#define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ +#define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ +#define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -171,6 +172,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ +struct gsm_pcu_if_susp_req { + uint32_t tlli; + uint8_t ra_id[6]; + uint8_t cause; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -182,6 +190,7 @@ struct gsm_pcu_if_data data_cnf; struct gsm_pcu_if_data_cnf_dt data_cnf_dt; struct gsm_pcu_if_data data_ind; + struct gsm_pcu_if_susp_req susp_req; struct gsm_pcu_if_rts_req rts_req; struct gsm_pcu_if_rach_ind rach_ind; struct gsm_pcu_if_txt_ind txt_ind; diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 2c7028e..48efe51 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -465,6 +465,23 @@ return pcu_sock_send(&bts_gsmnet, msg); } +/* forward data from a RR GPRS SUSPEND REQ towards PCU */ +int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause) +{ + struct msgb *msg; + struct gsm_pcu_if *pcu_prim; + + msg = pcu_msgb_alloc(PCU_IF_MSG_SUSP_REQ, lchan->ts->trx->bts->nr); + if (!msg) + return -ENOMEM; + pcu_prim = (struct gsm_pcu_if *) msg->data; + pcu_prim->u.susp_req.tlli = tlli; + memcpy(pcu_prim->u.susp_req.ra_id, ra_id, sizeof(pcu_prim->u.susp_req.ra_id)); + pcu_prim->u.susp_req.cause = cause; + + return pcu_sock_send(&bts_gsmnet, msg); +} + static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type, const struct gsm_pcu_if_data *data_req) { diff --git a/src/common/rsl.c b/src/common/rsl.c index fce3495..cac4abd 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -29,12 +29,14 @@ #include #include +#include #include #include #include #include #include #include +#include #include #include @@ -2587,6 +2589,61 @@ return 0; } +static int rslms_is_gprs_susp_req(struct msgb *msg) +{ + struct abis_rsl_common_hdr *rh = msgb_l2(msg); + struct abis_rsl_rll_hdr *rllh; + struct gsm48_hdr *gh; + + if ((rh->msg_discr & 0xfe) != ABIS_RSL_MDISC_RLL) + return 0; + + if (rh->msg_type != RSL_MT_UNIT_DATA_IND) + return 0; + + rllh = msgb_l2(msg); + if (rsl_link_id_is_sacch(rllh->link_id)) + return 0; + + gh = msgb_l3(msg); + if (gh->proto_discr != GSM48_PDISC_RR) + return 0; + + switch (gh->msg_type) { + case GSM48_MT_RR_GPRS_SUSP_REQ: + return 1; + default: + break; + } + + return 0; +} + +/* TS 44.018 9.1.13b GPRS suspension request */ +static int handle_gprs_susp_req(struct msgb *msg) +{ + struct gsm48_hdr *gh = msgb_l3(msg); + struct gsm48_gprs_susp_req *gsr; + uint32_t tlli; + int rc; + + if (!gh || msgb_l3len(msg) < sizeof(*gh)+sizeof(*gsr)) { + LOGP(DRSL, LOGL_NOTICE, "%s Short GPRS SUSPEND REQ received, ignoring\n", gsm_lchan_name(msg->lchan)); + return -EINVAL; + } + + gsr = (struct gsm48_gprs_susp_req *) gh->data; + tlli = osmo_htonl(gsr->tlli); + + LOGP(DRSL, LOGL_INFO, "%s Fwd GPRS SUSPEND REQ for TLLI=0x%08x to PCU\n", + gsm_lchan_name(msg->lchan), tlli); + rc = pcu_tx_susp_req(msg->lchan, tlli, gsr->ra_id, gsr->cause); + + msgb_free(msg); + + return rc; +} + static inline uint8_t ms_to2rsl(const struct gsm_lchan *lchan, const struct lapdm_entity *le) { return (lchan->ms_t_offs >= 0) ? lchan->ms_t_offs : (lchan->p_offs - le->ta); @@ -2727,6 +2784,8 @@ rc = rsl_tx_meas_res(lchan, msgb_l3(msg), msgb_l3len(msg), le); msgb_free(msg); return rc; + } else if (rslms_is_gprs_susp_req(msg)) { + return handle_gprs_susp_req(msg); } else { LOGP(DRSL, LOGL_INFO, "%s Fwd RLL msg %s from LAPDm to A-bis\n", gsm_lchan_name(lchan), rsl_msg_name(rh->msg_type)); -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 15:27:31 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 15:27:31 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h at 8 PS1, Line 8: #define PCU_IF_VERSION 0x09 Should we bump version as well? -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 15:27:31 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 15:28:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 15:28:41 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2592 PS1, Line 2592: static int rslms_is_gprs_susp_req(struct msgb *msg) Can we please merge this function inside rslms_is_meas_rep and return GSM48_MT_* ? Feel free to keep rslms_is_meas_rep and rslms_is_gprs_susp_req as shim to this new function. https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2636 PS1, Line 2636: tlli = osmo_htonl(gsr->tlli); shouldn't this be osmo_ntohl? -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 15:28:41 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 15:30:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 Mar 2019 15:30:44 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: For some context: this is Harald's patch. I've submitted it after verifying that it works. See: https://osmocom.org/issues/2249#note-10 -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 15:30:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 16:22:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 16:22:01 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h at 8 PS1, Line 8: #define PCU_IF_VERSION 0x09 > Should we bump version as well? we only do that if we make incompatible changes like size/layout of structures. This patch is simply adding a new message type which any older receivers would log+drop, so it's safe to keep the version as-is https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2636 PS1, Line 2636: tlli = osmo_htonl(gsr->tlli); > shouldn't this be osmo_ntohl? correct, it's network to host order that we need here. -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 16:22:01 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 16:36:54 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 16:36:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use PCU-related test cases as version string In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13305 ) Change subject: BTS: use PCU-related test cases as version string ...................................................................... Patch Set 3: > why are you copy-pasting a single line to dozens of functions? I don't understand why this patch cannot simply be a single-line diff that changes only one line, replacing the static string with testcasename() ? Because there're both PCU-related and unrelated test cases. I'd like to report testcasename() in place of PCU version only for the former hence copy-paste. Am I missing something? -- To view, visit https://gerrit.osmocom.org/13305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 Gerrit-Change-Number: 13305 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 16:36:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 17:07:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 20 Mar 2019 17:07:07 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13320 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 3: The failure seems to be related to https://osmocom.org/issues/3851 Please re-trigger tests once it's resolved. -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 3 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 17:07:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 20 17:44:29 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 20 Mar 2019 17:44:29 +0000 Subject: Change in openbsc[master]: osmo-bsc-mgcp.service: Fix parsing of cmdline option s Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13348 Change subject: osmo-bsc-mgcp.service: Fix parsing of cmdline option s ...................................................................... osmo-bsc-mgcp.service: Fix parsing of cmdline option s >From journald output: /usr/bin/osmo-bsc_mgcp: invalid option -- 's' Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7 --- M openbsc/src/osmo-bsc_mgcp/mgcp_main.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/48/13348/1 diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c index 6cf9ab7..419f852 100644 --- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c +++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c @@ -102,7 +102,7 @@ {0, 0, 0, 0}, }; - c = getopt_long(argc, argv, "hc:VD", long_options, &option_index); + c = getopt_long(argc, argv, "hc:sVD", long_options, &option_index); if (c == -1) break; -- To view, visit https://gerrit.osmocom.org/13348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7 Gerrit-Change-Number: 13348 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Mar 20 20:05:56 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 Mar 2019 20:05:56 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5c929d3a839ab_69694ae5fc360799@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 106s] | #define HAVE_DLFCN_H 1 [ 106s] | #define LT_OBJDIR ".libs/" [ 106s] | #define STDC_HEADERS 1 [ 106s] | #define HAVE_EXECINFO_H 1 [ 106s] | #define HAVE_SYS_SELECT_H 1 [ 106s] | #define HAVE_SYS_SOCKET_H 1 [ 106s] | #define HAVE_SYSLOG_H 1 [ 106s] | #define HAVE_CTYPE_H 1 [ 106s] | #define HAVE_LIBSCTP 1 [ 106s] | #define HAVE_PCAP_H 1 [ 106s] | [ 106s] | configure: exit 0 [ 106s] [ 106s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 106s] make[1]: *** [override_dh_auto_test] Error 1 [ 106s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 106s] debian/rules:13: recipe for target 'build' failed [ 106s] make: *** [build] Error 2 [ 106s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 106s] [ 106s] wildcard2 failed "build libosmo-netif_0.4.0.24.b3e3.dsc" at Wed Mar 20 20:05:48 UTC 2019. [ 106s] [ 106s] ### VM INTERACTION START ### [ 107s] Powering off. [ 107s] [ 90.811430] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] wildcard2 failed "build libosmo-netif_0.4.0.24.b3e3.dsc" at Wed Mar 20 20:05:51 UTC 2019. [ 108s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Mar 20 22:02:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 20 Mar 2019 22:02:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use PCU-related test cases as version string In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13305 ) Change subject: BTS: use PCU-related test cases as version string ...................................................................... Patch Set 3: > > why are you copy-pasting a single line to dozens of functions? I > don't understand why this patch cannot simply be a single-line diff > that changes only one line, replacing the static string with > testcasename() ? > > Because there're both PCU-related and unrelated test cases. I'd > like to report testcasename() in place of PCU version only for the > former hence copy-paste. Am I missing something? Well, then please either define a very simple non-parametric template and send that from every test case, or (more within our coding style) add a function and call it. I don't think we want to copy+paste the identical line so many times all over. Thanks! -- To view, visit https://gerrit.osmocom.org/13305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 Gerrit-Change-Number: 13305 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Wed, 20 Mar 2019 22:02:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 21 01:28:26 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:28:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5c92e8bd5f1b_69694ae5fc403441@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_9.0/i586 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 74s] #define HAVE_SYS_TYPES_H 1 [ 74s] #define HAVE_SYS_STAT_H 1 [ 74s] #define HAVE_STDLIB_H 1 [ 74s] #define HAVE_STRING_H 1 [ 74s] #define HAVE_MEMORY_H 1 [ 74s] #define HAVE_STRINGS_H 1 [ 74s] #define HAVE_INTTYPES_H 1 [ 74s] #define HAVE_STDINT_H 1 [ 74s] #define HAVE_UNISTD_H 1 [ 74s] #define HAVE_DLFCN_H 1 [ 61.907642] serial8250: too much work for irq4 [ 74s] [ 74s] #define LT_OBJDIR ".libs/" [ 74s] [ 74s] configure: exit 1 [ 74s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 74s] debian/rules:45: recipe for target 'build' failed [ 74s] make: *** [build] Error 2 [ 74s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 74s] [ 74s] lamb04 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:10 UTC 2019. [ 74s] [ 74s] ### VM INTERACTION START ### [ 77s] [ 65.219675] sysrq: SysRq : Power Off [ 77s] [ 65.227657] reboot: Power down [ 77s] ### VM INTERACTION END ### [ 77s] [ 77s] lamb04 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:13 UTC 2019. [ 77s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:28:26 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:28:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in xUbuntu_17.10/x86_64 In-Reply-To: References: Message-ID: <5c92e8bd50c7c_69694ae5fc4035ef@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/xUbuntu_17.10/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in xUbuntu_17.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 73s] #define VERSION "0.1.0" [ 73s] #define STDC_HEADERS 1 [ 73s] #define HAVE_SYS_TYPES_H 1 [ 73s] #define HAVE_SYS_STAT_H 1 [ 73s] #define HAVE_STDLIB_H 1 [ 73s] #define HAVE_STRING_H 1 [ 73s] #define HAVE_MEMORY_H 1 [ 73s] #define HAVE_STRINGS_H 1 [ 73s] #define HAVE_INTTYPES_H 1 [ 73s] #define HAVE_STDINT_H 1 [ 73s] #define HAVE_UNISTD_H 1 [ 73s] #define HAVE_DLFCN_H 1 [ 73s] #define LT_OBJDIR ".libs/" [ 73s] [ 73s] configure: exit 1 [ 73s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 73s] debian/rules:45: recipe for target 'build' failed [ 73s] make: *** [build] Error 2 [ 73s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 73s] [ 73s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:10 UTC 2019. [ 73s] [ 73s] ### VM INTERACTION START ### [ 76s] [ 65.315863] sysrq: SysRq : Power Off [ 76s] [ 65.322536] reboot: Power down [ 76s] ### VM INTERACTION END ### [ 76s] [ 76s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:14 UTC 2019. [ 76s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:28:43 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:28:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5c92e8dbd8e41_69694ae5fc4036c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 73s] "0.1.0" [ 73s] #define STDC_HEADERS 1 [ 73s] #define HAVE_SYS_TYPES_H 1 [ 73s] #define HAVE_SYS_STAT_H 1 [ 73s] #define HAVE_STDLIB_H 1 [ 73s] #define HAVE_STRING_H 1 [ 73s] #define HAVE_MEMORY_H 1 [ 73s] #define HAVE_STRINGS_H 1 [ 73s] #define HAVE_INTTYPES_H 1 [ 73s] #define HAVE_STDINT_H 1 [ 73s] #define HAVE_UNISTD_H 1 [ 73s] #define HAVE_DLFCN_H 1 [ 73s] #define LT_OBJDIR ".libs/" [ 73s] [ 73s] configure: exit 1 [ 73s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 73s] debian/rules:45: recipe for target 'build' failed [ 73s] make: *** [build] Error 2 [ 73s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 73s] [ 73s] lamb24 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:22 UTC 2019. [ 73s] [ 73s] ### VM INTERACTION START ### [ 77s] [ 64.922642] sysrq: SysRq : Power Off [ 77s] [ 64.930521] reboot: Power down [ 77s] ### VM INTERACTION END ### [ 77s] [ 77s] lamb24 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:26 UTC 2019. [ 77s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:28:43 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:28:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5c92e8dc662fd_69694ae5fc403738@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 98s] #define VERSION "0.1.0" [ 98s] #define STDC_HEADERS 1 [ 98s] #define HAVE_SYS_TYPES_H 1 [ 98s] #define HAVE_SYS_STAT_H 1 [ 98s] #define HAVE_STDLIB_H 1 [ 98s] #define HAVE_STRING_H 1 [ 98s] #define HAVE_MEMORY_H 1 [ 98s] #define HAVE_STRINGS_H 1 [ 98s] #define HAVE_INTTYPES_H 1 [ 98s] #define HAVE_STDINT_H 1 [ 98s] #define HAVE_UNISTD_H 1 [ 98s] #define HAVE_DLFCN_H 1 [ 98s] #define LT_OBJDIR ".libs/" [ 98s] [ 98s] configure: exit 1 [ 98s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 98s] debian/rules:45: recipe for target 'build' failed [ 98s] make: *** [build] Error 2 [ 98s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 98s] [ 98s] lamb03 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:34 UTC 2019. [ 98s] [ 98s] ### VM INTERACTION START ### [ 101s] [ 90.110346] sysrq: SysRq : Power Off [ 102s] [ 90.117859] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] lamb03 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:38 UTC 2019. [ 102s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:29:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:29:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c92e8f5f101c_69694ae5fc40381f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-sysmon failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 115s] #define VERSION "0.1.0" [ 115s] #define STDC_HEADERS 1 [ 115s] #define HAVE_SYS_TYPES_H 1 [ 115s] #define HAVE_SYS_STAT_H 1 [ 115s] #define HAVE_STDLIB_H 1 [ 115s] #define HAVE_STRING_H 1 [ 115s] #define HAVE_MEMORY_H 1 [ 115s] #define HAVE_STRINGS_H 1 [ 115s] #define HAVE_INTTYPES_H 1 [ 115s] #define HAVE_STDINT_H 1 [ 115s] #define HAVE_UNISTD_H 1 [ 115s] #define HAVE_DLFCN_H 1 [ 115s] #define LT_OBJDIR ".libs/" [ 115s] [ 115s] configure: exit 1 [ 115s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 115s] debian/rules:45: recipe for target 'build' failed [ 115s] make: *** [build] Error 2 [ 115s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 115s] [ 115s] armbuild01 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:50 UTC 2019. [ 115s] [ 115s] ### VM INTERACTION START ### [ 118s] [ 92.850699] SysRq : Power Off [ 118s] [ 92.851682] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] armbuild01 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:53 UTC 2019. [ 118s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:29:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:29:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5c92e8f6485b4_69694ae5fc403920@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 121s] #define VERSION "0.1.0" [ 121s] #define STDC_HEADERS 1 [ 121s] #define HAVE_SYS_TYPES_H 1 [ 121s] #define HAVE_SYS_STAT_H 1 [ 121s] #define HAVE_STDLIB_H 1 [ 121s] #define HAVE_STRING_H 1 [ 121s] #define HAVE_MEMORY_H 1 [ 121s] #define HAVE_STRINGS_H 1 [ 121s] #define HAVE_INTTYPES_H 1 [ 121s] #define HAVE_STDINT_H 1 [ 121s] #define HAVE_UNISTD_H 1 [ 121s] #define HAVE_DLFCN_H 1 [ 121s] #define LT_OBJDIR ".libs/" [ 121s] [ 121s] configure: exit 1 [ 121s] dh_auto_configure: ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/aarch64-linux-gnu --libexecdir=${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 121s] debian/rules:45: recipe for target 'build' failed [ 121s] make: *** [build] Error 2 [ 121s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 121s] [ 121s] obs-arm-4 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:52 UTC 2019. [ 121s] [ 121s] ### VM INTERACTION START ### [ 123s] [ 102.246318] sysrq: SysRq : Power Off [ 123s] [ 102.250859] reboot: Power down [ 123s] ### VM INTERACTION END ### [ 123s] [ 123s] obs-arm-4 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:56 UTC 2019. [ 123s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:29:17 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:29:17 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c92e8f68d132_69694ae5fc40400@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/xUbuntu_18.10/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 114s] #define PACKAGE "osmo-sysmon" [ 114s] #define VERSION "0.1.0" [ 114s] #define STDC_HEADERS 1 [ 114s] #define HAVE_SYS_TYPES_H 1 [ 114s] #define HAVE_SYS_STAT_H 1 [ 114s] #define HAVE_STDLIB_H 1 [ 114s] #define HAVE_STRING_H 1 [ 114s] #define HAVE_MEMORY_H 1 [ 114s] #define HAVE_STRINGS_H 1 [ 114s] #define HAVE_INTTYPES_H 1 [ 114s] #define HAVE_STDINT_H 1 [ 114s] #define HAVE_UNISTD_H 1 [ 114s] #define HAVE_DLFCN_H 1 [ 114s] #define LT_OBJDIR ".libs/" [ 114s] [ 114s] configure: exit 1 [ 114s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 114s] make: *** [debian/rules:45: build] Error 2 [ 114s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 114s] [ 114s] cloud121 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:28:59 UTC 2019. [ 114s] [ 114s] ### VM INTERACTION START ### [ 117s] [ 96.423079] sysrq: SysRq : Power Off [ 117s] [ 96.427490] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] cloud121 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:29:04 UTC 2019. [ 118s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 01:30:08 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 01:30:08 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5c92e933dfbfd_69694ae5fc40414d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_9.0/armv7l Package network:osmocom:latest/osmo-sysmon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 168s] #define VERSION "0.1.0" [ 168s] #define STDC_HEADERS 1 [ 168s] #define HAVE_SYS_TYPES_H 1 [ 168s] #define HAVE_SYS_STAT_H 1 [ 168s] #define HAVE_STDLIB_H 1 [ 168s] #define HAVE_STRING_H 1 [ 168s] #define HAVE_MEMORY_H 1 [ 168s] #define HAVE_STRINGS_H 1 [ 168s] #define HAVE_INTTYPES_H 1 [ 168s] #define HAVE_STDINT_H 1 [ 168s] #define HAVE_UNISTD_H 1 [ 168s] #define HAVE_DLFCN_H 1 [ 168s] #define LT_OBJDIR ".libs/" [ 168s] [ 168s] configure: exit 1 [ 168s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 168s] debian/rules:45: recipe for target 'build' failed [ 168s] make: *** [build] Error 2 [ 168s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 168s] [ 168s] armbuild10 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:29:50 UTC 2019. [ 168s] [ 168s] ### VM INTERACTION START ### [ 170s] [ 132.460965] sysrq: SysRq : Power Off [ 170s] [ 132.463159] reboot: Power down [ 170s] ### VM INTERACTION END ### [ 170s] [ 170s] armbuild10 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 01:29:54 UTC 2019. [ 170s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:01:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:01:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5c92fe874202a_69694ae5fc406039@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 71s] #define VERSION "0.1.0" [ 71s] #define STDC_HEADERS 1 [ 71s] #define HAVE_SYS_TYPES_H 1 [ 71s] #define HAVE_SYS_STAT_H 1 [ 71s] #define HAVE_STDLIB_H 1 [ 71s] #define HAVE_STRING_H 1 [ 71s] #define HAVE_MEMORY_H 1 [ 71s] #define HAVE_STRINGS_H 1 [ 71s] #define HAVE_INTTYPES_H 1 [ 71s] #define HAVE_STDINT_H 1 [ 71s] #define HAVE_UNISTD_H 1 [ 71s] #define HAVE_DLFCN_H 1 [ 71s] #define LT_OBJDIR ".libs/" [ 71s] [ 71s] configure: exit 1 [ 71s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 71s] debian/rules:45: recipe for target 'build' failed [ 71s] make: *** [build] Error 2 [ 71s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 71s] [ 71s] lamb26 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:00:47 UTC 2019. [ 71s] [ 71s] ### VM INTERACTION START ### [ 74s] [ 61.324485] sysrq: SysRq : Power Off [ 74s] [ 61.329665] reboot: Power down [ 74s] ### VM INTERACTION END ### [ 74s] [ 74s] lamb26 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:00:51 UTC 2019. [ 74s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:02:08 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:02:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c92fec5c3d4d_69694ae5fc4061c9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 99s] #define PACKAGE "osmo-sysmon" [ 99s] #define VERSION "0.1.0" [ 99s] #define STDC_HEADERS 1 [ 99s] #define HAVE_SYS_TYPES_H 1 [ 99s] #define HAVE_SYS_STAT_H 1 [ 99s] #define HAVE_STDLIB_H 1 [ 99s] #define HAVE_STRING_H 1 [ 99s] #define HAVE_MEMORY_H 1 [ 99s] #define HAVE_STRINGS_H 1 [ 99s] #define HAVE_INTTYPES_H 1 [ 99s] #define HAVE_STDINT_H 1 [ 99s] #define HAVE_UNISTD_H 1 [ 99s] #define HAVE_DLFCN_H 1 [ 99s] #define LT_OBJDIR ".libs/" [ 99s] [ 99s] configure: exit 1 [ 99s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 99s] make: *** [debian/rules:45: build] Error 2 [ 99s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 99s] [ 99s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:01:51 UTC 2019. [ 99s] [ 99s] ### VM INTERACTION START ### [ 102s] [ 90.866410] sysrq: SysRq : Power Off [ 102s] [ 90.873425] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:01:54 UTC 2019. [ 102s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:02:26 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:02:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_17.10/i586 In-Reply-To: References: Message-ID: <5c92fec64b64b_69694ae5fc406228@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_17.10/i586 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_17.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 77s] #define VERSION "0.1.0" [ 77s] #define STDC_HEADERS 1 [ 77s] #define HAVE_SYS_TYPES_H 1 [ 77s] #define HAVE_SYS_STAT_H 1 [ 77s] #define HAVE_STDLIB_H 1 [ 77s] #define HAVE_STRING_H 1 [ 77s] #define HAVE_MEMORY_H 1 [ 77s] #define HAVE_STRINGS_H 1 [ 77s] #define HAVE_INTTYPES_H 1 [ 77s] #define HAVE_STDINT_H 1 [ 77s] #define HAVE_UNISTD_H 1 [ 77s] #define HAVE_DLFCN_H 1 [ 77s] #define LT_OBJDIR ".libs/" [ 77s] [ 77s] configure: exit 1 [ 77s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 77s] debian/rules:45: recipe for target 'build' failed [ 77s] make: *** [build] Error 2 [ 77s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 77s] [ 77s] lamb22 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:02:10 UTC 2019. [ 77s] [ 77s] ### VM INTERACTION START ### [ 80s] [ 69.123836] sysrq: SysRq : Power Off [ 80s] [ 69.130351] reboot: Power down [ 80s] ### VM INTERACTION END ### [ 80s] [ 80s] lamb22 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:02:13 UTC 2019. [ 80s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:03:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:03:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_17.10/x86_64 In-Reply-To: References: Message-ID: <5c92fefe3905e_69694ae5fc4063ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_17.10/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_17.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 75s] #define VERSION "0.1.0" [ 75s] #define STDC_HEADERS 1 [ 75s] #define HAVE_SYS_TYPES_H 1 [ 75s] #define HAVE_SYS_STAT_H 1 [ 75s] #define HAVE_STDLIB_H 1 [ 75s] #define HAVE_STRING_H 1 [ 75s] #define HAVE_MEMORY_H 1 [ 75s] #define HAVE_STRINGS_H 1 [ 75s] #define HAVE_INTTYPES_H 1 [ 75s] #define HAVE_STDINT_H 1 [ 75s] #define HAVE_UNISTD_H 1 [ 75s] #define HAVE_DLFCN_H 1 [ 75s] #define LT_OBJDIR ".libs/" [ 75s] [ 75s] configure: exit 1 [ 75s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 75s] debian/rules:45: recipe for target 'build' failed [ 75s] make: *** [build] Error 2 [ 75s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 75s] [ 75s] build34 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:02:39 UTC 2019. [ 75s] [ 75s] ### VM INTERACTION START ### [ 79s] [ 65.775105] sysrq: SysRq : Power Off [ 79s] [ 65.777831] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] build34 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:02:43 UTC 2019. [ 79s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:03:17 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:03:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5c92feff75945_69694ae5fc406524@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 95s] #define VERSION "0.1.0" [ 95s] #define STDC_HEADERS 1 [ 95s] #define HAVE_SYS_TYPES_H 1 [ 95s] #define HAVE_SYS_STAT_H 1 [ 95s] #define HAVE_STDLIB_H 1 [ 95s] #define HAVE_STRING_H 1 [ 95s] #define HAVE_MEMORY_H 1 [ 95s] #define HAVE_STRINGS_H 1 [ 95s] #define HAVE_INTTYPES_H 1 [ 95s] #define HAVE_STDINT_H 1 [ 95s] #define HAVE_UNISTD_H 1 [ 95s] #define HAVE_DLFCN_H 1 [ 95s] #define LT_OBJDIR ".libs/" [ 95s] [ 95s] configure: exit 1 [ 95s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 95s] debian/rules:45: recipe for target 'build' failed [ 95s] make: *** [build] Error 2 [ 95s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 95s] [ 95s] lamb57 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:03:03 UTC 2019. [ 95s] [ 95s] ### VM INTERACTION START ### [ 98s] [ 87.265715] sysrq: SysRq : Power Off [ 98s] [ 87.273572] reboot: Power down [ 98s] ### VM INTERACTION END ### [ 98s] [ 98s] lamb57 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:03:06 UTC 2019. [ 98s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:03:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:03:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5c92fefe9b516_69694ae5fc4064c0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/i586 Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 75s] #define HAVE_SYS_TYPES_H 1 [ 75s] #define HAVE_SYS_STAT_H 1 [ 75s] #define HAVE_STDLIB_H 1 [ 75s] #define HAVE_STRING_H 1 [ 75s] #define HAVE_MEMORY_H 1 [ 75s] #define HAVE_STRINGS_H 1 [ 75s] #define HAVE_INTTYPES_H 1 [ 75s] #define HAVE_STDINT_H 1 [ 75s] #define HAVE_UNISTD_H 1 [ 75s] #define HAVE_DLFCN_H 1 [ 63.060310] serial8250: too much work for irq4 [ 75s] [ 75s] #define LT_OBJDIR ".libs/" [ 75s] [ 75s] configure: exit 1 [ 75s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 75s] debian/rules:45: recipe for target 'build' failed [ 75s] make: *** [build] Error 2 [ 75s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 75s] [ 75s] lamb18 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:02:42 UTC 2019. [ 75s] [ 75s] ### VM INTERACTION START ### [ 78s] [ 66.281009] sysrq: SysRq : Power Off [ 78s] [ 66.287555] reboot: Power down [ 78s] ### VM INTERACTION END ### [ 79s] [ 79s] lamb18 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:02:46 UTC 2019. [ 79s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:03:51 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:03:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5c92ff1e31af1_69694ae5fc406668@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 95s] #define STDC_HEADERS 1 [ 95s] #define HAVE_SYS_TYPES_H 1 [ 95s] #define HAVE_SYS_STAT_H 1 [ 95s] #define HAVE_STDLIB_H [ 84.192261] serial8250: too much work for irq4 [ 95s] 1 [ 96s] #define HAVE_STRING_H 1 [ 96s] #define HAVE_MEMORY_H 1 [ 96s] #define HAVE_STRINGS_H 1 [ 96s] #define HAVE_INTTYPES_H 1 [ 96s] #define HAVE_STDINT_H 1 [ 96s] #define HAVE_UNISTD_H 1 [ 96s] #define HAVE_DLFCN_H 1 [ 96s] #define LT_OBJDIR ".libs/" [ 96s] [ 96s] configure: exit 1 [ 96s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 96s] debian/rules:45: recipe for target 'build' failed [ 96s] make: *** [build] Error 2 [ 96s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 96s] [ 96s] lamb21 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:03:36 UTC 2019. [ 96s] [ 96s] ### VM INTERACTION START ### [ 99s] [ 87.361533] sysrq: SysRq : Power Off [ 99s] [ 87.369453] reboot: Power down [ 99s] ### VM INTERACTION END ### [ 99s] [ 99s] lamb21 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:03:40 UTC 2019. [ 99s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:29:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:29:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5c930516caffe_69694ae5fc406973@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 180s] #define PACKAGE_NAME "osmo-sysmon" [ 180s] #define PACKAGE_TARNAME "osmo-sysmon" [ 180s] #define PACKAGE_VERSION "0.1.0" [ 180s] #define PACKAGE_STRING "osmo-sysmon 0.1.0" [ 180s] #define PACKAGE_BUGREPORT "openbsc at lists.osmocom.org" [ 180s] #define PACKAGE_URL "" [ 180s] #define PACKAGE "osmo-sysmon" [ 180s] #define VERSION "0.1.0" [ 180s] #define STDC_HEADERS 1 [ 180s] #define HAVE_SYS_TYPES_H 1 [ 180s] #define HAVE_SYS_STAT_H 1 [ 180s] #define HAVE_STDLIB_H 1 [ 180s] #define HAVE_STRING_H 1 [ 180s] #define HAVE_MEMORY_H 1 [ 180s] #define HAVE_STRINGS_H 1 [ 180s] #define HAVE_INTTYPES_H 1 [ 180s] #define HAVE_STDINT_H 1 [ 180s] #define HAVE_UNISTD_H 1 [ 180s] #define HAVE_DLFCN_H 1 [ 180s] #define LT_OBJDIR ".libs/" [ 180s] [ 180s] configure: exit 1 [ 180s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 182s] debian/rules:45: reci[ 130.847902] sysrq: SysRq : Power Off [ 182s] [ 130.850107] reboot: Power down [ 183s] ### VM INTERACTION END ### [ 183s] [ 183s] armbuild14 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:28:55 UTC 2019. [ 183s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 03:33:17 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 03:33:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c930605e6c6f_69694ae5fc4071f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sysmon failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 108s] #define VERSION "0.1.0" [ 108s] #define STDC_HEADERS 1 [ 108s] #define HAVE_SYS_TYPES_H 1 [ 108s] #define HAVE_SYS_STAT_H 1 [ 108s] #define HAVE_STDLIB_H 1 [ 108s] #define HAVE_STRING_H 1 [ 108s] #define HAVE_MEMORY_H 1 [ 108s] #define HAVE_STRINGS_H 1 [ 108s] #define HAVE_INTTYPES_H 1 [ 108s] #define HAVE_STDINT_H 1 [ 108s] #define HAVE_UNISTD_H 1 [ 108s] #define HAVE_DLFCN_H 1 [ 108s] #define LT_OBJDIR ".libs/" [ 108s] [ 108s] configure: exit 1 [ 108s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 108s] debian/rules:45: recipe for target 'build' failed [ 108s] make: *** [build] Error 2 [ 108s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 108s] [ 108s] obs-arm-6 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:32:57 UTC 2019. [ 108s] [ 108s] ### VM INTERACTION START ### [ 111s] [ 87.782297] sysrq: SysRq : Power Off [ 111s] [ 87.784011] reboot: Power down [ 112s] ### VM INTERACTION END ### [ 112s] [ 112s] obs-arm-6 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 03:33:01 UTC 2019. [ 112s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 21 08:46:04 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 08:46:04 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13349 Change subject: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg ...................................................................... ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg Currently no EARFCN is set in osmo-bsc.cfg. This setting is required for TC_chan_rel_hard_clear_csfb to function Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a Related: OS#3852 --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/49/13349/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 742c2b6..783563a 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -134,6 +134,7 @@ gprs nsvc 1 remote udp port 0 gprs nsvc 1 remote ip 0.0.0.0 no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 trx 0 rf_locked 0 arfcn 871 @@ -224,6 +225,7 @@ gprs nsvc 1 remote udp port 0 gprs nsvc 1 remote ip 0.0.0.0 no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 trx 0 rf_locked 0 arfcn 871 @@ -314,6 +316,7 @@ gprs nsvc 1 remote udp port 0 gprs nsvc 1 remote ip 0.0.0.0 no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 trx 0 rf_locked 0 arfcn 871 -- To view, visit https://gerrit.osmocom.org/13349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a Gerrit-Change-Number: 13349 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 08:57:41 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 08:57:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13350 Change subject: bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml ...................................................................... bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml The testcase TC_chan_rel_hard_clear_csfb is missing from the expected-results.xml. Lets add it. Change-Id: I087e6715364f72944cb47fa64d96eab6538afda5 --- M bsc/expected-results.xml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/13350/1 diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index f9de543..33bf677 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -14,6 +14,7 @@ + -- To view, visit https://gerrit.osmocom.org/13350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I087e6715364f72944cb47fa64d96eab6538afda5 Gerrit-Change-Number: 13350 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 09:42:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 09:42:56 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13349 ) Change subject: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a Gerrit-Change-Number: 13349 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 09:42:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 09:43:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 09:43:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use PCU-related test cases as version string In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13305 to look at the new patch set (#4). Change subject: BTS: use PCU-related test cases as version string ...................................................................... BTS: use PCU-related test cases as version string When running PCU-related tests against BTS use name of the test as a PCU version string sent from TTCN-3 code. This makes it easier to separate OsmoBTS log output related to different test cases. Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/13305/4 -- To view, visit https://gerrit.osmocom.org/13305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 Gerrit-Change-Number: 13305 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 10:35:36 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 10:35:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13351 Change subject: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps ...................................................................... MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps We have a testcase that sends an explicit (UE-Initiated) imsi detach from non EPS services. Lets also cover the case for an implicit (Network-initated) detach. Change-Id: I76049e6717680c54c18f97b7cd51944901a81ae7 Related OS#3614 --- M msc/MSC_Tests.ttcn 1 file changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/13351/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 6b2b259..f35e590 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3837,6 +3837,31 @@ vc_conn.done; } +private function f_tc_sgsap_impl_imsi_det_noneps(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + f_sgs_perform_lu(); + f_sleep(3.0); + + var octetstring mme_name := f_enc_dns_hostname(mp_mme_name); + SGsAP.send(ts_SGsAP_IMSI_DETACH_IND(g_pars.imsi, mme_name, implicit_network_initiated)); + SGsAP.receive(tr_SGsAP_IMSI_DETACH_ACK(g_pars.imsi)); + f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-NULL"); + /* FIXME: How to verify that VLR has removed MM context? */ + + f_sgsap_bssmap_screening(); + + setverdict(pass); +} +testcase TC_sgsap_impl_imsi_det_noneps() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(1, true); + pars := f_init_pars(11815, true); + vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_impl_imsi_det_noneps), pars); + vc_conn.done; +} + /* Trigger a paging request via VTY and send a paging reject in response */ private function f_tc_sgsap_paging_rej(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -4632,6 +4657,7 @@ execute( TC_sgsap_lu_and_nothing() ); execute( TC_sgsap_expl_imsi_det_eps() ); execute( TC_sgsap_expl_imsi_det_noneps() ); + execute( TC_sgsap_impl_imsi_det_noneps() ); execute( TC_sgsap_paging_rej() ); execute( TC_sgsap_paging_subscr_rej() ); execute( TC_sgsap_paging_ue_unr() ); -- To view, visit https://gerrit.osmocom.org/13351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I76049e6717680c54c18f97b7cd51944901a81ae7 Gerrit-Change-Number: 13351 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 10:35:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 10:35:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_eps Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13352 Change subject: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_eps ...................................................................... MSC_Tests: add testcase TC_sgsap_impl_imsi_det_eps We have a testcase that sends an explicit (UE-Initiated) imsi detach from EPS services. Lets also cover the case for an implicit (Network-initated) detach. Change-Id: I63ebc32ae457dd74214d4abee4f511cde28de4a7 Related OS#3614 --- M msc/MSC_Tests.ttcn 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/13352/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index f35e590..3bff0b0 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3812,6 +3812,30 @@ vc_conn.done; } +private function f_tc_sgsap_impl_imsi_det_eps(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + f_sgs_perform_lu(); + f_sleep(3.0); + + var octetstring mme_name := f_enc_dns_hostname(mp_mme_name); + SGsAP.send(ts_SGsAP_EPS_DETACH_IND(g_pars.imsi, mme_name, network_initiated)); + SGsAP.receive(tr_SGsAP_EPS_DETACH_ACK(g_pars.imsi)); + f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-NULL"); + + f_sgsap_bssmap_screening(); + + setverdict(pass); +} +testcase TC_sgsap_impl_imsi_det_eps() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(1, true); + pars := f_init_pars(11814, true); + vc_conn := f_start_handler_with_pars(refers(f_tc_sgsap_impl_imsi_det_eps), pars); + vc_conn.done; +} + private function f_tc_sgsap_expl_imsi_det_noneps(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_init_handler(pars); @@ -4656,6 +4680,7 @@ execute( TC_sgsap_lu_imsi_reject() ); execute( TC_sgsap_lu_and_nothing() ); execute( TC_sgsap_expl_imsi_det_eps() ); + execute( TC_sgsap_impl_imsi_det_eps() ); execute( TC_sgsap_expl_imsi_det_noneps() ); execute( TC_sgsap_impl_imsi_det_noneps() ); execute( TC_sgsap_paging_rej() ); -- To view, visit https://gerrit.osmocom.org/13352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I63ebc32ae457dd74214d4abee4f511cde28de4a7 Gerrit-Change-Number: 13352 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 11:58:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 11:58:41 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 11:58:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:16:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 12:16:52 +0000 Subject: Change in osmocom-bb[master]: trxcon: use bool for fbsb_conf_sent Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13353 Change subject: trxcon: use bool for fbsb_conf_sent ...................................................................... trxcon: use bool for fbsb_conf_sent It's only used as a boolean value so let's set proper type for it. Change-Id: Iaf50cdd19ac2139ee2d625671410a486edae2999 --- M src/host/trxcon/l1ctl.c M src/host/trxcon/l1ctl_link.h 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/53/13353/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 2f1d720..eb14832 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -168,7 +168,7 @@ conf->initial_freq_err = 0; /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */ - l1l->fbsb_conf_sent = 1; + l1l->fbsb_conf_sent = true; /* Abort FBSB expire timer */ if (osmo_timer_pending(&l1l->fbsb_timer)) @@ -314,7 +314,7 @@ conf->bsic = 0; /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */ - l1l->fbsb_conf_sent = 1; + l1l->fbsb_conf_sent = true; l1ctl_link_send(l1l, msg); } @@ -350,7 +350,7 @@ sched_trx_configure_ts(l1l->trx, 0, ch_config); /* Ask SCH handler to send L1CTL_FBSB_CONF */ - l1l->fbsb_conf_sent = 0; + l1l->fbsb_conf_sent = false; /* Only if current ARFCN differs */ if (l1l->trx->band_arfcn != band_arfcn) { diff --git a/src/host/trxcon/l1ctl_link.h b/src/host/trxcon/l1ctl_link.h index da64419..a333e40 100644 --- a/src/host/trxcon/l1ctl_link.h +++ b/src/host/trxcon/l1ctl_link.h @@ -35,7 +35,7 @@ /* L1CTL handlers specific */ struct osmo_timer_list fbsb_timer; - uint8_t fbsb_conf_sent; + bool fbsb_conf_sent; /* Shutdown callback */ void (*shutdown_cb)(struct l1ctl_link *l1l); -- To view, visit https://gerrit.osmocom.org/13353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iaf50cdd19ac2139ee2d625671410a486edae2999 Gerrit-Change-Number: 13353 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:16:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 12:16:52 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13354 Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... trxcon: use helper to add l1ctl_info_dl Use static helpers to add l1ctl_info_dl to msgb - this simplifies l1ctl_* routines and reduce code duplication. Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df --- M src/host/trxcon/l1ctl.c 1 file changed, 18 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/13354/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index eb14832..0541f58 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -138,13 +138,24 @@ return l1ctl_link_send(l1l, msg); } +static struct l1ctl_info_dl *add_info_dl(struct msgb *msg, struct l1ctl_info_dl *dl_info) +{ + size_t len = sizeof(struct l1ctl_info_dl); + struct l1ctl_info_dl *dl = (struct l1ctl_info_dl *) msgb_put(msg, len); + + if (dl_info) /* Copy DL info provided by handler */ + memcpy(dl, dl_info, len); + else /* Compose DL info header */ + memset(dl, 0x00, len); + + return dl; +} + int l1ctl_tx_fbsb_conf(struct l1ctl_link *l1l, uint8_t result, struct l1ctl_info_dl *dl_info, uint8_t bsic) { struct l1ctl_fbsb_conf *conf; - struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(L1CTL_FBSB_CONF); if (msg == NULL) @@ -153,10 +164,7 @@ LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", result, bsic); - /* Copy DL info provided by handler */ - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); - memcpy(dl, dl_info, len); + add_info_dl(msg, dl_info); talloc_free(dl_info); /* Fill in FBSB payload: BSIC and sync result */ @@ -198,7 +206,6 @@ int l1ctl_tx_dt_ind(struct l1ctl_link *l1l, struct l1ctl_info_dl *data, uint8_t *l2, size_t l2_len, bool traffic) { - struct l1ctl_info_dl *dl; struct msgb *msg; uint8_t *msg_l2; @@ -207,9 +214,7 @@ if (msg == NULL) return -ENOMEM; - /* Copy DL header */ - dl = (struct l1ctl_info_dl *) msgb_put(msg, sizeof(*dl)); - memcpy(dl, data, sizeof(*dl)); + add_info_dl(msg, data); /* Copy the L2 payload if preset */ if (l2 && l2_len > 0) { @@ -225,16 +230,13 @@ { struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(L1CTL_RACH_CONF); if (msg == NULL) return -ENOMEM; - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); + dl = add_info_dl(msg, NULL); - memset(dl, 0x00, len); dl->band_arfcn = htons(l1l->trx->band_arfcn); dl->frame_nr = htonl(fn); @@ -248,9 +250,7 @@ int l1ctl_tx_dt_conf(struct l1ctl_link *l1l, struct l1ctl_info_dl *data, bool traffic) { - struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(traffic ? L1CTL_TRAFFIC_CONF : L1CTL_DATA_CONF); @@ -258,9 +258,7 @@ return -ENOMEM; /* Copy DL frame header from source message */ - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); - memcpy(dl, data, len); + add_info_dl(msg, data); return l1ctl_link_send(l1l, msg); } @@ -292,7 +290,6 @@ struct l1ctl_fbsb_conf *conf; struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(L1CTL_FBSB_CONF); if (msg == NULL) @@ -300,10 +297,7 @@ LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n"); - /* Compose DL info header */ - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); - memset(dl, 0x00, len); + dl = add_info_dl(msg, NULL); /* Fill in current ARFCN */ dl->band_arfcn = htons(l1l->trx->band_arfcn); -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:16:53 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 12:16:53 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13355 Change subject: trxcon: use static helper to prepare FBSB ...................................................................... trxcon: use static helper to prepare FBSB Use static helper to prepare l1ctl_fbsb_conf - this simplifies fbsb-related functions and make difference between timer callback and regular response more obvious. Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 --- M src/host/trxcon/l1ctl.c 1 file changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/55/13355/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 0541f58..d445f39 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -151,6 +151,19 @@ return dl; } +/* Fill in FBSB payload: BSIC and sync result */ +static struct l1ctl_fbsb_conf *fbsb_conf_make(struct msgb *msg, uint8_t result, uint8_t bsic) +{ + struct l1ctl_fbsb_conf *conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf)); + + LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", result, bsic); + + conf->result = result; + conf->bsic = bsic; + + return conf; +} + int l1ctl_tx_fbsb_conf(struct l1ctl_link *l1l, uint8_t result, struct l1ctl_info_dl *dl_info, uint8_t bsic) { @@ -161,16 +174,10 @@ if (msg == NULL) return -ENOMEM; - LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", - result, bsic); - add_info_dl(msg, dl_info); talloc_free(dl_info); - /* Fill in FBSB payload: BSIC and sync result */ - conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf)); - conf->result = result; - conf->bsic = bsic; + conf = fbsb_conf_make(msg, result, bsic); /* FIXME: set proper value */ conf->initial_freq_err = 0; @@ -287,7 +294,6 @@ static void fbsb_timer_cb(void *data) { struct l1ctl_link *l1l = (struct l1ctl_link *) data; - struct l1ctl_fbsb_conf *conf; struct l1ctl_info_dl *dl; struct msgb *msg; @@ -295,17 +301,14 @@ if (msg == NULL) return; - LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n"); + LOGP(DL1C, LOGL_NOTICE, "FBSB timer fired for ARFCN %u\n", l1l->trx->band_arfcn); dl = add_info_dl(msg, NULL); /* Fill in current ARFCN */ dl->band_arfcn = htons(l1l->trx->band_arfcn); - /* Fill in FBSB payload: BSIC and sync result */ - conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf)); - conf->result = 255; - conf->bsic = 0; + fbsb_conf_make(msg, 255, 0); /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */ l1l->fbsb_conf_sent = true; @@ -361,6 +364,7 @@ /* Start FBSB expire timer */ l1l->fbsb_timer.data = l1l; l1l->fbsb_timer.cb = fbsb_timer_cb; + LOGP(DL1C, LOGL_NOTICE, "Starting FBSB timer %uus\n", timeout * FRAME_DURATION_uS); osmo_timer_schedule(&l1l->fbsb_timer, 0, timeout * FRAME_DURATION_uS); -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:57 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:57 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13356 Change subject: Initial commit for OC-2G support. ...................................................................... Initial commit for OC-2G support. Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 --- M configure.ac M src/Makefile.am A src/osmo-bts-oc2g/oc2g_l1_hw.c A src/osmo-bts-oc2g/oc2g_l1_if.c A src/osmo-bts-oc2g/oc2g_l1_if.h A src/osmo-bts-oc2g/oc2gbts.c A src/osmo-bts-oc2g/oc2gbts.h 7 files changed, 1,145 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/13356/1 diff --git a/configure.ac b/configure.ac index c3e2df8..149162e 100644 --- a/configure.ac +++ b/configure.ac @@ -139,6 +139,25 @@ CPPFLAGS="$oldCPPFLAGS" fi +AC_MSG_CHECKING([whether to enable direct PHY access for PDCH of NuRAN Wireless OC-2G BTS]) +AC_ARG_ENABLE(oc2gbts-phy, + AC_HELP_STRING([--enable-oc2gbts-phy], + [enable code for OC-2G PHY [default=no]]), + [enable_oc2gbts_phy="$enableval"],[enable_oc2gbts_phy="no"]) +AC_ARG_WITH([oc2g], [AS_HELP_STRING([--with-oc2g=INCLUDE_DIR], [Location of the OC-2G API header files])], + [oc2g_incdir="$withval"],[oc2g_incdir="$incdir"]) +AC_SUBST([OC2G_INCDIR], $oc2g_incdir) +AC_MSG_RESULT([$enable_oc2gbts_phy]) +AM_CONDITIONAL(ENABLE_OC2GBTS_PHY, test "x$enable_oc2gbts_phy" = "xyes") +if test "$enable_oc2g" = "yes"; then + oldCPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$OC2G_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS" + AC_CHECK_HEADER([nrw/oc2g/oc2g.h],[], + [AC_MSG_ERROR([nrw/oc2g/oc2g.h can not be found in $oc2g_incdir])], + [#include ]) + CPPFLAGS=$oldCPPFLAGS +fi + AC_ARG_ENABLE([vty_tests], AC_HELP_STRING([--enable-vty-tests], [Include the VTY tests in make check [default=no]]), diff --git a/src/Makefile.am b/src/Makefile.am index eb4a2bb..c5d5ba7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -29,6 +29,10 @@ AM_CPPFLAGS += -DENABLE_DIRECT_PHY endif +if ENABLE_OC2GBTS_PHY +AM_CPPFLAGS += -DENABLE_DIRECT_PHY +endif + AM_CXXFLAGS = -Wall -ldl -pthread AM_LDFLAGS = -lrt @@ -158,6 +162,26 @@ osmo-bts-litecell15/lc15bts.c endif +if ENABLE_OC2GBTS_PHY +AM_CPPFLAGS += -I$(OC2G_INCDIR) -I$(srcdir)/osmo-bts-oc2g + +EXTRA_DIST = \ + osmo-bts-oc2g/oc2g_l1_if.c \ + osmo-bts-oc2g/oc2g_l1_if.h \ + osmo-bts-oc2g/oc2g_l1_hw.c \ + osmo-bts-oc2g/oc2gbts.c \ + osmo-bts-oc2g/oc2gbts.h + +noinst_HEADERS += \ + osmo-bts-oc2g/oc2g_l1_if.h \ + osmo-bts-oc2g/oc2gbts.h + +osmo_pcu_SOURCES += \ + osmo-bts-oc2g/oc2g_l1_if.c \ + osmo-bts-oc2g/oc2g_l1_hw.c \ + osmo-bts-oc2g/oc2gbts.c +endif + osmo_pcu_LDADD = \ libgprs.la \ $(LIBOSMOGB_LIBS) \ diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c new file mode 100644 index 0000000..aaa543f --- /dev/null +++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c @@ -0,0 +1,213 @@ +/* Interface handler for Nuran Wireless Litecell 1.5 L1 (real hardware) */ + +/* Copyright (C) 2015 by Yves Godin + * based on: + * femto_l1_hw.c + * (C) 2011 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "gprs_debug.h" +#include "oc2g_l1_if.h" +#include "oc2gbts.h" + +#define DEV_SYS_DSP2ARM_NAME "/dev/msgq/oc2g_dsp2arm_trx" +#define DEV_SYS_ARM2DSP_NAME "/dev/msgq/oc2g_arm2dsp_trx" +#define DEV_L1_DSP2ARM_NAME "/dev/msgq/gsml1_sig_dsp2arm_trx" +#define DEV_L1_ARM2DSP_NAME "/dev/msgq/gsml1_sig_arm2dsp_trx" + +#define DEV_TCH_DSP2ARM_NAME "/dev/msgq/gsml1_tch_dsp2arm_trx" +#define DEV_TCH_ARM2DSP_NAME "/dev/msgq/gsml1_tch_arm2dsp_trx" +#define DEV_PDTCH_DSP2ARM_NAME "/dev/msgq/gsml1_pdtch_dsp2arm_trx" +#define DEV_PDTCH_ARM2DSP_NAME "/dev/msgq/gsml1_pdtch_arm2dsp_trx" + +static const char *rd_devnames[] = { + [MQ_SYS_READ] = DEV_SYS_DSP2ARM_NAME, + [MQ_L1_READ] = DEV_L1_DSP2ARM_NAME, + [MQ_TCH_READ] = DEV_TCH_DSP2ARM_NAME, + [MQ_PDTCH_READ] = DEV_PDTCH_DSP2ARM_NAME, +}; + +static const char *wr_devnames[] = { + [MQ_SYS_WRITE] = DEV_SYS_ARM2DSP_NAME, + [MQ_L1_WRITE] = DEV_L1_ARM2DSP_NAME, + [MQ_TCH_WRITE] = DEV_TCH_ARM2DSP_NAME, + [MQ_PDTCH_WRITE]= DEV_PDTCH_ARM2DSP_NAME, +}; + +/* callback when there's something to read from the l1 msg_queue */ +static int l1if_fd_cb(struct osmo_fd *ofd, unsigned int what) +{ + //struct msgb *msg = l1p_msgb_alloc(); + struct msgb *msg = msgb_alloc_headroom(sizeof(Oc2g_Prim_t) + 128, + 128, "1l_fd"); + struct oc2gl1_hdl *fl1h = ofd->data; + int rc; + + msg->l1h = msg->data; + rc = read(ofd->fd, msg->l1h, msgb_tailroom(msg)); + if (rc < 0) { + if (rc != -1) + LOGP(DL1IF, LOGL_ERROR, "error reading from L1 msg_queue: %s\n", + strerror(errno)); + msgb_free(msg); + return rc; + } + msgb_put(msg, rc); + + switch (ofd->priv_nr) { + case MQ_SYS_WRITE: + if (rc != sizeof(Oc2g_Prim_t)) + LOGP(DL1IF, LOGL_NOTICE, "%u != " + "sizeof(Litecell15_Prim_t)\n", rc); + return l1if_handle_sysprim(fl1h, msg); + case MQ_L1_WRITE: + case MQ_TCH_WRITE: + case MQ_PDTCH_WRITE: + if (rc != sizeof(GsmL1_Prim_t)) + LOGP(DL1IF, LOGL_NOTICE, "%u != " + "sizeof(GsmL1_Prim_t)\n", rc); + return l1if_handle_l1prim(ofd->priv_nr, fl1h, msg); + default: + /* The compiler can't know that priv_nr is an enum. Assist. */ + LOGP(DL1IF, LOGL_FATAL, "writing on a wrong queue: %d\n", + ofd->priv_nr); + exit(0); + break; + } +}; + +/* callback when we can write to one of the l1 msg_queue devices */ +static int l1fd_write_cb(struct osmo_fd *ofd, struct msgb *msg) +{ + int rc; + + rc = write(ofd->fd, msg->l1h, msgb_l1len(msg)); + if (rc < 0) { + LOGP(DL1IF, LOGL_ERROR, "error writing to L1 msg_queue: %s\n", + strerror(errno)); + return rc; + } else if (rc < msg->len) { + LOGP(DL1IF, LOGL_ERROR, "short write to L1 msg_queue: " + "%u < %u\n", rc, msg->len); + return -EIO; + } + + return 0; +} + +int l1if_transport_open(int q, struct oc2gl1_hdl *hdl) +{ + int rc; + char buf[PATH_MAX]; + + /* Step 1: Open all msg_queue file descriptors */ + struct osmo_fd *read_ofd = &hdl->read_ofd[q]; + struct osmo_wqueue *wq = &hdl->write_q[q]; + struct osmo_fd *write_ofd = &hdl->write_q[q].bfd; + + snprintf(buf, sizeof(buf)-1, "%s%d", rd_devnames[q], hdl->hw_info.trx_nr); + buf[sizeof(buf)-1] = '\0'; + + rc = open(buf, O_RDONLY); + if (rc < 0) { + LOGP(DL1IF, LOGL_FATAL, "unable to open msg_queue %s: %s\n", + buf, strerror(errno)); + return rc; + } + read_ofd->fd = rc; + read_ofd->priv_nr = q; + read_ofd->data = hdl; + read_ofd->cb = l1if_fd_cb; + read_ofd->when = BSC_FD_READ; + rc = osmo_fd_register(read_ofd); + if (rc < 0) { + close(read_ofd->fd); + read_ofd->fd = -1; + return rc; + } + + snprintf(buf, sizeof(buf)-1, "%s%d", wr_devnames[q], hdl->hw_info.trx_nr); + buf[sizeof(buf)-1] = '\0'; + + rc = open(buf, O_WRONLY); + if (rc < 0) { + LOGP(DL1IF, LOGL_FATAL, "unable to open msg_queue %s: %s\n", + buf, strerror(errno)); + goto out_read; + } + osmo_wqueue_init(wq, 10); + wq->write_cb = l1fd_write_cb; + write_ofd->fd = rc; + write_ofd->priv_nr = q; + write_ofd->data = hdl; + write_ofd->when = BSC_FD_WRITE; + rc = osmo_fd_register(write_ofd); + if (rc < 0) { + close(write_ofd->fd); + write_ofd->fd = -1; + goto out_read; + } + + return 0; + +out_read: + close(hdl->read_ofd[q].fd); + osmo_fd_unregister(&hdl->read_ofd[q]); + + return rc; +} + +int l1if_transport_close(int q, struct oc2gl1_hdl *hdl) +{ + struct osmo_fd *read_ofd = &hdl->read_ofd[q]; + struct osmo_fd *write_ofd = &hdl->write_q[q].bfd; + + osmo_fd_unregister(read_ofd); + close(read_ofd->fd); + read_ofd->fd = -1; + + osmo_fd_unregister(write_ofd); + close(write_ofd->fd); + write_ofd->fd = -1; + + return 0; +} diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c new file mode 100644 index 0000000..23661cb --- /dev/null +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -0,0 +1,386 @@ +/* Copyright (C) 2015 by Yves Godin + * based on: + * femto_l1_if.c + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +#include "oc2g_l1_if.h" + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +extern void *tall_pcu_ctx; + +uint32_t l1if_ts_to_hLayer2(uint8_t trx, uint8_t ts) +{ + return (ts << 16) | (trx << 24); +} + +/* allocate a msgb containing a GsmL1_Prim_t */ +struct msgb *l1p_msgb_alloc(void) +{ + struct msgb *msg = msgb_alloc(sizeof(GsmL1_Prim_t), "l1_prim"); + + if (msg) + msg->l1h = msgb_put(msg, sizeof(GsmL1_Prim_t)); + + return msg; +} + +static int l1if_req_pdch(struct oc2gl1_hdl *fl1h, struct msgb *msg) +{ + struct osmo_wqueue *wqueue = &fl1h->write_q[MQ_PDTCH_WRITE]; + + if (osmo_wqueue_enqueue(wqueue, msg) != 0) { + LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n"); + msgb_free(msg); + } + + return 0; +} + +static void *prim_init(GsmL1_Prim_t *prim, GsmL1_PrimId_t id, struct oc2gl1_hdl *gl1) +{ + prim->id = id; + + switch (id) { + case GsmL1_PrimId_MphInitReq: + //prim->u.mphInitReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphCloseReq: + prim->u.mphCloseReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphConnectReq: + prim->u.mphConnectReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphDisconnectReq: + prim->u.mphDisconnectReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphActivateReq: + prim->u.mphActivateReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphDeactivateReq: + prim->u.mphDeactivateReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphConfigReq: + prim->u.mphConfigReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphMeasureReq: + prim->u.mphMeasureReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphInitCnf: + case GsmL1_PrimId_MphCloseCnf: + case GsmL1_PrimId_MphConnectCnf: + case GsmL1_PrimId_MphDisconnectCnf: + case GsmL1_PrimId_MphActivateCnf: + case GsmL1_PrimId_MphDeactivateCnf: + case GsmL1_PrimId_MphConfigCnf: + case GsmL1_PrimId_MphMeasureCnf: + break; + case GsmL1_PrimId_MphTimeInd: + break; + case GsmL1_PrimId_MphSyncInd: + break; + case GsmL1_PrimId_PhEmptyFrameReq: + prim->u.phEmptyFrameReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_PhDataReq: + prim->u.phDataReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_PhConnectInd: + break; + case GsmL1_PrimId_PhReadyToSendInd: + break; + case GsmL1_PrimId_PhDataInd: + break; + case GsmL1_PrimId_PhRaInd: + break; + default: + LOGP(DL1IF, LOGL_ERROR, "unknown L1 primitive %u\n", id); + break; + } + return &prim->u; +} + +/* connect PDTCH */ +int l1if_connect_pdch(void *obj, uint8_t ts) +{ + struct oc2gl1_hdl *fl1h = obj; + struct msgb *msg = l1p_msgb_alloc(); + GsmL1_MphConnectReq_t *cr; + + cr = prim_init(msgb_l1prim(msg), GsmL1_PrimId_MphConnectReq, fl1h); + cr->u8Tn = ts; + cr->logChComb = GsmL1_LogChComb_XIII; + + return l1if_req_pdch(fl1h, msg); +} + +static int handle_ph_readytosend_ind(struct oc2gl1_hdl *fl1h, + GsmL1_PhReadyToSendInd_t *rts_ind) +{ + struct gsm_time g_time; + int rc = 0; + + gsm_fn2gsmtime(&g_time, rts_ind->u32Fn); + + DEBUGP(DL1IF, "Rx PH-RTS.ind %02u/%02u/%02u SAPI=%s\n", + g_time.t1, g_time.t2, g_time.t3, + get_value_string(oc2gbts_l1sapi_names, rts_ind->sapi)); + + switch (rts_ind->sapi) { + case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Pacch: + rc = pcu_rx_rts_req_pdtch(fl1h->trx_no, rts_ind->u8Tn, + rts_ind->u32Fn, rts_ind->u8BlockNbr); + case GsmL1_Sapi_Ptcch: + // FIXME + default: + break; + } + + return rc; +} + +static void get_meas(struct pcu_l1_meas *meas, const GsmL1_MeasParam_t *l1_meas) +{ + meas->rssi = (int8_t) (l1_meas->fRssi); + meas->have_rssi = 1; + meas->ber = (uint8_t) (l1_meas->fBer * 100); + meas->have_ber = 1; + meas->bto = (int16_t) (l1_meas->i16BurstTiming); + meas->have_bto = 1; + meas->link_qual = (int16_t) (l1_meas->fLinkQuality); + meas->have_link_qual = 1; +} + +static int handle_ph_data_ind(struct oc2gl1_hdl *fl1h, + GsmL1_PhDataInd_t *data_ind, struct msgb *l1p_msg) +{ + int rc = 0; + struct pcu_l1_meas meas = {0}; + + DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + get_value_string(oc2gbts_l1sapi_names, data_ind->sapi), + data_ind->hLayer2, + osmo_hexdump(data_ind->msgUnitParam.u8Buffer, + data_ind->msgUnitParam.u8Size)); + + /* + * TODO: Add proper bad frame handling here. This could be used + * to switch the used CS. Avoid a crash with the PCU right now + * feed "0 - 1" amount of data. + */ + if (data_ind->msgUnitParam.u8Size == 0) + return -1; + + gsmtap_send(fl1h->gsmtap, data_ind->u16Arfcn | GSMTAP_ARFCN_F_UPLINK, + data_ind->u8Tn, GSMTAP_CHANNEL_PACCH, 0, + data_ind->u32Fn, 0, 0, data_ind->msgUnitParam.u8Buffer+1, + data_ind->msgUnitParam.u8Size-1); + + get_meas(&meas, &data_ind->measParam); + bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no, + data_ind->u8Tn, qta2ta(meas.bto)); + + switch (data_ind->sapi) { + case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Pacch: + /* drop incomplete UL block */ + if (data_ind->msgUnitParam.u8Buffer[0] + != GsmL1_PdtchPlType_Full) + break; + /* PDTCH / PACCH frame handling */ + pcu_rx_data_ind_pdtch(fl1h->trx_no, data_ind->u8Tn, + data_ind->msgUnitParam.u8Buffer + 1, + data_ind->msgUnitParam.u8Size - 1, + data_ind->u32Fn, + &meas); + break; + case GsmL1_Sapi_Ptcch: + // FIXME + break; + default: + LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", + get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); + memcpy(alarm_sig_data.spare, &data_ind->sapi, sizeof(unsigned int)); + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_SAP_ALARM, &alarm_sig_data); + + break; + } + + return rc; +} + +#define MIN_QUAL_RACH 5.0f + +static int handle_ph_ra_ind(struct oc2gl1_hdl *fl1h, GsmL1_PhRaInd_t *ra_ind) +{ + if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) + return 0; + + DEBUGP(DL1IF, "Rx PH-RA.ind"); + bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, + qta2ta(ra_ind->measParam.i16BurstTiming)); + + return 0; +} + + +/* handle any random indication from the L1 */ +int l1if_handle_l1prim(int wq, struct oc2gl1_hdl *fl1h, struct msgb *msg) +{ + GsmL1_Prim_t *l1p = msgb_l1prim(msg); + int rc = 0; + + LOGP(DL1IF, LOGL_DEBUG, "Rx L1 prim %s on queue %d\n", + get_value_string(oc2gbts_l1prim_names, l1p->id), wq); + + switch (l1p->id) { +#if 0 + case GsmL1_PrimId_MphTimeInd: + rc = handle_mph_time_ind(fl1h, &l1p->u.mphTimeInd); + break; + case GsmL1_PrimId_MphSyncInd: + break; + case GsmL1_PrimId_PhConnectInd: + break; +#endif + case GsmL1_PrimId_PhReadyToSendInd: + rc = handle_ph_readytosend_ind(fl1h, &l1p->u.phReadyToSendInd); + break; + case GsmL1_PrimId_PhDataInd: + rc = handle_ph_data_ind(fl1h, &l1p->u.phDataInd, msg); + break; + case GsmL1_PrimId_PhRaInd: + rc = handle_ph_ra_ind(fl1h, &l1p->u.phRaInd); + break; + default: + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_PRIM_ALARM, &alarm_sig_data); + break; + } + + msgb_free(msg); + + return rc; +} + +int l1if_handle_sysprim(struct oc2gl1_hdl *fl1h, struct msgb *msg) +{ + return -ENOTSUP; +} + +/* send packet data request to L1 */ +int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn, + uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len) +{ + struct oc2gl1_hdl *fl1h = obj; + struct msgb *msg; + GsmL1_Prim_t *l1p; + GsmL1_PhDataReq_t *data_req; + GsmL1_MsgUnitParam_t *msu_param; + struct gsm_time g_time; + + gsm_fn2gsmtime(&g_time, fn); + + DEBUGP(DL1IF, "TX packet data %02u/%02u/%02u is_ptcch=%d ts=%d " + "block_nr=%d, arfcn=%d, len=%d\n", g_time.t1, g_time.t2, + g_time.t3, is_ptcch, ts, block_nr, arfcn, len); + + msg = l1p_msgb_alloc(); + l1p = msgb_l1prim(msg); + l1p->id = GsmL1_PrimId_PhDataReq; + data_req = &l1p->u.phDataReq; + data_req->hLayer1 = (HANDLE)fl1h->hLayer1; + data_req->sapi = (is_ptcch) ? GsmL1_Sapi_Ptcch : GsmL1_Sapi_Pdtch; + data_req->subCh = GsmL1_SubCh_NA; + data_req->u8BlockNbr = block_nr; + data_req->u8Tn = ts; + data_req->u32Fn = fn; + msu_param = &data_req->msgUnitParam; + msu_param->u8Size = len; + memcpy(msu_param->u8Buffer, data, len); + + gsmtap_send(fl1h->gsmtap, arfcn, data_req->u8Tn, GSMTAP_CHANNEL_PACCH, + 0, data_req->u32Fn, 0, 0, + data_req->msgUnitParam.u8Buffer, + data_req->msgUnitParam.u8Size); + + + /* transmit */ + if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) { + LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n"); + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_PDTCH_QUEUE_FULL_ALARM, &alarm_sig_data); + msgb_free(msg); + } + + return 0; +} + +void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1) +{ + struct oc2gl1_hdl *fl1h; + int rc; + + fl1h = talloc_zero(tall_pcu_ctx, struct oc2gl1_hdl); + if (!fl1h) + return NULL; + + fl1h->hLayer1 = hlayer1; + fl1h->trx_no = trx_no; + /* hardware queues are numbered starting from 0 */ + fl1h->hw_info.trx_nr = trx_no; + + DEBUGP(DL1IF, "PCU: Using TRX HW#%u\n", fl1h->hw_info.trx_nr); + + rc = l1if_transport_open(MQ_PDTCH_WRITE, fl1h); + if (rc < 0) { + alarm_sig_data.spare[0] = trx_no; + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_FAIL_OPEN_L1_ALARM, &alarm_sig_data); + talloc_free(fl1h); + return NULL; + } + + fl1h->gsmtap = gsmtap_source_init("localhost", GSMTAP_UDP_PORT, 1); + if (fl1h->gsmtap) + gsmtap_source_add_sink(fl1h->gsmtap); + + return fl1h; +} + +int l1if_close_pdch(void *obj) +{ + struct oc2gl1_hdl *fl1h = obj; + if (fl1h) + l1if_transport_close(MQ_PDTCH_WRITE, fl1h); + talloc_free(fl1h); + return 0; +} + diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.h b/src/osmo-bts-oc2g/oc2g_l1_if.h new file mode 100644 index 0000000..1e09f02 --- /dev/null +++ b/src/osmo-bts-oc2g/oc2g_l1_if.h @@ -0,0 +1,106 @@ +/* Copyright (C) 2015 by Yves Godin + * based on: + * femto_l1_if.h + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#ifndef _OC2G_L1_IF_H +#define _OC2G_L1_IF_H + +#include +#include +#include +#include +#include + +#include "oc2gbts.h" + +enum { + MQ_SYS_READ, + MQ_L1_READ, + MQ_TCH_READ, + MQ_PDTCH_READ, + _NUM_MQ_READ +}; + +enum { + MQ_SYS_WRITE, + MQ_L1_WRITE, + MQ_TCH_WRITE, + MQ_PDTCH_WRITE, + _NUM_MQ_WRITE +}; + +struct oc2gl1_hdl { + struct gsm_time gsm_time; + uint32_t hLayer1; /* handle to the L1 instance in the DSP */ + uint32_t dsp_trace_f; + struct llist_head wlc_list; + + struct gsmtap_inst *gsmtap; + uint32_t gsmtap_sapi_mask; + + uint8_t trx_no; + + struct osmo_timer_list alive_timer; + unsigned int alive_prim_cnt; + + struct osmo_fd read_ofd[_NUM_MQ_READ]; /* osmo file descriptors */ + struct osmo_wqueue write_q[_NUM_MQ_WRITE]; + + struct { + int trx_nr; /* <1-2> */ + } hw_info; +}; + +#define msgb_l1prim(msg) ((GsmL1_Prim_t *)(msg)->l1h) +#define msgb_sysprim(msg) ((Oc2g_Prim_t *)(msg)->l1h) + +typedef int l1if_compl_cb(struct msgb *l1_msg, void *data); + +/* send a request primitive to the L1 and schedule completion call-back */ +int l1if_req_compl(struct oc2gl1_hdl *fl1h, struct msgb *msg, + int is_system_prim, l1if_compl_cb *cb, void *data); + +int l1if_reset(struct oc2gl1_hdl *hdl); +int l1if_activate_rf(struct oc2gl1_hdl *hdl, int on); +int l1if_set_trace_flags(struct oc2gl1_hdl *hdl, uint32_t flags); +int l1if_set_txpower(struct oc2gl1_hdl *fl1h, float tx_power); + +struct msgb *l1p_msgb_alloc(void); +struct msgb *sysp_msgb_alloc(void); + +uint32_t l1if_lchan_to_hLayer2(struct gsm_lchan *lchan); +struct gsm_lchan *l1if_hLayer2_to_lchan(struct gsm_bts_trx *trx, uint32_t hLayer2); + +int l1if_handle_sysprim(struct oc2gl1_hdl *fl1h, struct msgb *msg); +int l1if_handle_l1prim(int wq, struct oc2gl1_hdl *fl1h, struct msgb *msg); + +/* tch.c */ +int l1if_tch_rx(struct gsm_lchan *lchan, struct msgb *l1p_msg); +int l1if_tch_fill(struct gsm_lchan *lchan, uint8_t *l1_buffer); +struct msgb *gen_empty_tch_msg(struct gsm_lchan *lchan); + +/* + * The implementation of these functions is selected by either compiling and + * linking sysmo_l1_hw.c or sysmo_l1_fwd.c + */ +int l1if_transport_open(int q, struct oc2gl1_hdl *hdl); +int l1if_transport_close(int q, struct oc2gl1_hdl *hdl); + +#endif /* _OC2G_L1_IF_H */ diff --git a/src/osmo-bts-oc2g/oc2gbts.c b/src/osmo-bts-oc2g/oc2gbts.c new file mode 100644 index 0000000..edd7f5b --- /dev/null +++ b/src/osmo-bts-oc2g/oc2gbts.c @@ -0,0 +1,333 @@ +/* NuRAN Wireless OC-2G L1 API related definitions */ + +/* Copyright (C) 2015 by Yves Godin + * based on: + * sysmobts.c + * (C) 2011 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include "oc2gbts.h" + +#include +#include +#include + + +enum l1prim_type oc2gbts_get_l1prim_type(GsmL1_PrimId_t id) +{ + switch (id) { + case GsmL1_PrimId_MphInitReq: return L1P_T_REQ; + case GsmL1_PrimId_MphCloseReq: return L1P_T_REQ; + case GsmL1_PrimId_MphConnectReq: return L1P_T_REQ; + case GsmL1_PrimId_MphDisconnectReq: return L1P_T_REQ; + case GsmL1_PrimId_MphActivateReq: return L1P_T_REQ; + case GsmL1_PrimId_MphDeactivateReq: return L1P_T_REQ; + case GsmL1_PrimId_MphConfigReq: return L1P_T_REQ; + case GsmL1_PrimId_MphMeasureReq: return L1P_T_REQ; + case GsmL1_PrimId_MphInitCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphCloseCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphConnectCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphDisconnectCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphActivateCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphDeactivateCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphConfigCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphMeasureCnf: return L1P_T_CONF; + case GsmL1_PrimId_PhEmptyFrameReq: return L1P_T_REQ; + case GsmL1_PrimId_PhDataReq: return L1P_T_REQ; + case GsmL1_PrimId_MphTimeInd: return L1P_T_IND; + case GsmL1_PrimId_MphSyncInd: return L1P_T_IND; + case GsmL1_PrimId_PhConnectInd: return L1P_T_IND; + case GsmL1_PrimId_PhReadyToSendInd: return L1P_T_IND; + case GsmL1_PrimId_PhDataInd: return L1P_T_IND; + case GsmL1_PrimId_PhRaInd: return L1P_T_IND; + default: return L1P_T_INVALID; + } +} + +const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1] = { + { GsmL1_PrimId_MphInitReq, "MPH-INIT.req" }, + { GsmL1_PrimId_MphCloseReq, "MPH-CLOSE.req" }, + { GsmL1_PrimId_MphConnectReq, "MPH-CONNECT.req" }, + { GsmL1_PrimId_MphDisconnectReq,"MPH-DISCONNECT.req" }, + { GsmL1_PrimId_MphActivateReq, "MPH-ACTIVATE.req" }, + { GsmL1_PrimId_MphDeactivateReq,"MPH-DEACTIVATE.req" }, + { GsmL1_PrimId_MphConfigReq, "MPH-CONFIG.req" }, + { GsmL1_PrimId_MphMeasureReq, "MPH-MEASURE.req" }, + { GsmL1_PrimId_MphInitCnf, "MPH-INIT.conf" }, + { GsmL1_PrimId_MphCloseCnf, "MPH-CLOSE.conf" }, + { GsmL1_PrimId_MphConnectCnf, "MPH-CONNECT.conf" }, + { GsmL1_PrimId_MphDisconnectCnf,"MPH-DISCONNECT.conf" }, + { GsmL1_PrimId_MphActivateCnf, "MPH-ACTIVATE.conf" }, + { GsmL1_PrimId_MphDeactivateCnf,"MPH-DEACTIVATE.conf" }, + { GsmL1_PrimId_MphConfigCnf, "MPH-CONFIG.conf" }, + { GsmL1_PrimId_MphMeasureCnf, "MPH-MEASURE.conf" }, + { GsmL1_PrimId_MphTimeInd, "MPH-TIME.ind" }, + { GsmL1_PrimId_MphSyncInd, "MPH-SYNC.ind" }, + { GsmL1_PrimId_PhEmptyFrameReq, "PH-EMPTY_FRAME.req" }, + { GsmL1_PrimId_PhDataReq, "PH-DATA.req" }, + { GsmL1_PrimId_PhConnectInd, "PH-CONNECT.ind" }, + { GsmL1_PrimId_PhReadyToSendInd,"PH-READY_TO_SEND.ind" }, + { GsmL1_PrimId_PhDataInd, "PH-DATA.ind" }, + { GsmL1_PrimId_PhRaInd, "PH-RA.ind" }, + { 0, NULL } +}; + +GsmL1_PrimId_t oc2gbts_get_l1prim_conf(GsmL1_PrimId_t id) +{ + switch (id) { + case GsmL1_PrimId_MphInitReq: return GsmL1_PrimId_MphInitCnf; + case GsmL1_PrimId_MphCloseReq: return GsmL1_PrimId_MphCloseCnf; + case GsmL1_PrimId_MphConnectReq: return GsmL1_PrimId_MphConnectCnf; + case GsmL1_PrimId_MphDisconnectReq: return GsmL1_PrimId_MphDisconnectCnf; + case GsmL1_PrimId_MphActivateReq: return GsmL1_PrimId_MphActivateCnf; + case GsmL1_PrimId_MphDeactivateReq: return GsmL1_PrimId_MphDeactivateCnf; + case GsmL1_PrimId_MphConfigReq: return GsmL1_PrimId_MphConfigCnf; + case GsmL1_PrimId_MphMeasureReq: return GsmL1_PrimId_MphMeasureCnf; + default: return -1; // Weak + } +} + +enum l1prim_type oc2gbts_get_sysprim_type(Oc2g_PrimId_t id) +{ + switch (id) { + case Oc2g_PrimId_SystemInfoReq: return L1P_T_REQ; + case Oc2g_PrimId_SystemInfoCnf: return L1P_T_CONF; + case Oc2g_PrimId_SystemFailureInd: return L1P_T_IND; + case Oc2g_PrimId_ActivateRfReq: return L1P_T_REQ; + case Oc2g_PrimId_ActivateRfCnf: return L1P_T_CONF; + case Oc2g_PrimId_DeactivateRfReq: return L1P_T_REQ; + case Oc2g_PrimId_DeactivateRfCnf: return L1P_T_CONF; + case Oc2g_PrimId_SetTraceFlagsReq: return L1P_T_REQ; + case Oc2g_PrimId_Layer1ResetReq: return L1P_T_REQ; + case Oc2g_PrimId_Layer1ResetCnf: return L1P_T_CONF; + case Oc2g_PrimId_SetCalibTblReq: return L1P_T_REQ; + case Oc2g_PrimId_SetCalibTblCnf: return L1P_T_CONF; + case Oc2g_PrimId_MuteRfReq: return L1P_T_REQ; + case Oc2g_PrimId_MuteRfCnf: return L1P_T_CONF; + case Oc2g_PrimId_SetRxAttenReq: return L1P_T_REQ; + case Oc2g_PrimId_SetRxAttenCnf: return L1P_T_CONF; + default: return L1P_T_INVALID; + } +} + +const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1] = { + { Oc2g_PrimId_SystemInfoReq, "SYSTEM-INFO.req" }, + { Oc2g_PrimId_SystemInfoCnf, "SYSTEM-INFO.conf" }, + { Oc2g_PrimId_SystemFailureInd, "SYSTEM-FAILURE.ind" }, + { Oc2g_PrimId_ActivateRfReq, "ACTIVATE-RF.req" }, + { Oc2g_PrimId_ActivateRfCnf, "ACTIVATE-RF.conf" }, + { Oc2g_PrimId_DeactivateRfReq, "DEACTIVATE-RF.req" }, + { Oc2g_PrimId_DeactivateRfCnf, "DEACTIVATE-RF.conf" }, + { Oc2g_PrimId_SetTraceFlagsReq, "SET-TRACE-FLAGS.req" }, + { Oc2g_PrimId_Layer1ResetReq, "LAYER1-RESET.req" }, + { Oc2g_PrimId_Layer1ResetCnf, "LAYER1-RESET.conf" }, + { Oc2g_PrimId_SetCalibTblReq, "SET-CALIB.req" }, + { Oc2g_PrimId_SetCalibTblCnf, "SET-CALIB.cnf" }, + { Oc2g_PrimId_MuteRfReq, "MUTE-RF.req" }, + { Oc2g_PrimId_MuteRfCnf, "MUTE-RF.cnf" }, + { Oc2g_PrimId_SetRxAttenReq, "SET-RX-ATTEN.req" }, + { Oc2g_PrimId_SetRxAttenCnf, "SET-RX-ATTEN-CNF.cnf" }, + { 0, NULL } +}; + +Oc2g_PrimId_t oc2gbts_get_sysprim_conf(Oc2g_PrimId_t id) +{ + switch (id) { + case Oc2g_PrimId_SystemInfoReq: return Oc2g_PrimId_SystemInfoCnf; + case Oc2g_PrimId_ActivateRfReq: return Oc2g_PrimId_ActivateRfCnf; + case Oc2g_PrimId_DeactivateRfReq: return Oc2g_PrimId_DeactivateRfCnf; + case Oc2g_PrimId_Layer1ResetReq: return Oc2g_PrimId_Layer1ResetCnf; + case Oc2g_PrimId_SetCalibTblReq: return Oc2g_PrimId_SetCalibTblCnf; + case Oc2g_PrimId_MuteRfReq: return Oc2g_PrimId_MuteRfCnf; + case Oc2g_PrimId_SetRxAttenReq: return Oc2g_PrimId_SetRxAttenCnf; + default: return -1; // Weak + } +} + +const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1] = { + { GsmL1_Sapi_Idle, "IDLE" }, + { GsmL1_Sapi_Fcch, "FCCH" }, + { GsmL1_Sapi_Sch, "SCH" }, + { GsmL1_Sapi_Sacch, "SACCH" }, + { GsmL1_Sapi_Sdcch, "SDCCH" }, + { GsmL1_Sapi_Bcch, "BCCH" }, + { GsmL1_Sapi_Pch, "PCH" }, + { GsmL1_Sapi_Agch, "AGCH" }, + { GsmL1_Sapi_Cbch, "CBCH" }, + { GsmL1_Sapi_Rach, "RACH" }, + { GsmL1_Sapi_TchF, "TCH/F" }, + { GsmL1_Sapi_FacchF,"FACCH/F" }, + { GsmL1_Sapi_TchH, "TCH/H" }, + { GsmL1_Sapi_FacchH,"FACCH/H" }, + { GsmL1_Sapi_Nch, "NCH" }, + { GsmL1_Sapi_Pdtch, "PDTCH" }, + { GsmL1_Sapi_Pacch, "PACCH" }, + { GsmL1_Sapi_Pbcch, "PBCCH" }, + { GsmL1_Sapi_Pagch, "PAGCH" }, + { GsmL1_Sapi_Ppch, "PPCH" }, + { GsmL1_Sapi_Pnch, "PNCH" }, + { GsmL1_Sapi_Ptcch, "PTCCH" }, + { GsmL1_Sapi_Prach, "PRACH" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1] = { + { GsmL1_Status_Success, "Success" }, + { GsmL1_Status_Generic, "Generic error" }, + { GsmL1_Status_NoMemory, "Not enough memory" }, + { GsmL1_Status_Timeout, "Timeout" }, + { GsmL1_Status_InvalidParam, "Invalid parameter" }, + { GsmL1_Status_Busy, "Resource busy" }, + { GsmL1_Status_NoRessource, "No more resources" }, + { GsmL1_Status_Uninitialized, "Trying to use uninitialized resource" }, + { GsmL1_Status_NullInterface, "Trying to call a NULL interface" }, + { GsmL1_Status_NullFctnPtr, "Trying to call a NULL function ptr" }, + { GsmL1_Status_BadCrc, "Bad CRC" }, + { GsmL1_Status_BadUsf, "Bad USF" }, + { GsmL1_Status_InvalidCPS, "Invalid CPS field" }, + { GsmL1_Status_UnexpectedBurst, "Unexpected burst" }, + { GsmL1_Status_UnavailCodec, "AMR codec is unavailable" }, + { GsmL1_Status_CriticalError, "Critical error" }, + { GsmL1_Status_OverheatError, "Overheat error" }, + { GsmL1_Status_DeviceError, "Device error" }, + { GsmL1_Status_FacchError, "FACCH / TCH order error" }, + { GsmL1_Status_AlreadyDeactivated,"Lchan already deactivated" }, + { GsmL1_Status_TxBurstFifoOvrn, "FIFO overrun" }, + { GsmL1_Status_TxBurstFifoUndr, "FIFO underrun" }, + { GsmL1_Status_NotSynchronized, "Not synchronized" }, + { GsmL1_Status_Unsupported, "Unsupported feature" }, + { GsmL1_Status_ClockError, "System clock error" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_tracef_names[29] = { + { DBG_DEBUG, "DEBUG" }, + { DBG_L1WARNING, "L1_WARNING" }, + { DBG_ERROR, "ERROR" }, + { DBG_L1RXMSG, "L1_RX_MSG" }, + { DBG_L1RXMSGBYTE, "L1_RX_MSG_BYTE" }, + { DBG_L1TXMSG, "L1_TX_MSG" }, + { DBG_L1TXMSGBYTE, "L1_TX_MSG_BYTE" }, + { DBG_MPHCNF, "MPH_CNF" }, + { DBG_MPHIND, "MPH_IND" }, + { DBG_MPHREQ, "MPH_REQ" }, + { DBG_PHIND, "PH_IND" }, + { DBG_PHREQ, "PH_REQ" }, + { DBG_PHYRF, "PHY_RF" }, + { DBG_PHYRFMSGBYTE, "PHY_MSG_BYTE" }, + { DBG_MODE, "MODE" }, + { DBG_TDMAINFO, "TDMA_INFO" }, + { DBG_BADCRC, "BAD_CRC" }, + { DBG_PHINDBYTE, "PH_IND_BYTE" }, + { DBG_PHREQBYTE, "PH_REQ_BYTE" }, + { DBG_DEVICEMSG, "DEVICE_MSG" }, + { DBG_RACHINFO, "RACH_INFO" }, + { DBG_LOGCHINFO, "LOG_CH_INFO" }, + { DBG_MEMORY, "MEMORY" }, + { DBG_PROFILING, "PROFILING" }, + { DBG_TESTCOMMENT, "TEST_COMMENT" }, + { DBG_TEST, "TEST" }, + { DBG_STATUS, "STATUS" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_tracef_docs[29] = { + { DBG_DEBUG, "Debug Region" }, + { DBG_L1WARNING, "L1 Warning Region" }, + { DBG_ERROR, "Error Region" }, + { DBG_L1RXMSG, "L1_RX_MSG Region" }, + { DBG_L1RXMSGBYTE, "L1_RX_MSG_BYTE Region" }, + { DBG_L1TXMSG, "L1_TX_MSG Region" }, + { DBG_L1TXMSGBYTE, "L1_TX_MSG_BYTE Region" }, + { DBG_MPHCNF, "MphConfirmation Region" }, + { DBG_MPHIND, "MphIndication Region" }, + { DBG_MPHREQ, "MphRequest Region" }, + { DBG_PHIND, "PhIndication Region" }, + { DBG_PHREQ, "PhRequest Region" }, + { DBG_PHYRF, "PhyRF Region" }, + { DBG_PHYRFMSGBYTE, "PhyRF Message Region" }, + { DBG_MODE, "Mode Region" }, + { DBG_TDMAINFO, "TDMA Info Region" }, + { DBG_BADCRC, "Bad CRC Region" }, + { DBG_PHINDBYTE, "PH_IND_BYTE" }, + { DBG_PHREQBYTE, "PH_REQ_BYTE" }, + { DBG_DEVICEMSG, "Device Message Region" }, + { DBG_RACHINFO, "RACH Info" }, + { DBG_LOGCHINFO, "LOG_CH_INFO" }, + { DBG_MEMORY, "Memory Region" }, + { DBG_PROFILING, "Profiling Region" }, + { DBG_TESTCOMMENT, "Test Comments" }, + { DBG_TEST, "Test Region" }, + { DBG_STATUS, "Status Region" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_tch_pl_names[] = { + { GsmL1_TchPlType_NA, "N/A" }, + { GsmL1_TchPlType_Fr, "FR" }, + { GsmL1_TchPlType_Hr, "HR" }, + { GsmL1_TchPlType_Efr, "EFR" }, + { GsmL1_TchPlType_Amr, "AMR(IF2)" }, + { GsmL1_TchPlType_Amr_SidBad, "AMR(SID BAD)" }, + { GsmL1_TchPlType_Amr_Onset, "AMR(ONSET)" }, + { GsmL1_TchPlType_Amr_Ratscch, "AMR(RATSCCH)" }, + { GsmL1_TchPlType_Amr_SidUpdateInH, "AMR(SID_UPDATE INH)" }, + { GsmL1_TchPlType_Amr_SidFirstP1, "AMR(SID_FIRST P1)" }, + { GsmL1_TchPlType_Amr_SidFirstP2, "AMR(SID_FIRST P2)" }, + { GsmL1_TchPlType_Amr_SidFirstInH, "AMR(SID_FIRST INH)" }, + { GsmL1_TchPlType_Amr_RatscchMarker, "AMR(RATSCCH MARK)" }, + { GsmL1_TchPlType_Amr_RatscchData, "AMR(RATSCCH DATA)" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_dir_names[] = { + { GsmL1_Dir_TxDownlink, "TxDL" }, + { GsmL1_Dir_TxUplink, "TxUL" }, + { GsmL1_Dir_RxUplink, "RxUL" }, + { GsmL1_Dir_RxDownlink, "RxDL" }, + { GsmL1_Dir_TxDownlink|GsmL1_Dir_RxUplink, "BOTH" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_chcomb_names[] = { + { GsmL1_LogChComb_0, "dummy" }, + { GsmL1_LogChComb_I, "tch_f" }, + { GsmL1_LogChComb_II, "tch_h" }, + { GsmL1_LogChComb_IV, "ccch" }, + { GsmL1_LogChComb_V, "ccch_sdcch4" }, + { GsmL1_LogChComb_VII, "sdcch8" }, + { GsmL1_LogChComb_XIII, "pdtch" }, + { 0, NULL } +}; + +const uint8_t pdch_msu_size[_NUM_PDCH_CS] = { + [PDCH_CS_1] = 23, + [PDCH_CS_2] = 34, + [PDCH_CS_3] = 40, + [PDCH_CS_4] = 54, + [PDCH_MCS_1] = 27, + [PDCH_MCS_2] = 33, + [PDCH_MCS_3] = 42, + [PDCH_MCS_4] = 49, + [PDCH_MCS_5] = 60, + [PDCH_MCS_6] = 78, + [PDCH_MCS_7] = 118, + [PDCH_MCS_8] = 142, + [PDCH_MCS_9] = 154 +}; diff --git a/src/osmo-bts-oc2g/oc2gbts.h b/src/osmo-bts-oc2g/oc2gbts.h new file mode 100644 index 0000000..24deae7 --- /dev/null +++ b/src/osmo-bts-oc2g/oc2gbts.h @@ -0,0 +1,64 @@ +#ifndef OC2GBTS_H +#define OC2GBTS_H + +#include +#include + +#include +#include + +/* + * Depending on the firmware version either GsmL1_Prim_t or Oc2g_Prim_t + * is the bigger struct. For earlier firmware versions the GsmL1_Prim_t was the + * bigger struct. + */ +#define OC2GBTS_PRIM_SIZE \ + (OSMO_MAX(sizeof(Oc2g_Prim_t), sizeof(GsmL1_Prim_t)) + 128) + +enum l1prim_type { + L1P_T_INVALID, /* this must be 0 to detect uninitialized elements */ + L1P_T_REQ, + L1P_T_CONF, + L1P_T_IND, +}; + +enum l1prim_type oc2gbts_get_l1prim_type(GsmL1_PrimId_t id); +const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1]; +GsmL1_PrimId_t oc2gbts_get_l1prim_conf(GsmL1_PrimId_t id); + +enum l1prim_type oc2gbts_get_sysprim_type(Oc2g_PrimId_t id); +const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1]; +Oc2g_PrimId_t oc2gbts_get_sysprim_conf(Oc2g_PrimId_t id); + +const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1]; +const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1]; + +const struct value_string oc2gbts_tracef_names[29]; +const struct value_string oc2gbts_tracef_docs[29]; + +const struct value_string oc2gbts_tch_pl_names[15]; + +const struct value_string oc2gbts_clksrc_names[10]; + +const struct value_string oc2gbts_dir_names[6]; + +enum pdch_cs { + PDCH_CS_1, + PDCH_CS_2, + PDCH_CS_3, + PDCH_CS_4, + PDCH_MCS_1, + PDCH_MCS_2, + PDCH_MCS_3, + PDCH_MCS_4, + PDCH_MCS_5, + PDCH_MCS_6, + PDCH_MCS_7, + PDCH_MCS_8, + PDCH_MCS_9, + _NUM_PDCH_CS +}; + +const uint8_t pdch_msu_size[_NUM_PDCH_CS]; + +#endif /* LC15BTS_H */ -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:58 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:58 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13357 Change subject: OC-2G: Fix missing header ...................................................................... OC-2G: Fix missing header Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/13357/1 diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 23661cb..3855da1 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -31,6 +31,8 @@ #include #include #include +#include + #include #include #include -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:58 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:58 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix TA adjustment Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13358 Change subject: OC-2G: Fix TA adjustment ...................................................................... OC-2G: Fix TA adjustment Problem: TA provided from L1 PH-DATA-IND is a relative amount of TA adjustment to actual TA being used for given TBF. The current TA update algorithm in PCU simply applies the relative amount of TA to given TBF but does not take into account of current TA. As a result, the PCU will request wrong TA jump for given TBF if the MS is moving away from BTS more than 2 km. Related issue: http://osmocom.org/issues/2611 Fixes: - The PCU needs increase or decrease current TA of given TBF on receiving of relative amount of TA adjustment provided by PH-DATA-IND from L1. - The PCU needs to set absolute TA of given TBF on receiving absolute TA provided by PH-RA-IND from L1. Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/58/13358/1 diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 3855da1..ccf7431 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -210,7 +210,7 @@ get_meas(&meas, &data_ind->measParam); bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no, - data_ind->u8Tn, qta2ta(meas.bto)); + data_ind->u8Tn, sign_qta2ta(meas.bto), false); switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: @@ -250,7 +250,7 @@ DEBUGP(DL1IF, "Rx PH-RA.ind"); bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, - qta2ta(ra_ind->measParam.i16BurstTiming)); + sign_qta2ta(ra_ind->measParam.i16BurstTiming), true); return 0; } -- To view, visit https://gerrit.osmocom.org/13358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 Gerrit-Change-Number: 13358 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:58 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:58 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Always use positive TA information provided in PH-RA-IND Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13359 Change subject: OC-2G: Always use positive TA information provided in PH-RA-IND ...................................................................... OC-2G: Always use positive TA information provided in PH-RA-IND Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/13359/1 diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index ccf7431..80b9dbc 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -248,9 +248,10 @@ if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) return 0; - DEBUGP(DL1IF, "Rx PH-RA.ind"); + LOGP(DL1IF, LOGL_DEBUG, "PH-RA-IND L1 qta=%d\n", ra_ind->measParam.i16BurstTiming); + bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, - sign_qta2ta(ra_ind->measParam.i16BurstTiming), true); + qta2ta(ra_ind->measParam.i16BurstTiming), true); return 0; } -- To view, visit https://gerrit.osmocom.org/13359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 Gerrit-Change-Number: 13359 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:59 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:59 +0000 Subject: Change in osmo-pcu[master]: Remove custom alarms Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13360 Change subject: Remove custom alarms ...................................................................... Remove custom alarms Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/13360/1 diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 80b9dbc..f9768ae 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -232,9 +232,6 @@ default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); - memcpy(alarm_sig_data.spare, &data_ind->sapi, sizeof(unsigned int)); - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_SAP_ALARM, &alarm_sig_data); - break; } @@ -286,7 +283,6 @@ rc = handle_ph_ra_ind(fl1h, &l1p->u.phRaInd); break; default: - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_PRIM_ALARM, &alarm_sig_data); break; } @@ -340,7 +336,6 @@ /* transmit */ if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) { LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n"); - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_PDTCH_QUEUE_FULL_ALARM, &alarm_sig_data); msgb_free(msg); } @@ -365,8 +360,6 @@ rc = l1if_transport_open(MQ_PDTCH_WRITE, fl1h); if (rc < 0) { - alarm_sig_data.spare[0] = trx_no; - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_FAIL_OPEN_L1_ALARM, &alarm_sig_data); talloc_free(fl1h); return NULL; } -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:59 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:59 +0000 Subject: Change in osmo-pcu[master]: Add missing include Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13361 Change subject: Add missing include ...................................................................... Add missing include Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/61/13361/1 diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index f9768ae..9b7113b 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -36,6 +36,7 @@ #include #include #include +#include #include extern void *tall_pcu_ctx; -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:22:59 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 12:22:59 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13362 Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... oc2g: Change log type (Litecell15->Oc2g) Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b --- M src/osmo-bts-oc2g/oc2g_l1_hw.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/62/13362/1 diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c index aaa543f..e96df89 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_hw.c +++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c @@ -97,7 +97,7 @@ case MQ_SYS_WRITE: if (rc != sizeof(Oc2g_Prim_t)) LOGP(DL1IF, LOGL_NOTICE, "%u != " - "sizeof(Litecell15_Prim_t)\n", rc); + "sizeof(Oc2g_Prim_t)\n", rc); return l1if_handle_sysprim(fl1h, msg); case MQ_L1_WRITE: case MQ_TCH_WRITE: -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 12:48:28 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 12:48:28 +0000 Subject: Change in osmocom-bb[master]: trxcon: use bool for fbsb_conf_sent In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13353 ) Change subject: trxcon: use bool for fbsb_conf_sent ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaf50cdd19ac2139ee2d625671410a486edae2999 Gerrit-Change-Number: 13353 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 21 Mar 2019 12:48:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 13:01:29 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 13:01:29 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13354 ) Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c at 141 PS1, Line 141: add_info_dl Not a merge blocker, but I would prefer 'put_dl_info_hdr'. https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c at 143 PS1, Line 143: sizeof(struct l1ctl_info_dl); When I was writing this, I didn't know that we can do: sizeof(*dl) Now I know, and recommend this ;) https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c at 148 PS1, Line 148: Compose Do we really compose anything here? Let's just say 'init'. -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 21 Mar 2019 13:01:29 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 13:09:34 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 13:09:34 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13355 ) Change subject: trxcon: use static helper to prepare FBSB ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c at 304 PS1, Line 304: l1l->trx->band_arfcn This is not an ARFCN itself, but ARFCN + band (and some other flags), so: band_arfcn &~ ARFCN_FLAG_MASK. Otherwise you would see garbage in some cases. https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c at 367 PS1, Line 367: LOGP And please do this in a separate change, as this one states "trxcon: use static helper to prepare FBSB". https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c at 367 PS1, Line 367: LOGL_NOTICE This message is more related to LOGL_INFO. -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 21 Mar 2019 13:09:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 14:05:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 14:05:44 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13363 Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de --- M contrib/jenkins-build-osmo-pcu-oc2g.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/63/13363/1 diff --git a/contrib/jenkins-build-osmo-pcu-oc2g.sh b/contrib/jenkins-build-osmo-pcu-oc2g.sh index c10b14e..08652e7 100755 --- a/contrib/jenkins-build-osmo-pcu-oc2g.sh +++ b/contrib/jenkins-build-osmo-pcu-oc2g.sh @@ -19,6 +19,6 @@ . "$(dirname "$0")/jenkins-build-common.sh" build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls -build_repo osmo-pcu --disable-sysmocom-dsp +build_repo osmo-pcu --disable-sysmocom-dsp -enable-oc2gbts-phy create_bin_tgz osmo-pcu -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 14:10:52 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 14:10:52 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13356 ) Change subject: Initial commit for OC-2G support. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 14:10:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 14:12:06 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 14:12:06 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13357 ) Change subject: OC-2G: Fix missing header ...................................................................... Patch Set 1: A small description on why is this put here in a separate commit and not previous one would be welcome. -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 14:12:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 14:12:36 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 14:12:36 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13356 ) Change subject: Initial commit for OC-2G support. ...................................................................... Patch Set 1: Would be nice giving some info about the source of all this code. Where is it taken from, which hash, etc. -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 14:12:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 14:12:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 14:12:49 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Pau Espin Pedrol has removed a vote on this change. Change subject: Initial commit for OC-2G support. ...................................................................... Removed Code-Review+1 by Pau Espin Pedrol -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:02:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 15:02:30 +0000 Subject: Change in osmo-pcu[master]: Remove custom alarms In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13360 ) Change subject: Remove custom alarms ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13360/1/src/osmo-bts-oc2g/oc2g_l1_if.c File src/osmo-bts-oc2g/oc2g_l1_if.c: https://gerrit.osmocom.org/#/c/13360/1/src/osmo-bts-oc2g/oc2g_l1_if.c at a236 PS1, Line 236: If those signals are not used, what about removing the enums? Or they don't exist in our tree? -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:02:30 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:03:28 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 15:03:28 +0000 Subject: Change in osmo-pcu[master]: Add missing include In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Add missing include ...................................................................... Patch Set 1: Again, how it comes this header is added here and jenkins passed before? explain so in description -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:03:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:04:01 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 15:04:01 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:04:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:04:16 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:04:16 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl In-Reply-To: References: Message-ID: Hello dexter, Vadim Yanitskiy, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13354 to look at the new patch set (#2). Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... trxcon: use helper to add l1ctl_info_dl Use static helpers to add l1ctl_info_dl to msgb - this simplifies l1ctl_* routines and reduce code duplication. Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df --- M src/host/trxcon/l1ctl.c 1 file changed, 18 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/13354/2 -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:04:16 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:04:16 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB In-Reply-To: References: Message-ID: Hello dexter, Vadim Yanitskiy, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13355 to look at the new patch set (#2). Change subject: trxcon: use static helper to prepare FBSB ...................................................................... trxcon: use static helper to prepare FBSB Use static helper to prepare l1ctl_fbsb_conf - this simplifies fbsb-related functions and make difference between timer callback and regular response more obvious. Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 --- M src/host/trxcon/l1ctl.c 1 file changed, 15 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/55/13355/2 -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:04:17 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:04:17 +0000 Subject: Change in osmocom-bb[master]: trxcon: log FBSB timer events Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13364 Change subject: trxcon: log FBSB timer events ...................................................................... trxcon: log FBSB timer events Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 --- M src/host/trxcon/l1ctl.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/64/13364/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index b37082e..6c72b9e 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -295,7 +295,7 @@ if (msg == NULL) return; - LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n"); + LOGP(DL1C, LOGL_NOTICE, "FBSB timer fired for ARFCN %u\n", l1l->trx->band_arfcn &~ ARFCN_FLAG_MASK); dl = put_dl_info_hdr(msg, NULL); @@ -361,6 +361,7 @@ /* Start FBSB expire timer */ l1l->fbsb_timer.data = l1l; l1l->fbsb_timer.cb = fbsb_timer_cb; + LOGP(DL1C, LOGL_INFO, "Starting FBSB timer %uus\n", timeout * FRAME_DURATION_uS); osmo_timer_schedule(&l1l->fbsb_timer, 0, timeout * FRAME_DURATION_uS); -- To view, visit https://gerrit.osmocom.org/13364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 Gerrit-Change-Number: 13364 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:04:17 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 21 Mar 2019 15:04:17 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13365 Change subject: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests ...................................................................... ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests Make the TTNC3 tests pass that were added in Change-Id I3bab7df5caddc5c8b973c81544f954d5473ac234 (osmo-ttcn3-hacks.git). Related: OS#2900 Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931 --- M ttcn3-ggsn-test/osmo-ggsn.cfg 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/65/13365/1 diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 696c3f7..097c968 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -89,11 +89,12 @@ tun-device tun46 type-support v4v6 ip prefix dynamic 176.16.46.0/24 - ip dns 0 192.168.100.1 + ip dns 0 172.18.3.201 ip dns 1 8.8.8.8 ip ifconfig 176.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 ipv6 dns 0 2001:4860:4860::8888 + ipv6 dns 1 2001:4860:4860::8844 ipv6 ifconfig 2001:780:44:2100:0:0:0:0/56 no shutdown default-apn internet -- To view, visit https://gerrit.osmocom.org/13365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931 Gerrit-Change-Number: 13365 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:04:57 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 15:04:57 +0000 Subject: Change in osmocom-bb[master]: trxcon: use bool for fbsb_conf_sent In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13353 ) Change subject: trxcon: use bool for fbsb_conf_sent ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaf50cdd19ac2139ee2d625671410a486edae2999 Gerrit-Change-Number: 13353 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:04:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:05:45 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:05:45 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13354 ) Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c at 141 PS1, Line 141: put_dl_info > Not a merge blocker, but I would prefer 'put_dl_info_hdr'. Done https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c at 143 PS1, Line 143: sizeof(struct l1ctl_info_dl); > When I was writing this, I didn't know that we can do: [?] Interesting. What would be advantage of using pointer instead of type? https://gerrit.osmocom.org/#/c/13354/1/src/host/trxcon/l1ctl.c at 148 PS1, Line 148: Init DL > Do we really compose anything here? Let's just say 'init'. Done -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:05:45 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:06:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:06:07 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13355 ) Change subject: trxcon: use static helper to prepare FBSB ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c at 304 PS1, Line 304: l1l->trx->band_arfcn > This is not an ARFCN itself, but ARFCN + band (and some other flags), so: band_arfcn &~ ARFCN_FLAG_M [?] Done https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c at 367 PS1, Line 367: LOGL_INFO, > This message is more related to LOGL_INFO. Done https://gerrit.osmocom.org/#/c/13355/1/src/host/trxcon/l1ctl.c at 367 PS1, Line 367: LOGP > And please do this in a separate change, as this one states "trxcon: use static helper to prepare FB [?] Done -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:06:07 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:06:14 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 21 Mar 2019 15:06:14 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13365 ) Change subject: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931 Gerrit-Change-Number: 13365 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:06:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:06:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 21 Mar 2019 15:06:33 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13365 ) Change subject: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931 Gerrit-Change-Number: 13365 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:06:33 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:06:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 21 Mar 2019 15:06:35 +0000 Subject: Change in docker-playground[master]: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13365 ) Change subject: ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests ...................................................................... ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests Make the TTNC3 tests pass that were added in Change-Id I3bab7df5caddc5c8b973c81544f954d5473ac234 (osmo-ttcn3-hacks.git). Related: OS#2900 Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931 --- M ttcn3-ggsn-test/osmo-ggsn.cfg 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Pau Espin Pedrol: Looks good to me, approved osmith: Verified diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 696c3f7..097c968 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -89,11 +89,12 @@ tun-device tun46 type-support v4v6 ip prefix dynamic 176.16.46.0/24 - ip dns 0 192.168.100.1 + ip dns 0 172.18.3.201 ip dns 1 8.8.8.8 ip ifconfig 176.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 ipv6 dns 0 2001:4860:4860::8888 + ipv6 dns 1 2001:4860:4860::8844 ipv6 ifconfig 2001:780:44:2100:0:0:0:0/56 no shutdown default-apn internet -- To view, visit https://gerrit.osmocom.org/13365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931 Gerrit-Change-Number: 13365 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:06:58 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:06:58 +0000 Subject: Change in osmocom-bb[master]: trxcon: use bool for fbsb_conf_sent In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13353 ) Change subject: trxcon: use bool for fbsb_conf_sent ...................................................................... trxcon: use bool for fbsb_conf_sent It's only used as a boolean value so let's set proper type for it. Change-Id: Iaf50cdd19ac2139ee2d625671410a486edae2999 --- M src/host/trxcon/l1ctl.c M src/host/trxcon/l1ctl_link.h 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 2f1d720..eb14832 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -168,7 +168,7 @@ conf->initial_freq_err = 0; /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */ - l1l->fbsb_conf_sent = 1; + l1l->fbsb_conf_sent = true; /* Abort FBSB expire timer */ if (osmo_timer_pending(&l1l->fbsb_timer)) @@ -314,7 +314,7 @@ conf->bsic = 0; /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */ - l1l->fbsb_conf_sent = 1; + l1l->fbsb_conf_sent = true; l1ctl_link_send(l1l, msg); } @@ -350,7 +350,7 @@ sched_trx_configure_ts(l1l->trx, 0, ch_config); /* Ask SCH handler to send L1CTL_FBSB_CONF */ - l1l->fbsb_conf_sent = 0; + l1l->fbsb_conf_sent = false; /* Only if current ARFCN differs */ if (l1l->trx->band_arfcn != band_arfcn) { diff --git a/src/host/trxcon/l1ctl_link.h b/src/host/trxcon/l1ctl_link.h index da64419..a333e40 100644 --- a/src/host/trxcon/l1ctl_link.h +++ b/src/host/trxcon/l1ctl_link.h @@ -35,7 +35,7 @@ /* L1CTL handlers specific */ struct osmo_timer_list fbsb_timer; - uint8_t fbsb_conf_sent; + bool fbsb_conf_sent; /* Shutdown callback */ void (*shutdown_cb)(struct l1ctl_link *l1l); -- To view, visit https://gerrit.osmocom.org/13353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iaf50cdd19ac2139ee2d625671410a486edae2999 Gerrit-Change-Number: 13353 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:11:21 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:11:21 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... Patch Set 1: Why not squashing it with initial commit? It looks like a trivial typo. -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:11:21 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:24:18 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 15:24:18 +0000 Subject: Change in pysim[master]: sysmo-usim-sjs1: update EF.AD with correct MNC length Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13366 Change subject: sysmo-usim-sjs1: update EF.AD with correct MNC length ...................................................................... sysmo-usim-sjs1: update EF.AD with correct MNC length At the moment EF.AD, which contains the length of the MNC is not updated. For two digit MNC (the usual case) this is fine since the length is set to 2 by default. However, when one wants to set an MNC with 3 digit length the file must be updated, otherwise the third digit of the MNC is recognized as part of the MSIN. Change-Id: I827092b2c7f7952f54b2d9f8dbda419a0dbfaf65 Related: OS#3850 --- M pySim-read.py M pySim/cards.py 2 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/66/13366/1 diff --git a/pySim-read.py b/pySim-read.py index 4356453..bcdbca6 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -176,5 +176,12 @@ except Exception as e: print "MSISDN: Can't read file -- " + str(e) + # EF.AD + (res, sw) = scc.read_binary(['3f00', '7f20', '6fad']) + if sw == '9000': + print("AD: %s" % (res,)) + else: + print("AD: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print "Done !\n" diff --git a/pySim/cards.py b/pySim/cards.py index 3a5caac..059c954 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -118,6 +118,13 @@ data, sw = self._scc.update_record(EF['SMSP'], 1, rpad(smsp, 84)) return sw + def update_ad(self, mnc): + data = self._scc.read_binary(EF['AD'], length=None, offset=0) + size = len(data[0])/2 + content = data[0][0:6] + "%02X" % len(str(mnc)) + data, sw = self._scc.update_binary(EF['AD'], content) + return sw + def read_spn(self): (spn, sw) = self._scc.read_binary(EF['SPN']) if sw == '9000': @@ -594,6 +601,11 @@ if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) + # EF.AD + if p.get('mcc') and p.get('mnc'): + sw = self.update_ad(p['mnc']) + if sw != '9000': + print("Programming AD failed with code %s"%sw) # EF.SMSP r = self._scc.select_file(['3f00', '7f10']) -- To view, visit https://gerrit.osmocom.org/13366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I827092b2c7f7952f54b2d9f8dbda419a0dbfaf65 Gerrit-Change-Number: 13366 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:43:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:43:38 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13356 ) Change subject: Initial commit for OC-2G support. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:43:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:44:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:44:06 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix TA adjustment In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13358 ) Change subject: OC-2G: Fix TA adjustment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 Gerrit-Change-Number: 13358 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-Comment-Date: Thu, 21 Mar 2019 15:44:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:44:12 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Always use positive TA information provided in PH-RA-IND In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13359 ) Change subject: OC-2G: Always use positive TA information provided in PH-RA-IND ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 Gerrit-Change-Number: 13359 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-Comment-Date: Thu, 21 Mar 2019 15:44:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:44:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:44:31 +0000 Subject: Change in osmo-pcu[master]: Remove custom alarms In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13360 ) Change subject: Remove custom alarms ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:44:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:44:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:44:48 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:44:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:45:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:45:29 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13339 ) Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13339/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13339/1//COMMIT_MSG at 9 PS1, Line 9: The hexadecimal tag defintions of pytlv are cas sensitive strings. So e -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:45:29 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:45:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:45:51 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13340 ) Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:45:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:46:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:46:20 +0000 Subject: Change in pysim[master]: sysmo-usim-sjs1: update EF.AD with correct MNC length In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13366 ) Change subject: sysmo-usim-sjs1: update EF.AD with correct MNC length ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I827092b2c7f7952f54b2d9f8dbda419a0dbfaf65 Gerrit-Change-Number: 13366 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 15:46:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:48:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:48:19 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13354 ) Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:48:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:48:33 +0000 Subject: Change in osmocom-bb[master]: trxcon: log FBSB timer events In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13364 ) Change subject: trxcon: log FBSB timer events ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 Gerrit-Change-Number: 13364 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:48:33 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:48:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:48:50 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13355 ) Change subject: trxcon: use static helper to prepare FBSB ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:48:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:49:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:49:46 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:49:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:51:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:51:58 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13363 ) Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... Patch Set 1: Code-Review+1 does this depend on a certain change-id in osmo-pcu? then please add it here to the commitlog -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-CC: Daniel Willmann Gerrit-Comment-Date: Thu, 21 Mar 2019 15:51:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:52:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:52:19 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:52:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:52:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:52:24 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 15:52:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:52:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:52:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13351 ) Change subject: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I76049e6717680c54c18f97b7cd51944901a81ae7 Gerrit-Change-Number: 13351 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 15:52:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:53:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:53:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_eps In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13352 ) Change subject: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_eps ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63ebc32ae457dd74214d4abee4f511cde28de4a7 Gerrit-Change-Number: 13352 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 15:53:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:54:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:54:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13350 ) Change subject: bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I087e6715364f72944cb47fa64d96eab6538afda5 Gerrit-Change-Number: 13350 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 15:54:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:54:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:54:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use PCU-related test cases as version string In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13305 ) Change subject: BTS: use PCU-related test cases as version string ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 Gerrit-Change-Number: 13305 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:54:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:54:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:54:58 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13349 ) Change subject: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a Gerrit-Change-Number: 13349 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:54:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:54:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:54:59 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13349 ) Change subject: ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg ...................................................................... ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg Currently no EARFCN is set in osmo-bsc.cfg. This setting is required for TC_chan_rel_hard_clear_csfb to function Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a Related: OS#3852 --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved; Verified Max: Looks good to me, but someone else must approve diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 742c2b6..783563a 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -134,6 +134,7 @@ gprs nsvc 1 remote udp port 0 gprs nsvc 1 remote ip 0.0.0.0 no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 trx 0 rf_locked 0 arfcn 871 @@ -224,6 +225,7 @@ gprs nsvc 1 remote udp port 0 gprs nsvc 1 remote ip 0.0.0.0 no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 trx 0 rf_locked 0 arfcn 871 @@ -314,6 +316,7 @@ gprs nsvc 1 remote udp port 0 gprs nsvc 1 remote ip 0.0.0.0 no force-combined-si + si2quater neighbor-list add earfcn 111 thresh-hi 20 thresh-lo 10 prio 3 qrxlv 22 meas 3 trx 0 rf_locked 0 arfcn 871 -- To view, visit https://gerrit.osmocom.org/13349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a Gerrit-Change-Number: 13349 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:56:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:56:08 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to FATAL In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to FATAL ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:56:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:57:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:57:13 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_sockaddr_str API ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 8 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 15:57:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:58:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:58:40 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13319 ) Change subject: a_iface_bssap: add context information to log output ...................................................................... Patch Set 2: agreeing with max -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:58:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:59:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:59:20 +0000 Subject: Change in osmocom-bb[master]: trxcon: log FBSB timer events In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13364 to look at the new patch set (#2). Change subject: trxcon: log FBSB timer events ...................................................................... trxcon: log FBSB timer events Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 --- M src/host/trxcon/l1ctl.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/64/13364/2 -- To view, visit https://gerrit.osmocom.org/13364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 Gerrit-Change-Number: 13364 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:59:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 15:59:20 +0000 Subject: Change in osmocom-bb[master]: trxcon: update trx_udp_open() Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13367 Change subject: trxcon: update trx_udp_open() ...................................................................... trxcon: update trx_udp_open() * explicitly log created socket type (ctrl vs data) * log local/remote ip/port * log detailed per-socket error in case of failure * internalize callback and osmo_fd selection based on socket type Change-Id: I33b01879f6ea468941e5dab5b46492be8fe5730d --- M src/host/trxcon/trx_if.c 1 file changed, 25 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/67/13367/1 diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 4c10da6..9b7a5d6 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -83,23 +83,6 @@ .event_names = trx_evt_names, }; -static int trx_udp_open(void *priv, struct osmo_fd *ofd, const char *host_local, - uint16_t port_local, const char *host_remote, uint16_t port_remote, - int (*cb)(struct osmo_fd *fd, unsigned int what)) -{ - int rc; - - ofd->data = priv; - ofd->fd = -1; - ofd->cb = cb; - - /* Init UDP Connection */ - rc = osmo_sock_init2_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, 0, host_local, port_local, - host_remote, port_remote, - OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); - return rc; -} - static void trx_udp_close(struct osmo_fd *ofd) { if (ofd->fd > 0) { @@ -626,6 +609,29 @@ return 0; } +static int trx_udp_open(struct trx_instance *trx, bool is_ctrl, const char *host_local, + uint16_t port_local, const char *host_remote, uint16_t port_remote) +{ + int rc; + struct osmo_fd *ofd = is_ctrl ? &trx->trx_ofd_ctrl : &trx->trx_ofd_data; + + ofd->data = trx; + ofd->fd = -1; + ofd->cb = is_ctrl ? trx_ctrl_read_cb : trx_data_rx_cb; + + /* Init UDP Connection */ + rc = osmo_sock_init2_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, 0, host_local, port_local, + host_remote, port_remote, + OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); + if (rc < 0) + LOGP(DTRX, LOGL_ERROR, "Failed to prepare %s UDP socket r=%s:%u<->l=%s:%u\n", + is_ctrl ? "CTRL" : "DATA", host_remote, port_remote, host_local, port_local); + else + LOGP(DTRX, LOGL_NOTICE, "%s UDP socket %s ready\n", is_ctrl ? "CTRL" : "DATA", osmo_sock_get_name2(rc)); + + return rc; +} + /* Init TRX interface (TRXC, TRXD sockets and FSM) */ struct trx_instance *trx_if_open(void *tall_ctx, const char *local_host, const char *remote_host, @@ -658,20 +664,17 @@ INIT_LLIST_HEAD(&trx->trx_ctrl_list); /* Open sockets */ - rc = trx_udp_open(trx, &trx->trx_ofd_ctrl, local_host, - base_port + 101, remote_host, base_port + 1, trx_ctrl_read_cb); + rc = trx_udp_open(trx, true, local_host, base_port + 101, remote_host, base_port + 1); if (rc < 0) goto udp_error; - rc = trx_udp_open(trx, &trx->trx_ofd_data, local_host, - base_port + 102, remote_host, base_port + 2, trx_data_rx_cb); + rc = trx_udp_open(trx, false, local_host, base_port + 102, remote_host, base_port + 2); if (rc < 0) goto udp_error; return trx; udp_error: - LOGP(DTRX, LOGL_ERROR, "Couldn't establish UDP connection\n"); osmo_fsm_inst_free(trx->fsm); talloc_free(trx); return NULL; -- To view, visit https://gerrit.osmocom.org/13367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I33b01879f6ea468941e5dab5b46492be8fe5730d Gerrit-Change-Number: 13367 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 15:59:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 15:59:35 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13319 ) Change subject: a_iface_bssap: add context information to log output ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/13319/2/src/libmsc/a_iface_bssap.c File src/libmsc/a_iface_bssap.c: https://gerrit.osmocom.org/#/c/13319/2/src/libmsc/a_iface_bssap.c at 167 PS2, Line 167: /* Confirm that we managed to get the reset ack message > That seems redundant: it'll be printed as part of the prefix anyway. the point here was that the %s / osmo_sccp_addr_name() is redundant. Not the enitre log line. So please keep the log line, but remove the %s + osmo_sccp_addr_name from it. -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 15:59:35 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:00:04 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:00:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use PCU-related test cases as version string In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13305 ) Change subject: BTS: use PCU-related test cases as version string ...................................................................... BTS: use PCU-related test cases as version string When running PCU-related tests against BTS use name of the test as a PCU version string sent from TTCN-3 code. This makes it easier to separate OsmoBTS log output related to different test cases. Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 18 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 86d43fe..e617323 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2723,33 +2723,43 @@ } } +private function f_init_pcu_test() runs on test_CT { + f_init(); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); +} + /* PDCH activation via PCU socket; check for presence of RTS.req */ testcase TC_pcu_act_req() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 7, true); } /* PDCH activation via PCU socket on non-PDCU timeslot */ testcase TC_pcu_act_req_wrong_ts() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 1, false); } /* PDCH activation via PCU socket on wrong BTS */ testcase TC_pcu_act_req_wrong_bts() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(23, 0, 7, false); } /* PDCH activation via PCU socket on wrong TRX */ testcase TC_pcu_act_req_wrong_trx() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 23, 7, false); } /* PDCH deactivation via PCU socket; check for absence of RTS.req */ testcase TC_pcu_deact_req() runs on test_CT { - f_init(); + f_init_pcu_test(); + /* Activate PDCH */ f_TC_pcu_act_req(0, 0, 7, true); f_sleep(1.0); @@ -2759,7 +2769,8 @@ /* Attempt to deactivate a PDCH on a non-PDCH timeslot */ testcase TC_pcu_deact_req_wrong_ts() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_deact_req(0, 0, 1); } @@ -2768,11 +2779,11 @@ const octetstring si13 := '00010203040506070909'O; var PCUIF_send_data sd; timer T:= 3.0; - f_init(); + f_init_pcu_test(); /* Set SI13 via RSL */ f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, si13); - PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "BTS_Test v23"))); + T.start; alt { [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_DATA_IND(0, 0, 0, ?, PCU_IF_SAPI_BCCH))) -> value sd { @@ -2824,7 +2835,8 @@ /* Send DATA.req on invalid BTS */ testcase TC_pcu_data_req_wrong_bts() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(23, 0, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ @@ -2833,7 +2845,8 @@ /* Send DATA.req on invalid TRX */ testcase TC_pcu_data_req_wrong_trx() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(0, 100, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ @@ -2842,7 +2855,8 @@ /* Send DATA.req on invalid timeslot */ testcase TC_pcu_data_req_wrong_ts() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_data_req(0, 0, 70, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ @@ -2851,14 +2865,16 @@ /* Send DATA.req on timeslot that hasn't been activated */ testcase TC_pcu_data_req_ts_inactive() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_pcu_data_req(0, 0, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */ f_sleep(2.0); } testcase TC_pcu_data_req_pdtch() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PDTCH, c_PCU_DATA); /* FIXME: how to check this was actually sent */ @@ -2866,7 +2882,8 @@ } testcase TC_pcu_data_req_ptcch() runs on test_CT { - f_init(); + f_init_pcu_test(); + f_TC_pcu_act_req(0, 0, 7, true); f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PTCCH, c_PCU_DATA); /* FIXME: how to check this was actually sent */ @@ -2876,7 +2893,7 @@ /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_agch() runs on test_CT { timer T := 3.0; - f_init(); + f_init_pcu_test(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -2898,7 +2915,7 @@ /* Send IMM.ASS from PCU for PCH; check it appears on Um side */ testcase TC_pcu_data_req_imm_ass_pch() runs on test_CT { var octetstring imm_ass := f_rnd_octstring(23); - f_init(); + f_init_pcu_test(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -2921,7 +2938,7 @@ /* Send RACH from Um side, expect it to show up on PCU socket */ testcase TC_pcu_rach_content() runs on test_CT { - f_init(); + f_init_pcu_test(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -2962,7 +2979,7 @@ /* Send PAGING via RSL, expect it to shw up on PCU socket */ testcase TC_pcu_paging_from_rsl() runs on test_CT { - f_init(); + f_init_pcu_test(); for (var integer i := 0; i < 100; i := i+1) { var MobileL3_CommonIE_Types.MobileIdentityLV mi; -- To view, visit https://gerrit.osmocom.org/13305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 Gerrit-Change-Number: 13305 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:00:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:00:10 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: check bssmap length field In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13307 ) Change subject: a_iface_bssap: check bssmap length field ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b89dd5a66ec83b03860b58b6b8eb58007f433a4 Gerrit-Change-Number: 13307 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 16:00:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:00:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:00:19 +0000 Subject: Change in osmo-sysmon[master]: debian: Add missing libmnl-dev dependency In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13343 ) Change subject: debian: Add missing libmnl-dev dependency ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1157b1f0edabac16d664c2d4ad2250d3802dcc60 Gerrit-Change-Number: 13343 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 16:00:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:00:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:00:21 +0000 Subject: Change in osmo-sysmon[master]: debian: Add missing libmnl-dev dependency In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13343 ) Change subject: debian: Add missing libmnl-dev dependency ...................................................................... debian: Add missing libmnl-dev dependency Change-Id: I1157b1f0edabac16d664c2d4ad2250d3802dcc60 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/debian/control b/debian/control index 651ecce..9439c3b 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,7 @@ libtool, pkg-config, libtalloc-dev, + libmnl-dev, liboping-dev (>= 1.9.0), libosmocore-dev (>= 1.0.1), libosmo-netif-dev (>= 0.4.0), -- To view, visit https://gerrit.osmocom.org/13343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1157b1f0edabac16d664c2d4ad2250d3802dcc60 Gerrit-Change-Number: 13343 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:00:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:00:32 +0000 Subject: Change in osmo-sysmon[master]: Depend on liboping 1.7.0 instead of 1.9.0 In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13344 ) Change subject: Depend on liboping 1.7.0 instead of 1.9.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idba4494102d48d125bcd215dd0d3fdf42bbd409e Gerrit-Change-Number: 13344 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 16:00:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:00:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:00:33 +0000 Subject: Change in osmo-sysmon[master]: Depend on liboping 1.7.0 instead of 1.9.0 In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13344 ) Change subject: Depend on liboping 1.7.0 instead of 1.9.0 ...................................................................... Depend on liboping 1.7.0 instead of 1.9.0 Debian8 provides 1.7.0. Let's depend on it so we can build packages for debian8. Change-Id: Idba4494102d48d125bcd215dd0d3fdf42bbd409e --- M configure.ac M debian/control 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 44a040c..5242b6a 100644 --- a/configure.ac +++ b/configure.ac @@ -45,7 +45,8 @@ PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.4.0) PKG_CHECK_MODULES(LIBMNL, libmnl) dnl FIXME: bump to 1.10.0 once it's available on build slaves and remove workaround from osysmon_ping.c -PKG_CHECK_MODULES(LIBOPING, liboping >= 1.9.0) +dnl FIXME: debian8 provides 1.7.0, debian9 provides 1.9.0 +PKG_CHECK_MODULES(LIBOPING, liboping >= 1.7.0) dnl checks for header files AC_HEADER_STDC diff --git a/debian/control b/debian/control index 9439c3b..fc8aed7 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ pkg-config, libtalloc-dev, libmnl-dev, - liboping-dev (>= 1.9.0), + liboping-dev (>= 1.7.0), libosmocore-dev (>= 1.0.1), libosmo-netif-dev (>= 0.4.0), Standards-Version: 3.9.8 -- To view, visit https://gerrit.osmocom.org/13344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idba4494102d48d125bcd215dd0d3fdf42bbd409e Gerrit-Change-Number: 13344 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:01:18 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssmap length field In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13306 ) Change subject: osmo_bsc_bssap: check bssmap length field ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 21 Mar 2019 16:01:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:21 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:01:21 +0000 Subject: Change in osmo-pcu[master]: MCS: move HeaderType enum outside of class definition In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13067 ) Change subject: MCS: move HeaderType enum outside of class definition ...................................................................... MCS: move HeaderType enum outside of class definition Move functions which compute number of blocks or bits depending on header type and corresponding enum outside of GprsCodingScheme class. This will allows us to use standard libosmocore value_sting functions in upcoming patches for IA Rest Octet encoding/decoding. Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f --- M debian/copyright M src/Makefile.am A src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/encoding.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/rlc.cpp M src/tbf_dl.cpp M tests/edge/EdgeTest.cpp 12 files changed, 126 insertions(+), 92 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/debian/copyright b/debian/copyright index 2e800a7..0069d0c 100644 --- a/debian/copyright +++ b/debian/copyright @@ -15,6 +15,7 @@ src/gprs_ms.h src/gprs_coding_scheme.cpp src/gprs_coding_scheme.h + src/coding_scheme.c src/coding_scheme.h src/cxx_linuxlist.h src/pcu_vty_functions.cpp diff --git a/src/Makefile.am b/src/Makefile.am index eb4a2bb..51b047e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -63,6 +63,7 @@ rlc.cpp \ osmobts_sock.cpp \ gprs_codel.c \ + coding_scheme.c \ gprs_coding_scheme.cpp \ egprs_rlc_compression.cpp diff --git a/src/coding_scheme.c b/src/coding_scheme.c new file mode 100644 index 0000000..a6f2905 --- /dev/null +++ b/src/coding_scheme.c @@ -0,0 +1,65 @@ +/* coding_scheme.c + * + * Copyright (C) 2019 by sysmocom s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include + +#include + +#include "coding_scheme.h" + +static struct { + struct { + uint8_t data_header_bits; + } uplink, downlink; + uint8_t data_block_header_bits; + uint8_t num_blocks; + const char *name; +} hdr_type_info[NUM_HEADER_TYPES] = { + { { 0 }, { 0 }, 0, 0, "INVALID" }, + { { 1 * 8 + 0 }, { 1 * 8 + 0 }, 0, 0, "CONTROL" }, + { { 3 * 8 + 0 }, { 3 * 8 + 0 }, 0, 1, "GPRS_DATA" }, + { { 5 * 8 + 6 }, { 5 * 8 + 0 }, 2, 2, "EGPRS_DATA_TYPE1" }, + { { 4 * 8 + 5 }, { 3 * 8 + 4 }, 2, 1, "EGPRS_DATA_TYPE2" }, + { { 3 * 8 + 7 }, { 3 * 8 + 7 }, 2, 1, "EGPRS_DATA_TYPE3" }, +}; + +uint8_t num_data_blocks(enum HeaderType ht) +{ + OSMO_ASSERT(ht < NUM_HEADER_TYPES); + return hdr_type_info[ht].num_blocks; +} + +uint8_t num_data_header_bits_UL(enum HeaderType ht) +{ + OSMO_ASSERT(ht < NUM_HEADER_TYPES); + return hdr_type_info[ht].uplink.data_header_bits; +} + +uint8_t num_data_header_bits_DL(enum HeaderType ht) +{ + OSMO_ASSERT(ht < NUM_HEADER_TYPES); + return hdr_type_info[ht].downlink.data_header_bits; +} + +uint8_t num_data_block_header_bits(enum HeaderType ht) +{ + OSMO_ASSERT(ht < NUM_HEADER_TYPES); + return hdr_type_info[ht].data_block_header_bits; +} diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 3705ea4..b0b85e3 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -27,3 +27,20 @@ MCS1, MCS2, MCS3, MCS4, MCS5, MCS6, MCS7, MCS8, MCS9, NUM_SCHEMES }; + +enum HeaderType { + HEADER_INVALID, + HEADER_GPRS_CONTROL, + HEADER_GPRS_DATA, + HEADER_EGPRS_DATA_TYPE_1, + HEADER_EGPRS_DATA_TYPE_2, + HEADER_EGPRS_DATA_TYPE_3, + NUM_HEADER_TYPES +}; + +enum HeaderType headerTypeData(enum CodingScheme mcs); + +uint8_t num_data_blocks(enum HeaderType ht); +uint8_t num_data_header_bits_UL(enum HeaderType ht); +uint8_t num_data_header_bits_DL(enum HeaderType ht); +uint8_t num_data_block_header_bits(enum HeaderType ht); diff --git a/src/decoding.cpp b/src/decoding.cpp index 0dbb10a..3410291 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -355,16 +355,16 @@ { unsigned int cur_bit = 0; switch(cs.headerTypeData()) { - case GprsCodingScheme::HEADER_GPRS_DATA : + case HEADER_GPRS_DATA : cur_bit = rlc_parse_ul_data_header_gprs(rlc, data, cs); break; - case GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3 : + case HEADER_EGPRS_DATA_TYPE_3 : cur_bit = rlc_parse_ul_data_header_egprs_type_3(rlc, data, cs); break; - case GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2 : + case HEADER_EGPRS_DATA_TYPE_2 : cur_bit = rlc_parse_ul_data_header_egprs_type_2(rlc, data, cs); break; - case GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1 : + case HEADER_EGPRS_DATA_TYPE_1 : cur_bit = rlc_parse_ul_data_header_egprs_type_1(rlc, data, cs); break; default: diff --git a/src/encoding.cpp b/src/encoding.cpp index 019de52..58df95f 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1118,7 +1118,7 @@ unsigned int bsn_delta; switch(cs.headerTypeData()) { - case GprsCodingScheme::HEADER_GPRS_DATA: + case HEADER_GPRS_DATA: gprs = static_cast ((void *)data); @@ -1134,7 +1134,7 @@ gprs->bsn = rlc->block_info[0].bsn; break; - case GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1: + case HEADER_EGPRS_DATA_TYPE_1: egprs1 = static_cast ((void *)data); @@ -1173,7 +1173,7 @@ data[offs] = (data[offs] & 0b11110011) | e_fbi_header; break; - case GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2: + case HEADER_EGPRS_DATA_TYPE_2: egprs2 = static_cast ((void *)data); @@ -1197,7 +1197,7 @@ data[offs] = (data[offs] & 0b11001111) | e_fbi_header; break; - case GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3: + case HEADER_EGPRS_DATA_TYPE_3: egprs3 = static_cast ((void *)data); diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index f63fac3..7ac5ab1 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -26,6 +26,7 @@ #include #include #include +#include "coding_scheme.h" #define BSSGP_TIMER_T1 30 /* Guards the (un)blocking procedures */ #define BSSGP_TIMER_T2 30 /* Guards the reset procedure */ @@ -607,7 +608,7 @@ static uint32_t gprs_bssgp_max_leak_rate(GprsCodingScheme cs, int num_pdch) { - int bytes_per_rlc_block = cs.maxDataBlockBytes() * cs.numDataBlocks(); + int bytes_per_rlc_block = cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()); /* n byte payload per 20ms */ return bytes_per_rlc_block * (1000 / 20) * num_pdch; diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index c0955d3..0616a49 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -82,55 +82,39 @@ uint8_t data_bytes; uint8_t optional_padding_bits; const char *name; - GprsCodingScheme::HeaderType data_hdr; + enum HeaderType data_hdr; enum Family family; } mcs_info[NUM_SCHEMES] = { {{0, 0}, {0, 0}, 0, 0, "UNKNOWN", - GprsCodingScheme::HEADER_INVALID, FAMILY_INVALID}, + HEADER_INVALID, FAMILY_INVALID}, {{23, 0}, {23, 0}, 20, 0, "CS-1", - GprsCodingScheme::HEADER_GPRS_DATA, FAMILY_INVALID}, + HEADER_GPRS_DATA, FAMILY_INVALID}, {{33, 7}, {33, 7}, 30, 0, "CS-2", - GprsCodingScheme::HEADER_GPRS_DATA, FAMILY_INVALID}, + HEADER_GPRS_DATA, FAMILY_INVALID}, {{39, 3}, {39, 3}, 36, 0, "CS-3", - GprsCodingScheme::HEADER_GPRS_DATA, FAMILY_INVALID}, + HEADER_GPRS_DATA, FAMILY_INVALID}, {{53, 7}, {53, 7}, 50, 0, "CS-4", - GprsCodingScheme::HEADER_GPRS_DATA, FAMILY_INVALID}, + HEADER_GPRS_DATA, FAMILY_INVALID}, {{26, 1}, {26, 1}, 22, 0, "MCS-1", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, {{32, 1}, {32, 1}, 28, 0, "MCS-2", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, {{41, 1}, {41, 1}, 37, 48, "MCS-3", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, {{48, 1}, {48, 1}, 44, 0, "MCS-4", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, {{60, 7}, {59, 6}, 56, 0, "MCS-5", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, + HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, {{78, 7}, {77, 6}, 74, 48, "MCS-6", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, + HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, {{118, 2}, {117, 4}, 56, 0, "MCS-7", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, {{142, 2}, {141, 4}, 68, 0, "MCS-8", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, {{154, 2}, {153, 4}, 74, 0, "MCS-9", - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, -}; - -static struct { - struct { - uint8_t data_header_bits; - } uplink, downlink; - uint8_t data_block_header_bits; - uint8_t num_blocks; - const char *name; -} hdr_type_info[GprsCodingScheme::NUM_HEADER_TYPES] = { - {{0}, {0}, 0, 0, "INVALID"}, - {{1*8 + 0}, {1*8 + 0}, 0, 0, "CONTROL"}, - {{3*8 + 0}, {3*8 + 0}, 0, 1, "GPRS_DATA"}, - {{5*8 + 6}, {5*8 + 0}, 2, 2, "EGPRS_DATA_TYPE1"}, - {{4*8 + 5}, {3*8 + 4}, 2, 1, "EGPRS_DATA_TYPE2"}, - {{3*8 + 7}, {3*8 + 7}, 2, 1, "EGPRS_DATA_TYPE3"}, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, }; GprsCodingScheme GprsCodingScheme::getBySizeUL(unsigned size) @@ -210,32 +194,12 @@ return mcs_info[m_scheme].optional_padding_bits; } -uint8_t GprsCodingScheme::numDataBlocks() const -{ - return hdr_type_info[headerTypeData()].num_blocks; -} - -uint8_t GprsCodingScheme::numDataHeaderBitsUL() const -{ - return hdr_type_info[headerTypeData()].uplink.data_header_bits; -} - -uint8_t GprsCodingScheme::numDataHeaderBitsDL() const -{ - return hdr_type_info[headerTypeData()].downlink.data_header_bits; -} - -uint8_t GprsCodingScheme::numDataBlockHeaderBits() const -{ - return hdr_type_info[headerTypeData()].data_block_header_bits; -} - const char *GprsCodingScheme::name() const { return mcs_info[m_scheme].name; } -GprsCodingScheme::HeaderType GprsCodingScheme::headerTypeData() const +enum HeaderType GprsCodingScheme::headerTypeData() const { return mcs_info[m_scheme].data_hdr; } diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 80f8502..56ee002 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -40,16 +40,6 @@ EGPRS, }; - enum HeaderType { - HEADER_INVALID, - HEADER_GPRS_CONTROL, - HEADER_GPRS_DATA, - HEADER_EGPRS_DATA_TYPE_1, - HEADER_EGPRS_DATA_TYPE_2, - HEADER_EGPRS_DATA_TYPE_3, - NUM_HEADER_TYPES - }; - GprsCodingScheme(CodingScheme s = UNKNOWN); operator bool() const {return m_scheme != UNKNOWN;} @@ -83,13 +73,9 @@ uint8_t spareBitsUL() const; uint8_t spareBitsDL() const; uint8_t maxDataBlockBytes() const; - uint8_t numDataBlocks() const; - uint8_t numDataHeaderBitsUL() const; - uint8_t numDataHeaderBitsDL() const; - uint8_t numDataBlockHeaderBits() const; uint8_t optionalPaddingBits() const; const char *name() const; - HeaderType headerTypeData() const; + enum HeaderType headerTypeData() const; static GprsCodingScheme getBySizeUL(unsigned size); static GprsCodingScheme getGprsByNum(unsigned num); diff --git a/src/rlc.cpp b/src/rlc.cpp index 323fde4..e5067c9 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -336,7 +336,7 @@ rlc->es_p = 0; rlc->rrbp = 0; rlc->pr = 0; - rlc->num_data_blocks = cs.numDataBlocks(); + rlc->num_data_blocks = num_data_blocks(cs.headerTypeData()); rlc->with_padding = with_padding; OSMO_ASSERT(rlc->num_data_blocks <= ARRAY_SIZE(rlc->block_info)); @@ -347,7 +347,7 @@ rlc->data_offs_bits[i] = header_bits + padding_bits + - (i+1) * cs.numDataBlockHeaderBits() + + (i+1) * num_data_block_header_bits(cs.headerTypeData()) + i * 8 * rlc->block_info[0].data_len; } } @@ -356,7 +356,7 @@ GprsCodingScheme cs, bool with_padding, const unsigned int spb) { return gprs_rlc_data_header_init(rlc, cs, with_padding, - cs.numDataHeaderBitsDL(), spb); + num_data_header_bits_DL(cs.headerTypeData()), spb); } void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, @@ -367,7 +367,7 @@ * for both DL and UL */ return gprs_rlc_data_header_init(rlc, cs, with_padding, - cs.numDataHeaderBitsUL(), 0); + num_data_header_bits_UL(cs.headerTypeData()), 0); } void gprs_rlc_data_block_info_init(struct gprs_rlc_data_block_info *rdbi, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 7b0052f..2f4781c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -457,7 +457,7 @@ bts->rlc_resent(); } - *may_combine = m_rlc.block(bsn)->cs_current_trans.numDataBlocks() > 1; + *may_combine = num_data_blocks(m_rlc.block(bsn)->cs_current_trans.headerTypeData()) > 1; return bsn; } @@ -1259,7 +1259,7 @@ * MCS4: second segment starts at 44/2 = 22 */ if (cs_current_trans.headerTypeData() == - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3) { + HEADER_EGPRS_DATA_TYPE_3) { if (*block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { switch (CodingScheme(cs_init)) { case MCS6 : @@ -1287,9 +1287,9 @@ } return EGPRS_RESEG_SECOND_SEG_SENT; } else if ((cs_init.headerTypeData() == - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1) || + HEADER_EGPRS_DATA_TYPE_1) || (cs_init.headerTypeData() == - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2)) { + HEADER_EGPRS_DATA_TYPE_2)) { return EGPRS_RESEG_FIRST_SEG_SENT; } else if ((CodingScheme(cs_init) == MCS4) && @@ -1327,7 +1327,7 @@ /* Table 10.4.8b.1 of 44.060 */ if (cs_current_trans.headerTypeData() == - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3) { + HEADER_EGPRS_DATA_TYPE_3) { /* * if we are sending the second segment the spb should be 3 * other wise it should be 2 @@ -1338,9 +1338,9 @@ bts->spb_downlink_second_segment(); return EGPRS_RLCMAC_DL_SEC_SEG; } else if ((cs_init.headerTypeData() == - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_1) || + HEADER_EGPRS_DATA_TYPE_1) || (cs_init.headerTypeData() == - GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2)) { + HEADER_EGPRS_DATA_TYPE_2)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; } else if ((CodingScheme(cs_init) == diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 9db90ca..23abada 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -71,8 +71,8 @@ OSMO_ASSERT(expected_size == cs.sizeDL()); /* Check data block sizes */ - OSMO_ASSERT(cs.maxDataBlockBytes() * cs.numDataBlocks() < cs.maxBytesDL()); - OSMO_ASSERT(cs.maxDataBlockBytes() * cs.numDataBlocks() < cs.maxBytesUL()); + OSMO_ASSERT(cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()) < cs.maxBytesDL()); + OSMO_ASSERT(cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()) < cs.maxBytesUL()); /* Check inc/dec */ new_cs = cs; @@ -168,8 +168,7 @@ last_size_DL = current_cs.maxBytesDL(); /* Check header types */ - OSMO_ASSERT(current_cs.headerTypeData() == - GprsCodingScheme::HEADER_GPRS_DATA); + OSMO_ASSERT(current_cs.headerTypeData() == HEADER_GPRS_DATA); check_coding_scheme(current_cs, GprsCodingScheme::GPRS); } @@ -1099,7 +1098,7 @@ test_block[cs.maxDataBlockBytes()-1] = pattern ^ 0xff; for (block_idx = 0; - block_idx < cs.numDataBlocks(); + block_idx < num_data_blocks(cs.headerTypeData()); block_idx++) { struct gprs_rlc_data_info rlc; -- To view, visit https://gerrit.osmocom.org/13067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f Gerrit-Change-Number: 13067 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:22 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:01:22 +0000 Subject: Change in osmo-pcu[master]: MCS: use value_string for conversion In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13069 ) Change subject: MCS: use value_string for conversion ...................................................................... MCS: use value_string for conversion Change-Id: I212ebb892ab162821633974d5a6c7e315d308370 --- M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/encoding.cpp M src/gprs_bssgp_pcu.cpp M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp 13 files changed, 84 insertions(+), 54 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/coding_scheme.c b/src/coding_scheme.c index a6f2905..93278e7 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -24,6 +24,28 @@ #include "coding_scheme.h" +const struct value_string mcs_names[] = { + { UNKNOWN, "UNKNOWN" }, + { CS1, "CS-1" }, + { CS2, "CS-2" }, + { CS3, "CS-3" }, + { CS4, "CS-4" }, + { MCS1, "MCS-1" }, + { MCS2, "MCS-2" }, + { MCS3, "MCS-3" }, + { MCS4, "MCS-4" }, + { MCS5, "MCS-5" }, + { MCS6, "MCS-6" }, + { MCS7, "MCS-7" }, + { MCS8, "MCS-8" }, + { MCS9, "MCS-9" }, + { 0, NULL } +}; + +const char *mcs_name(enum CodingScheme val) { + return get_value_string(mcs_names, val); +} + static struct { struct { uint8_t data_header_bits; diff --git a/src/coding_scheme.h b/src/coding_scheme.h index b0b85e3..1e8ca78 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -19,6 +19,8 @@ #pragma once +#include + enum CodingScheme { UNKNOWN, /* GPRS Coding Schemes: */ @@ -28,6 +30,9 @@ NUM_SCHEMES }; +extern const struct value_string mcs_names[]; +const char *mcs_name(enum CodingScheme val); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, diff --git a/src/decoding.cpp b/src/decoding.cpp index 3410291..1473ff7 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -370,7 +370,7 @@ default: LOGP(DRLCMACDL, LOGL_ERROR, "Decoding of uplink %s data blocks not yet supported.\n", - cs.name()); + mcs_name(cs)); return -ENOTSUP; }; diff --git a/src/encoding.cpp b/src/encoding.cpp index 58df95f..ad53b0b 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1227,7 +1227,7 @@ default: LOGP(DRLCMACDL, LOGL_ERROR, "Encoding of uplink %s data blocks not yet supported.\n", - cs.name()); + mcs_name(cs)); return -ENOTSUP; }; @@ -1616,7 +1616,7 @@ count_payload); LOGP(DRLCMACDL, LOGL_ERROR, "%s data block encoding not implemented\n", - cs.name()); + mcs_name(cs)); return AR_NEED_MORE_BLOCKS; } diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 7ac5ab1..9d02df6 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -26,7 +26,11 @@ #include #include #include -#include "coding_scheme.h" + +extern "C" { + #include + #include "coding_scheme.h" +} #define BSSGP_TIMER_T1 30 /* Guards the (un)blocking procedures */ #define BSSGP_TIMER_T2 30 /* Guards the reset procedure */ @@ -775,7 +779,7 @@ LOGP(DBSSGP, LOGL_DEBUG, "Computed BVC leak rate = %d, num_pdch = %d, cs = %s\n", - leak_rate, num_pdch, max_cs_dl.name()); + leak_rate, num_pdch, mcs_name(max_cs_dl)); }; if (ms_leak_rate == 0) { @@ -799,7 +803,7 @@ LOGP(DBSSGP, LOGL_DEBUG, "Computed MS default leak rate = %d, ms_num_pdch = %d, " "cs = %s\n", - ms_leak_rate, ms_num_pdch, max_cs_dl.name()); + ms_leak_rate, ms_num_pdch, mcs_name(max_cs_dl)); }; /* TODO: Force leak_rate to 0 on buffer bloat */ diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index 0616a49..53b3b07 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -81,39 +81,38 @@ } uplink, downlink; uint8_t data_bytes; uint8_t optional_padding_bits; - const char *name; enum HeaderType data_hdr; enum Family family; } mcs_info[NUM_SCHEMES] = { - {{0, 0}, {0, 0}, 0, 0, "UNKNOWN", + {{0, 0}, {0, 0}, 0, 0, HEADER_INVALID, FAMILY_INVALID}, - {{23, 0}, {23, 0}, 20, 0, "CS-1", + {{23, 0}, {23, 0}, 20, 0, HEADER_GPRS_DATA, FAMILY_INVALID}, - {{33, 7}, {33, 7}, 30, 0, "CS-2", + {{33, 7}, {33, 7}, 30, 0, HEADER_GPRS_DATA, FAMILY_INVALID}, - {{39, 3}, {39, 3}, 36, 0, "CS-3", + {{39, 3}, {39, 3}, 36, 0, HEADER_GPRS_DATA, FAMILY_INVALID}, - {{53, 7}, {53, 7}, 50, 0, "CS-4", + {{53, 7}, {53, 7}, 50, 0, HEADER_GPRS_DATA, FAMILY_INVALID}, - {{26, 1}, {26, 1}, 22, 0, "MCS-1", + {{26, 1}, {26, 1}, 22, 0, HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, - {{32, 1}, {32, 1}, 28, 0, "MCS-2", + {{32, 1}, {32, 1}, 28, 0, HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, - {{41, 1}, {41, 1}, 37, 48, "MCS-3", + {{41, 1}, {41, 1}, 37, 48, HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, - {{48, 1}, {48, 1}, 44, 0, "MCS-4", + {{48, 1}, {48, 1}, 44, 0, HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, - {{60, 7}, {59, 6}, 56, 0, "MCS-5", + {{60, 7}, {59, 6}, 56, 0, HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, - {{78, 7}, {77, 6}, 74, 48, "MCS-6", + {{78, 7}, {77, 6}, 74, 48, HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, - {{118, 2}, {117, 4}, 56, 0, "MCS-7", + {{118, 2}, {117, 4}, 56, 0, HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, - {{142, 2}, {141, 4}, 68, 0, "MCS-8", + {{142, 2}, {141, 4}, 68, 0, HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, - {{154, 2}, {153, 4}, 74, 0, "MCS-9", + {{154, 2}, {153, 4}, 74, 0, HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, }; @@ -194,11 +193,6 @@ return mcs_info[m_scheme].optional_padding_bits; } -const char *GprsCodingScheme::name() const -{ - return mcs_info[m_scheme].name; -} - enum HeaderType GprsCodingScheme::headerTypeData() const { return mcs_info[m_scheme].data_hdr; diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 56ee002..055c166 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -74,7 +74,7 @@ uint8_t spareBitsDL() const; uint8_t maxDataBlockBytes() const; uint8_t optionalPaddingBits() const; - const char *name() const; + enum HeaderType headerTypeData() const; static GprsCodingScheme getBySizeUL(unsigned size); diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 77a8f2e..3c28319 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -34,6 +34,7 @@ #include #include #include + #include "coding_scheme.h" } #define GPRS_CODEL_SLOW_INTERVAL_MS 4000 @@ -527,7 +528,7 @@ LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): High error rate %d%%, " "reducing CS level to %s\n", - imsi(), error_rate, m_current_cs_dl.name()); + imsi(), error_rate, mcs_name(m_current_cs_dl)); m_last_cs_not_low = now; } } else if (error_rate < bts_data->cs_adj_lower_limit) { @@ -539,7 +540,7 @@ "MS (IMSI %s): Low error rate %d%%, " "increasing DL CS level to %s\n", imsi(), error_rate, - m_current_cs_dl.name()); + mcs_name(m_current_cs_dl)); m_last_cs_not_low = now; } else { LOGP(DRLCMACDL, LOGL_DEBUG, @@ -627,7 +628,7 @@ if (!max_cs_ul) { LOGP(DRLCMACMEAS, LOGL_ERROR, "max_cs_ul cannot be derived (current UL CS: %s)\n", - m_current_cs_ul.name()); + mcs_name(m_current_cs_ul)); return; } @@ -636,14 +637,14 @@ if (!m_current_cs_ul) { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS because it's not set: %s\n", - m_current_cs_ul.name()); + mcs_name(m_current_cs_ul)); return; } if (!meas->have_link_qual) { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS %s because we don't have link quality measurements.\n", - m_current_cs_ul.name()); + mcs_name(m_current_cs_ul)); return; } @@ -662,7 +663,7 @@ } else { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS because it's neither GPRS nor EDGE: %s\n", - m_current_cs_ul.name()); + mcs_name(m_current_cs_ul)); return; } @@ -682,7 +683,7 @@ "modifying uplink CS level: %s -> %s\n", imsi(), meas->link_qual, old_link_qual, low, high, - m_current_cs_ul.name(), new_cs_ul.name()); + mcs_name(m_current_cs_ul), mcs_name(new_cs_ul)); m_current_cs_ul = new_cs_ul; } diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index c71959d..47a0559 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -41,6 +41,7 @@ #include #include #include + #include "coding_scheme.h" } static void tbf_print_vty_info(struct vty *vty, gprs_rlcmac_tbf *tbf) @@ -70,7 +71,7 @@ } if (tbf->trx != NULL) vty_out(vty, " TRX_ID=%d", tbf->trx->trx_no); - vty_out(vty, " CS=%s", tbf->current_cs().name()); + vty_out(vty, " CS=%s", mcs_name(tbf->current_cs())); if (ul_tbf) { gprs_rlc_ul_window *win = ul_tbf->window(); @@ -127,8 +128,8 @@ vty_out(vty, "MS TLLI=%08x, TA=%d, CS-UL=%s, CS-DL=%s, LLC=%zd, Cl=%d, E-Cl=%d," " TBF-UL=%s, TBF-DL=%s, IMSI=%s%s", ms->tlli(), - ms->ta(), ms->current_cs_ul().name(), - ms->current_cs_dl().name(), + ms->ta(), mcs_name(ms->current_cs_ul()), + mcs_name(ms->current_cs_dl()), ms->llc_queue()->size(), ms->ms_class(), ms->egprs_ms_class(), @@ -148,9 +149,9 @@ vty_out(vty, "MS TLLI=%08x, IMSI=%s%s", ms->tlli(), ms->imsi(), VTY_NEWLINE); vty_out(vty, " Timing advance (TA): %d%s", ms->ta(), VTY_NEWLINE); - vty_out(vty, " Coding scheme uplink: %s%s", ms->current_cs_ul().name(), + vty_out(vty, " Coding scheme uplink: %s%s", mcs_name(ms->current_cs_ul()), VTY_NEWLINE); - vty_out(vty, " Coding scheme downlink: %s%s", ms->current_cs_dl().name(), + vty_out(vty, " Coding scheme downlink: %s%s", mcs_name(ms->current_cs_dl()), VTY_NEWLINE); vty_out(vty, " Mode: %s%s", GprsCodingScheme::modeName(ms->mode()), VTY_NEWLINE); diff --git a/src/pdch.cpp b/src/pdch.cpp index 22a1605..c6c677c 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -43,6 +43,7 @@ #include #include #include + #include "coding_scheme.h" } #include @@ -738,7 +739,7 @@ bts()->rlc_ul_bytes(len); LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " - "length: %d (%d))\n", cs.name(), len, cs.usedSizeUL()); + "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); if (cs.isGprs()) return rcv_block_gprs(data, len, fn, meas, cs); @@ -748,7 +749,7 @@ bts()->decode_error(); LOGP(DRLCMACUL, LOGL_ERROR, "Unsupported coding scheme %s\n", - cs.name()); + mcs_name(cs)); return -EINVAL; } @@ -768,7 +769,7 @@ if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", - cs.name()); + mcs_name(cs)); return -EINVAL; } bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, @@ -784,7 +785,7 @@ if (rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but header parsing has failed\n", - cs.name()); + mcs_name(cs)); bts()->decode_error(); return rc; } @@ -793,7 +794,7 @@ "Got %s RLC block: " "R=%d, SI=%d, TFI=%d, CPS=%d, RSB=%d, " "rc=%d\n", - cs.name(), + mcs_name(cs), rlc_dec.r, rlc_dec.si, rlc_dec.tfi, rlc_dec.cps, rlc_dec.rsb, rc); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 2f4781c..38dab37 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -46,6 +46,7 @@ #include #include #include + #include "coding_scheme.h" } #include @@ -429,7 +430,7 @@ new_cs = force_cs ? force_cs : current_cs(); LOGPTBFDL(this, LOGL_DEBUG, "Sending new block at BSN %d, CS=%s\n", - m_window.v_s(), new_cs.name()); + m_window.v_s(), mcs_name(new_cs)); bsn = create_new_bsn(fn, new_cs); } else if (!m_window.window_empty()) { @@ -443,7 +444,7 @@ /* Nothing left to send, create dummy LLC commands */ LOGPTBFDL(this, LOGL_DEBUG, "Sending new dummy block at BSN %d, CS=%s\n", - m_window.v_s(), current_cs().name()); + m_window.v_s(), mcs_name(current_cs())); bsn = create_new_bsn(fn, current_cs()); /* Don't send a second block, so don't set cs_current_trans */ } @@ -624,7 +625,7 @@ } while (ar == Encoding::AR_COMPLETED_SPACE_LEFT); LOGPTBFDL(this, LOGL_DEBUG, "data block (BSN %d, %s): %s\n", - bsn, rlc_data->cs_last.name(), + bsn, mcs_name(rlc_data->cs_last), osmo_hexdump(rlc_data->block, block_data_len)); /* raise send state and set ack state array */ m_window.m_v_b.mark_unacked(bsn); @@ -867,7 +868,7 @@ Encoding::rlc_write_dl_data_header(&rlc, msg_data); LOGPTBFDL(this, LOGL_DEBUG, "msg block (BSN %d, %s%s): %s\n", - index, cs.name(), + index, mcs_name(cs), need_padding ? ", padded" : "", msgb_hexdump(dl_msg)); @@ -1281,7 +1282,7 @@ "FIXME: Software error: hit invalid condition. " "headerType(%d) blockstatus(%d) cs(%s) PLEASE FIX!\n", cs_current_trans.headerTypeData(), - *block_status_dl, cs_init.name()); + *block_status_dl, mcs_name(cs_init)); break; } diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index bc36733..0bf5765 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -43,6 +43,7 @@ #include #include #include + #include "coding_scheme.h" } #include @@ -212,7 +213,7 @@ LOGPTBFUL(this, LOGL_DEBUG, "Got %s RLC data block: CV=%d, BSN=%d, SPB=%d, PI=%d, E=%d, TI=%d, bitoffs=%d\n", - rlc->cs.name(), + mcs_name(rlc->cs), rdbi->cv, rdbi->bsn, rdbi->spb, rdbi->pi, rdbi->e, rdbi->ti, rlc->data_offs_bits[block_idx]); @@ -278,7 +279,7 @@ bts->decode_error(); LOGPTBFUL(this, LOGL_NOTICE, "Failed to decode TLLI of %s UL DATA TFI=%d.\n", - rlc->cs.name(), rlc->tfi); + mcs_name(rlc->cs), rlc->tfi); m_window.invalidate_bsn(rdbi->bsn); continue; } @@ -479,7 +480,7 @@ LOGPTBFUL(this, LOGL_DEBUG, "Got SPB(%d) cs(%s) data block with BSN (%d), TFI(%d).\n", - rdbi->spb, rlc->cs.name(), rdbi->bsn, rlc->tfi); + rdbi->spb, mcs_name(rlc->cs), rdbi->bsn, rlc->tfi); egprs_rlc_ul_reseg_bsn_state assemble_status = EGPRS_RESEG_INVALID; @@ -517,7 +518,7 @@ default: LOGPTBFUL(this, LOGL_ERROR, "cs(%s) Error in Upgrading to higher MCS\n", - rlc->cs.name()); + mcs_name(rlc->cs)); break; } } diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 23abada..41a1115 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -1118,7 +1118,7 @@ fprintf(stderr, "Encoded message block, %s, idx %d, " "pattern %02x: %s\n", - rlc.cs.name(), block_idx, pattern, + mcs_name(rlc.cs), block_idx, pattern, osmo_hexdump(bits, cs.sizeDL())); Decoding::rlc_copy_to_aligned_buffer( -- To view, visit https://gerrit.osmocom.org/13069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I212ebb892ab162821633974d5a6c7e315d308370 Gerrit-Change-Number: 13069 Gerrit-PatchSet: 9 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:22 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:01:22 +0000 Subject: Change in osmo-pcu[master]: TBF-DL: log MCS as string In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13149 ) Change subject: TBF-DL: log MCS as string ...................................................................... TBF-DL: log MCS as string Log MCS name instead of numeric value. Change-Id: I3e1925a010a6def5fd14da63b73e0b75feddfafc --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 28 insertions(+), 28 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 38dab37..c276b3a 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -385,11 +385,11 @@ bts->bts_data()->dl_arq_type); LOGPTBFDL(this, LOGL_DEBUG, - "initial_cs_dl(%d) last_mcs(%d) demanded_mcs(%d) cs_trans(%d) arq_type(%d) bsn(%d)\n", - m_rlc.block(bsn)->cs_init.to_num(), - m_rlc.block(bsn)->cs_last.to_num(), - ms()->current_cs_dl().to_num(), - m_rlc.block(bsn)->cs_current_trans.to_num(), + "initial_cs_dl(%s) last_mcs(%s) demanded_mcs(%s) cs_trans(%s) arq_type(%d) bsn(%d)\n", + mcs_name(m_rlc.block(bsn)->cs_init), + mcs_name(m_rlc.block(bsn)->cs_last), + mcs_name(ms()->current_cs_dl()), + mcs_name(m_rlc.block(bsn)->cs_current_trans), bts->bts_data()->dl_arq_type, bsn); /* TODO: Need to remove this check when MCS-8 -> MCS-6 diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 355ec69..b58b61d 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -4754,7 +4754,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(7) last_mcs(5) demanded_mcs(7) cs_trans(7) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4898,7 +4898,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(8) last_mcs(8) demanded_mcs(8) cs_trans(8) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -5029,7 +5029,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(9) last_mcs(6) demanded_mcs(9) cs_trans(9) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -5145,7 +5145,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(6) cs_trans(6) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5200,7 +5200,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 96 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(1) last_mcs(1) demanded_mcs(1) cs_trans(1) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-1) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5255,7 +5255,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 92 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(2) last_mcs(2) demanded_mcs(2) cs_trans(2) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-2) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5323,9 +5323,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 56 05 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 10 70 c0 ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(5) demanded_mcs(7) cs_trans(7) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(5) demanded_mcs(7) cs_trans(7) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5394,9 +5394,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 4d 97 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 10 70 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(9) cs_trans(9) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(9) cs_trans(9) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5461,14 +5461,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 55 81 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(7) last_mcs(7) demanded_mcs(5) cs_trans(5) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 18 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(7) last_mcs(7) demanded_mcs(5) cs_trans(5) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5532,14 +5532,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 d3 a5 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(9) last_mcs(9) demanded_mcs(6) cs_trans(6) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 12 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(9) last_mcs(9) demanded_mcs(6) cs_trans(6) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5594,14 +5594,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 c6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(3) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5656,14 +5656,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 18 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(5) demanded_mcs(2) cs_trans(2) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 d2 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(5) last_mcs(2) demanded_mcs(2) cs_trans(2) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5718,14 +5718,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 80 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(4) last_mcs(4) demanded_mcs(1) cs_trans(1) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-4) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 d6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(4) last_mcs(1) demanded_mcs(1) cs_trans(1) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5780,21 +5780,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(6) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 c6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(3) demanded_mcs(3) cs_trans(3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(6) last_mcs(3) demanded_mcs(6) cs_trans(6) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(0) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 2 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs -- To view, visit https://gerrit.osmocom.org/13149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3e1925a010a6def5fd14da63b73e0b75feddfafc Gerrit-Change-Number: 13149 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:23 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:01:23 +0000 Subject: Change in osmo-pcu[master]: Fix TA index encoder In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13238 ) Change subject: Fix TA index encoder ...................................................................... Fix TA index encoder The TAI is described as { 0 | 1 < TIMING_ADVANCE_INDEX : bit (4) > } in 3GPP TS 44.018 ?10.5.2.16.1 so it should be encoded with if-else. Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf --- M src/encoding.cpp 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index ad53b0b..e21a7fc 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -117,13 +117,13 @@ { int rc; - if (tai < 0) /* No TIMING_ADVANCE_INDEX: */ + if (tai < 0) { /* No TIMING_ADVANCE_INDEX: */ SET_0(dest); - - /* TIMING_ADVANCE_INDEX: */ - SET_1(dest); - rc = bitvec_set_u64(dest, tai, 4, false); - CHECK(rc); + } else { /* TIMING_ADVANCE_INDEX: */ + SET_1(dest); + rc = bitvec_set_u64(dest, tai, 4, false); + CHECK(rc); + } return 0; } -- To view, visit https://gerrit.osmocom.org/13238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I54482790e1cf3cb13a635a99a481250576deabaf Gerrit-Change-Number: 13238 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:01:37 +0000 Subject: Change in libosmocore[master]: src/signal.c: cosmetic: use talloc_zero() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13342 ) Change subject: src/signal.c: cosmetic: use talloc_zero() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I55c6249b0c4c82d5a181001e945ff2eca6e9ca36 Gerrit-Change-Number: 13342 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 16:01:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:01:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:01:38 +0000 Subject: Change in libosmocore[master]: src/signal.c: cosmetic: use talloc_zero() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13342 ) Change subject: src/signal.c: cosmetic: use talloc_zero() ...................................................................... src/signal.c: cosmetic: use talloc_zero() Change-Id: I55c6249b0c4c82d5a181001e945ff2eca6e9ca36 --- M src/signal.c 1 file changed, 1 insertion(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/signal.c b/src/signal.c index 188876b..7e53e83 100644 --- a/src/signal.c +++ b/src/signal.c @@ -67,12 +67,10 @@ { struct signal_handler *sig_data; - sig_data = talloc(tall_sigh_ctx, struct signal_handler); + sig_data = talloc_zero(tall_sigh_ctx, struct signal_handler); if (!sig_data) return -ENOMEM; - memset(sig_data, 0, sizeof(*sig_data)); - sig_data->subsys = subsys; sig_data->data = data; sig_data->cbfn = cbfn; -- To view, visit https://gerrit.osmocom.org/13342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I55c6249b0c4c82d5a181001e945ff2eca6e9ca36 Gerrit-Change-Number: 13342 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:02:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:02:01 +0000 Subject: Change in libosmocore[master]: select: Rename BSC_FD_* constants to OSMO_FD_* In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13335 ) Change subject: select: Rename BSC_FD_* constants to OSMO_FD_* ...................................................................... select: Rename BSC_FD_* constants to OSMO_FD_* The naming of these constants dates back to when the code was private within OpenBSC. Everything else was renamed (bsc_fd -> osmo_fd) at the time, but somehow the BSC_FD_* defines have been missed at the time. Keep compatibility #defines around, but allow us to migrate the applications to a less confusing naming meanwhile. Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 --- M include/osmocom/core/select.h M src/ctrl/control_if.c M src/gb/gprs_ns.c M src/gb/gprs_ns_frgre.c M src/gsmtap_util.c M src/select.c M src/socket.c M src/vty/telnet_interface.c M src/write_queue.c 9 files changed, 42 insertions(+), 37 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/select.h b/include/osmocom/core/select.h index 1ba6b83..e4787b0 100644 --- a/include/osmocom/core/select.h +++ b/include/osmocom/core/select.h @@ -13,11 +13,16 @@ * \file select.h */ /*! Indicate interest in reading from the file descriptor */ -#define BSC_FD_READ 0x0001 +#define OSMO_FD_READ 0x0001 /*! Indicate interest in writing to the file descriptor */ -#define BSC_FD_WRITE 0x0002 +#define OSMO_FD_WRITE 0x0002 /*! Indicate interest in exceptions from the file descriptor */ -#define BSC_FD_EXCEPT 0x0004 +#define OSMO_FD_EXCEPT 0x0004 + +/* legacy naming dating back to early OpenBSC / bsc_hack of 2008 */ +#define BSC_FD_READ OSMO_FD_READ +#define BSC_FD_WRITE OSMO_FD_WRITE +#define BSC_FD_EXCEPT OSMO_FD_EXCEPT /*! Structure representing a file dsecriptor */ struct osmo_fd { @@ -25,8 +30,8 @@ struct llist_head list; /*! actual operating-system level file decriptor */ int fd; - /*! bit-mask or of \ref BSC_FD_READ, \ref BSC_FD_WRITE and/or - * \ref BSC_FD_EXCEPT */ + /*! bit-mask or of \ref OSMO_FD_READ, \ref OSMO_FD_WRITE and/or + * \ref OSMO_FD_EXCEPT */ unsigned int when; /*! call-back function to be called once file descriptor becomes * available */ diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 0209f3b..ce2e367 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -524,7 +524,7 @@ char *name; - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; fd = accept(listen_bfd->fd, NULL, NULL); @@ -554,7 +554,7 @@ LOGP(DLCTRL, LOGL_INFO, "accept()ed new CTRL connection from %s\n", name); ccon->write_queue.bfd.fd = fd; - ccon->write_queue.bfd.when = BSC_FD_READ; + ccon->write_queue.bfd.when = OSMO_FD_READ; ret = osmo_fd_register(&ccon->write_queue.bfd); if (ret < 0) { diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 8c3b0fa..c7ff78e 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -2006,9 +2006,9 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_nsip_read(bfd); - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_nsip_write(bfd); return rc; diff --git a/src/gb/gprs_ns_frgre.c b/src/gb/gprs_ns_frgre.c index 483fdb6..dbbd8d2 100644 --- a/src/gb/gprs_ns_frgre.c +++ b/src/gb/gprs_ns_frgre.c @@ -315,9 +315,9 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_nsfrgre_read(bfd); - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_nsfrgre_write(bfd); return rc; diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 385b467..996830f 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -355,7 +355,7 @@ int rc; uint8_t buf[4096]; - if (!(flags & BSC_FD_READ)) + if (!(flags & OSMO_FD_READ)) return 0; rc = read(fd->fd, buf, sizeof(buf)); @@ -395,7 +395,7 @@ sink_ofd = >i->sink_ofd; sink_ofd->fd = fd; - sink_ofd->when = BSC_FD_READ; + sink_ofd->when = OSMO_FD_READ; sink_ofd->cb = gsmtap_sink_fd_cb; rc = osmo_fd_register(sink_ofd); diff --git a/src/select.c b/src/select.c index 4e7be35..7ce135f 100644 --- a/src/select.c +++ b/src/select.c @@ -55,7 +55,7 @@ /*! Set up an osmo-fd. Will not register it. * \param[inout] ofd Osmo FD to be set-up * \param[in] fd OS-level file descriptor number - * \param[in] when bit-mask of BSC_FD_{READ,WRITE,EXECEPT} + * \param[in] when bit-mask of OSMO_FD_{READ,WRITE,EXECEPT} * \param[in] cb Call-back function to be called * \param[in] data Private context pointer * \param[in] priv_nr Private number @@ -171,13 +171,13 @@ int highfd = 0; llist_for_each_entry(ufd, &osmo_fds, list) { - if (ufd->when & BSC_FD_READ) + if (ufd->when & OSMO_FD_READ) FD_SET(ufd->fd, readset); - if (ufd->when & BSC_FD_WRITE) + if (ufd->when & OSMO_FD_WRITE) FD_SET(ufd->fd, writeset); - if (ufd->when & BSC_FD_EXCEPT) + if (ufd->when & OSMO_FD_EXCEPT) FD_SET(ufd->fd, exceptset); if (ufd->fd > highfd) @@ -199,17 +199,17 @@ int flags = 0; if (FD_ISSET(ufd->fd, readset)) { - flags |= BSC_FD_READ; + flags |= OSMO_FD_READ; FD_CLR(ufd->fd, readset); } if (FD_ISSET(ufd->fd, writeset)) { - flags |= BSC_FD_WRITE; + flags |= OSMO_FD_WRITE; FD_CLR(ufd->fd, writeset); } if (FD_ISSET(ufd->fd, exceptset)) { - flags |= BSC_FD_EXCEPT; + flags |= OSMO_FD_EXCEPT; FD_CLR(ufd->fd, exceptset); } @@ -327,7 +327,7 @@ { ofd->cb = cb; ofd->data = data; - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; if (ofd->fd < 0) { int rc; diff --git a/src/socket.c b/src/socket.c index 6a3f254..3a46ad0 100644 --- a/src/socket.c +++ b/src/socket.c @@ -414,7 +414,7 @@ return sfd; ofd->fd = sfd; - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; rc = osmo_fd_register(ofd); if (rc < 0) { diff --git a/src/vty/telnet_interface.c b/src/vty/telnet_interface.c index e090e17..dc23b12 100644 --- a/src/vty/telnet_interface.c +++ b/src/vty/telnet_interface.c @@ -59,7 +59,7 @@ static int telnet_new_connection(struct osmo_fd *fd, unsigned int what); static struct osmo_fd server_socket = { - .when = BSC_FD_READ, + .when = OSMO_FD_READ, .cb = telnet_new_connection, .priv_nr = 0, }; @@ -142,8 +142,8 @@ struct telnet_connection *conn = fd->data; int rc = 0; - if (what & BSC_FD_READ) { - conn->fd.when &= ~BSC_FD_READ; + if (what & OSMO_FD_READ) { + conn->fd.when &= ~OSMO_FD_READ; rc = vty_read(conn->vty); } @@ -151,10 +151,10 @@ if (rc == -EBADF) return rc; - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { rc = buffer_flush_all(conn->vty->obuf, fd->fd); if (rc == BUFFER_EMPTY) - conn->fd.when &= ~BSC_FD_WRITE; + conn->fd.when &= ~OSMO_FD_WRITE; } return rc; @@ -177,7 +177,7 @@ connection->priv = fd->data; connection->fd.data = connection; connection->fd.fd = new_connection; - connection->fd.when = BSC_FD_READ; + connection->fd.when = OSMO_FD_READ; connection->fd.cb = client_data; rc = osmo_fd_register(&connection->fd); if (rc < 0) { @@ -219,10 +219,10 @@ switch (event) { case VTY_READ: - bfd->when |= BSC_FD_READ; + bfd->when |= OSMO_FD_READ; break; case VTY_WRITE: - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; case VTY_CLOSED: /* vty layer is about to free() vty */ diff --git a/src/write_queue.c b/src/write_queue.c index fb6839a..3399b0f 100644 --- a/src/write_queue.c +++ b/src/write_queue.c @@ -47,22 +47,22 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) { + if (what & OSMO_FD_READ) { rc = queue->read_cb(fd); if (rc == -EBADF) goto err_badfd; } - if (what & BSC_FD_EXCEPT) { + if (what & OSMO_FD_EXCEPT) { rc = queue->except_cb(fd); if (rc == -EBADF) goto err_badfd; } - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct msgb *msg; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; /* the queue might have been emptied */ if (!llist_empty(&queue->msg_queue)) { @@ -76,7 +76,7 @@ goto err_badfd; if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } } @@ -115,7 +115,7 @@ ++queue->current_length; msgb_enqueue(&queue->msg_queue, data); - queue->bfd.when |= BSC_FD_WRITE; + queue->bfd.when |= OSMO_FD_WRITE; return 0; } @@ -133,7 +133,7 @@ } queue->current_length = 0; - queue->bfd.when &= ~BSC_FD_WRITE; + queue->bfd.when &= ~OSMO_FD_WRITE; } /*! @} */ -- To view, visit https://gerrit.osmocom.org/13335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436 Gerrit-Change-Number: 13335 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:02:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:02:31 +0000 Subject: Change in libosmocore[master]: signal.c: Fix osmo_signal_talloc_ctx_init() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13336 ) Change subject: signal.c: Fix osmo_signal_talloc_ctx_init() ...................................................................... signal.c: Fix osmo_signal_talloc_ctx_init() This function is broken ever since it was added back in 2018 in commit Id58ca18eb826b8f4183a7cf0dbb2b38cba702a09 Rather than allocating from the user-supplied 'root_ctx', it is allocating from the context that it's trying to create (which is NULL at that time, rendering the entire operation more or less a no-op. For sure you will not see osmo_signal structures never in any talloc report. Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f --- M src/signal.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/signal.c b/src/signal.c index 7e53e83..be3b777 100644 --- a/src/signal.c +++ b/src/signal.c @@ -52,7 +52,7 @@ * \returns the new osmo_signal talloc context, e.g. for reporting */ void *osmo_signal_talloc_ctx_init(void *root_ctx) { - tall_sigh_ctx = talloc_named_const(tall_sigh_ctx, 0, "osmo_signal"); + tall_sigh_ctx = talloc_named_const(root_ctx, 0, "osmo_signal"); return tall_sigh_ctx; } -- To view, visit https://gerrit.osmocom.org/13336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I922d26815a3baa5be74bd3ee89d498555882d62f Gerrit-Change-Number: 13336 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:02:37 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:02:37 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13354 ) Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... trxcon: use helper to add l1ctl_info_dl Use static helpers to add l1ctl_info_dl to msgb - this simplifies l1ctl_* routines and reduce code duplication. Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df --- M src/host/trxcon/l1ctl.c 1 file changed, 18 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index eb14832..b37082e 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -138,13 +138,24 @@ return l1ctl_link_send(l1l, msg); } +static struct l1ctl_info_dl *put_dl_info_hdr(struct msgb *msg, struct l1ctl_info_dl *dl_info) +{ + size_t len = sizeof(struct l1ctl_info_dl); + struct l1ctl_info_dl *dl = (struct l1ctl_info_dl *) msgb_put(msg, len); + + if (dl_info) /* Copy DL info provided by handler */ + memcpy(dl, dl_info, len); + else /* Init DL info header */ + memset(dl, 0x00, len); + + return dl; +} + int l1ctl_tx_fbsb_conf(struct l1ctl_link *l1l, uint8_t result, struct l1ctl_info_dl *dl_info, uint8_t bsic) { struct l1ctl_fbsb_conf *conf; - struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(L1CTL_FBSB_CONF); if (msg == NULL) @@ -153,10 +164,7 @@ LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", result, bsic); - /* Copy DL info provided by handler */ - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); - memcpy(dl, dl_info, len); + put_dl_info_hdr(msg, dl_info); talloc_free(dl_info); /* Fill in FBSB payload: BSIC and sync result */ @@ -198,7 +206,6 @@ int l1ctl_tx_dt_ind(struct l1ctl_link *l1l, struct l1ctl_info_dl *data, uint8_t *l2, size_t l2_len, bool traffic) { - struct l1ctl_info_dl *dl; struct msgb *msg; uint8_t *msg_l2; @@ -207,9 +214,7 @@ if (msg == NULL) return -ENOMEM; - /* Copy DL header */ - dl = (struct l1ctl_info_dl *) msgb_put(msg, sizeof(*dl)); - memcpy(dl, data, sizeof(*dl)); + put_dl_info_hdr(msg, data); /* Copy the L2 payload if preset */ if (l2 && l2_len > 0) { @@ -225,16 +230,13 @@ { struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(L1CTL_RACH_CONF); if (msg == NULL) return -ENOMEM; - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); + dl = put_dl_info_hdr(msg, NULL); - memset(dl, 0x00, len); dl->band_arfcn = htons(l1l->trx->band_arfcn); dl->frame_nr = htonl(fn); @@ -248,9 +250,7 @@ int l1ctl_tx_dt_conf(struct l1ctl_link *l1l, struct l1ctl_info_dl *data, bool traffic) { - struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(traffic ? L1CTL_TRAFFIC_CONF : L1CTL_DATA_CONF); @@ -258,9 +258,7 @@ return -ENOMEM; /* Copy DL frame header from source message */ - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); - memcpy(dl, data, len); + put_dl_info_hdr(msg, data); return l1ctl_link_send(l1l, msg); } @@ -292,7 +290,6 @@ struct l1ctl_fbsb_conf *conf; struct l1ctl_info_dl *dl; struct msgb *msg; - size_t len; msg = l1ctl_alloc_msg(L1CTL_FBSB_CONF); if (msg == NULL) @@ -300,10 +297,7 @@ LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n"); - /* Compose DL info header */ - len = sizeof(struct l1ctl_info_dl); - dl = (struct l1ctl_info_dl *) msgb_put(msg, len); - memset(dl, 0x00, len); + dl = put_dl_info_hdr(msg, NULL); /* Fill in current ARFCN */ dl->band_arfcn = htons(l1l->trx->band_arfcn); -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:02:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 16:02:39 +0000 Subject: Change in libosmocore[master]: signal.c: Make non-exported tall_sigh_ctx static In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13337 ) Change subject: signal.c: Make non-exported tall_sigh_ctx static ...................................................................... signal.c: Make non-exported tall_sigh_ctx static As indicated in the commitlog of Id58ca18eb826b8f4183a7cf0dbb2b38cba702a09, the symbol was never exported in a header file, so it should be safe to mark it as static. Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf --- M src/signal.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/signal.c b/src/signal.c index be3b777..f988419 100644 --- a/src/signal.c +++ b/src/signal.c @@ -36,7 +36,7 @@ * \file signal.c */ -void *tall_sigh_ctx; +static void *tall_sigh_ctx; static LLIST_HEAD(signal_handler_list); struct signal_handler { -- To view, visit https://gerrit.osmocom.org/13337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7132ffe9a7efcab226cc639d1b2357f7115bcadf Gerrit-Change-Number: 13337 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Assignee: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:03:51 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:03:51 +0000 Subject: Change in docker-playground[master]: BTS tests: update NSVC config in osmo-bsc.cfg In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13341 ) Change subject: BTS tests: update NSVC config in osmo-bsc.cfg ...................................................................... BTS tests: update NSVC config in osmo-bsc.cfg * remove extra NSVC config * use 0.0.0.0 for nsvc 0 The additional nsvc and this particular address are not used for BTS' PCU-related tests in any way and only add confusion. It's likely a result of copy-paste from another test. Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7 --- M ttcn3-bts-test/osmo-bsc.cfg 1 file changed, 1 insertion(+), 5 deletions(-) Approvals: Harald Welte: Looks good to me, approved Max: Verified diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index b06cf06..54264e8 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -131,11 +131,7 @@ gprs nsvc 0 nsvci 1234 gprs nsvc 0 local udp port 23000 gprs nsvc 0 remote udp port 23000 - gprs nsvc 0 remote ip 192.168.100.239 - gprs nsvc 1 nsvci 0 - gprs nsvc 1 local udp port 0 - gprs nsvc 1 remote udp port 0 - gprs nsvc 1 remote ip 0.0.0.0 + gprs nsvc 0 remote ip 0.0.0.0 no force-combined-si trx 0 rf_locked 0 -- To view, visit https://gerrit.osmocom.org/13341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7 Gerrit-Change-Number: 13341 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:06:57 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:06:57 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13363 ) Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13363/1/contrib/jenkins-build-osmo-pcu-oc2g.sh File contrib/jenkins-build-osmo-pcu-oc2g.sh: https://gerrit.osmocom.org/#/c/13363/1/contrib/jenkins-build-osmo-pcu-oc2g.sh at 22 PS1, Line 22: build_repo osmo-pcu --disable-sysmocom-dsp -enable-oc2gbts-phy You will also need to either add the include files for the firmware to a path that is already in include or set it with "--with-oc2g=/path/to/inc" In any case you need the oc2g firmware files that can be obtained from https://gitlab.com/nrw_oc2g/oc2g-fw Not sure if you are doing that already (since it's also needed for the oc2g bts support). also *-*-enable-oc2gbts-phy -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Thu, 21 Mar 2019 16:06:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:11:20 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:11:20 +0000 Subject: Change in openbsc[master]: Drop openggsn from build dependencies In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13345 ) Change subject: Drop openggsn from build dependencies ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 Gerrit-Change-Number: 13345 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 16:11:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:15:01 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:15:01 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13363 ) Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... Patch Set 1: It depends on the patchset starting with I7cd89a549c9463e81893ca7dd925299f728e4453 but better to wait until everything upto I95ced5da1c89dae5a16963b10b005747277f320b is merged -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Thu, 21 Mar 2019 16:15:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:19:03 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:19:03 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... Patch Set 1: > Why not squashing it with initial commit? It looks like a trivial > typo. I want to keep the commit from others unchanged as much as a can - even if this is really trivial. -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 16:19:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:20:32 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:20:32 +0000 Subject: Change in osmo-pcu[master]: Add missing include In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Add missing include ...................................................................... Patch Set 1: > Again, how it comes this header is added here and jenkins passed > before? explain so in description That's indeed interesting and I was actually expecting fall-out. It certainly didn't compile on my machine when I added it. Let me recheck -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 16:20:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:27:12 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:27:12 +0000 Subject: Change in osmo-pcu[master]: Add missing include In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Add missing include ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 16:27:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:27:17 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:27:17 +0000 Subject: Change in osmo-pcu[master]: Add missing include In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Add missing include ...................................................................... Patch Set 1: -Code-Review -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 16:27:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:27:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 16:27:27 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) In-Reply-To: References: Message-ID: Hello K?vin Redon, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13339 to look at the new patch set (#2). Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... commands: correct case of a TLV tag (A5 => a5) The hexadecimal tag defintions of pytlv are case sensitive strings. So 'A5' is something different than 'a5'. Pytlv uses lower case letters for the upper hexadecimal digits. Lets correct this. Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Related: OS#3850 --- M pySim/commands.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/13339/2 -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Harald Welte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:27:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 16:27:27 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: Hello K?vin Redon, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13340 to look at the new patch set (#2). Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT The files EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT are currently not programmed for sysmo-usim-sjs1, lets add them. Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Related: OS#3850 --- M pySim/cards.py 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/40/13340/2 -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:27:27 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 16:27:27 +0000 Subject: Change in pysim[master]: sysmo-usim-sjs1: update EF.AD with correct MNC length In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13366 to look at the new patch set (#2). Change subject: sysmo-usim-sjs1: update EF.AD with correct MNC length ...................................................................... sysmo-usim-sjs1: update EF.AD with correct MNC length At the moment EF.AD, which contains the length of the MNC is not updated. For two digit MNC (the usual case) this is fine since the length is set to 2 by default. However, when one wants to set an MNC with 3 digit length the file must be updated, otherwise the third digit of the MNC is recognized as part of the MSIN. Change-Id: I827092b2c7f7952f54b2d9f8dbda419a0dbfaf65 Related: OS#3850 --- M pySim-read.py M pySim/cards.py 2 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/66/13366/2 -- To view, visit https://gerrit.osmocom.org/13366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I827092b2c7f7952f54b2d9f8dbda419a0dbfaf65 Gerrit-Change-Number: 13366 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:28:43 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Thu, 21 Mar 2019 16:28:43 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 6: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 16:28:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:32:55 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:32:55 +0000 Subject: Change in osmo-pcu[master]: Add missing include In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Add missing include ...................................................................... Patch Set 1: See https://projects.sysmocom.de/issues/4524 - basically we are not building the oc2g support at all in the verification jobs. I'll update the commit message with the compile error. -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 16:32:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:40:22 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:40:22 +0000 Subject: Change in osmo-pcu[master]: Include pdch.h in bts.h even if we're not compiling C++ In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13361 to look at the new patch set (#2). Change subject: Include pdch.h in bts.h even if we're not compiling C++ ...................................................................... Include pdch.h in bts.h even if we're not compiling C++ bts.h needs pdch.h whether we're compiling C or C++ code so move it out of the #ifdef. make[1]: Entering directory '/home/daniel/scm/osmo/oc2g/osmo-pcu-oc2g/src' CC osmo-bts-oc2g/oc2g_l1_if.o In file included from osmo-bts-oc2g/oc2g_l1_if.c:39: ./bts.h:74:26: error: array type has incomplete element type ?struct gprs_rlcmac_pdch? struct gprs_rlcmac_pdch pdch[8]; ^~~~ Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f --- M src/bts.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/61/13361/2 -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:49:53 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:49:53 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13368 Change subject: Also build oc2g support for osmo-pcu ...................................................................... Also build oc2g support for osmo-pcu Needs gerrit change I7cd89a549c9463e81893ca7dd925299f728e4453 in osmo-pcu Fixes: SYS#4524 Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 --- M jobs/gerrit-verifications.yml 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/68/13368/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index a2f68f5..1d5c56c 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -192,11 +192,11 @@ - osmo-pcu: a1_name: FIRMWARE_VERSION - a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] + a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15, origin/nrw/oc2g] a2_name: with_vty a2: !!python/tuple [True, False] a3_name: with_dsp - a3: !!python/tuple [sysmo, lc15, none] + a3: !!python/tuple [sysmo, lc15, oc2g, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] sequential: true @@ -205,6 +205,7 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || + (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="origin/nrw/oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") - osmo-python-tests: -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 16:59:45 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 16:59:45 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13339 ) Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... Patch Set 2: Code-Review+1 Looks good, but does it make sense to avoid this in general by using to_lower in the TLV class or is this too much work? -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 16:59:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:02:17 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 21 Mar 2019 17:02:17 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13340 ) Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13340/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/#/c/13340/2/pySim/cards.py at 540 PS2, Line 540: self._scc.sel_ctrl = "0004" #request an FCP You're overwriting the other sel_ctrl here, is that intended? Does this break other stuff? Or remove the line above? -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 17:02:17 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:04:29 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 21 Mar 2019 17:04:29 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: Hello K?vin Redon, Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13340 to look at the new patch set (#3). Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT The files EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT are currently not programmed for sysmo-usim-sjs1, lets add them. Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Related: OS#3850 --- M pySim/cards.py 1 file changed, 20 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/40/13340/3 -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:19:39 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?Andr=C3=A9_Boddenberg?=) Date: Thu, 21 Mar 2019 17:19:39 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Andr? Boddenberg has posted comments on this change. ( https://gerrit.osmocom.org/13368 ) Change subject: Also build oc2g support for osmo-pcu ...................................................................... Patch Set 1: +1 -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-CC: Andr? Boddenberg Gerrit-Comment-Date: Thu, 21 Mar 2019 17:19:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:23:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 17:23:01 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13340 ) Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 17:23:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:23:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 17:23:15 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13339 ) Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-CC: Max Gerrit-Comment-Date: Thu, 21 Mar 2019 17:23:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:35:17 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 17:35:17 +0000 Subject: Change in osmocom-bb[master]: trxcon: use helper to add l1ctl_info_dl In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13354 ) Change subject: trxcon: use helper to add l1ctl_info_dl ...................................................................... Patch Set 2: > What would be advantage of using pointer instead of type? 1. It's safe against possible symbol renaming, 2. It's shorter ;) -- To view, visit https://gerrit.osmocom.org/13354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df Gerrit-Change-Number: 13354 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 17:35:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:36:16 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 17:36:16 +0000 Subject: Change in osmocom-bb[master]: trxcon: log FBSB timer events In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13364 ) Change subject: trxcon: log FBSB timer events ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 Gerrit-Change-Number: 13364 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 17:36:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:40:56 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 17:40:56 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13355 ) Change subject: trxcon: use static helper to prepare FBSB ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 17:40:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 17:58:07 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 17:58:07 +0000 Subject: Change in osmocom-bb[master]: trxcon: update trx_udp_open() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13367 ) Change subject: trxcon: update trx_udp_open() ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/13367/1/src/host/trxcon/trx_if.c File src/host/trxcon/trx_if.c: https://gerrit.osmocom.org/#/c/13367/1/src/host/trxcon/trx_if.c at 612 PS1, Line 612: bool is_ctrl, This change makes the function useless for anything else than TRXC and TRXD. I was thinking about (re)introducing the clock interface, so let's avoid this please. As a possible solution, you can keep passing of the call-back function and just pass the interface name as a separate parameter, e.g. const char *name. https://gerrit.osmocom.org/#/c/13367/1/src/host/trxcon/trx_if.c at 630 PS1, Line 630: LOGL_NOTICE Looks more like LOGL_INFO for me. I know, the existing code is not perfect, and LOGL_NOTICE is used most of the time. But let's consider LOGL_NOTICE as something more important than host / port information, and closer to error. -- To view, visit https://gerrit.osmocom.org/13367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I33b01879f6ea468941e5dab5b46492be8fe5730d Gerrit-Change-Number: 13367 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 17:58:07 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 18:03:57 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 18:03:57 +0000 Subject: Change in osmocom-bb[master]: trxcon: update trx_udp_open() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13367 ) Change subject: trxcon: update trx_udp_open() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13367/1/src/host/trxcon/trx_if.c File src/host/trxcon/trx_if.c: https://gerrit.osmocom.org/#/c/13367/1/src/host/trxcon/trx_if.c at 612 PS1, Line 612: bool is_ctrl, > This change makes the function useless for anything else than TRXC and TRXD. [?] Alternatively, we can introduce an enumerated list of interfaces, and just pass an interface type here. So, we would also avoid passing both *ofd and *cb, and moreover just accept the base port instead of port_local / port remote, and do the final calculations here. I prefer this solution. -- To view, visit https://gerrit.osmocom.org/13367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I33b01879f6ea468941e5dab5b46492be8fe5730d Gerrit-Change-Number: 13367 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 18:03:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 19:08:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 19:08:06 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Fix erroneous endian-swapping of the CellID Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13369 Change subject: pcu_l1_if: Fix erroneous endian-swapping of the CellID ...................................................................... pcu_l1_if: Fix erroneous endian-swapping of the CellID In Change-Id I787fed84a7b613158a5618dd5cffafe4e4927234 in February 2018 we accidentially introduced a change that would erroneously swap the endianness of the CellID on the way between PCUIF socket and BSGSP. This meant that all OsmoPCU based BTSs would report the wrong CellId to the SGSN. Closes: OS#3854 Change-Id: I2f6cc930c5dbf8dac386b24b0756df2efe8199e4 --- M src/pcu_l1_if.cpp 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/69/13369/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 27e86dd..b59f198 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -414,7 +414,6 @@ int rc = 0; unsigned int trx, ts; int i; - uint16_t cell_id = ntohs(info_ind->cell_id); if (info_ind->version != PCU_IF_VERSION) { fprintf(stderr, "PCU interface version number of BTS (%d) is " @@ -445,7 +444,7 @@ LOGP(DL1IF, LOGL_DEBUG, " mnc=%0*u\n", info_ind->mnc_3_digits, info_ind->mnc); LOGP(DL1IF, LOGL_DEBUG, " lac=%d\n", info_ind->lac); LOGP(DL1IF, LOGL_DEBUG, " rac=%d\n", info_ind->rac); - LOGP(DL1IF, LOGL_DEBUG, " cell_id=%d\n", cell_id); + LOGP(DL1IF, LOGL_DEBUG, " cell_id=%d\n", info_ind->cell_id); LOGP(DL1IF, LOGL_DEBUG, " bsic=%d\n", info_ind->bsic); LOGP(DL1IF, LOGL_DEBUG, " nsei=%d\n", info_ind->nsei); LOGP(DL1IF, LOGL_DEBUG, " nse_timer=%d %d %d %d %d %d %d\n", @@ -496,7 +495,7 @@ info_ind->remote_ip[0], info_ind->remote_port[0], info_ind->nsei, info_ind->nsvci[0], info_ind->bvci, info_ind->mcc, info_ind->mnc, info_ind->mnc_3_digits, info_ind->lac, info_ind->rac, - cell_id); + info_ind->cell_id); if (!pcu) { LOGP(DL1IF, LOGL_NOTICE, "SGSN not available\n"); goto bssgp_failed; -- To view, visit https://gerrit.osmocom.org/13369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2f6cc930c5dbf8dac386b24b0756df2efe8199e4 Gerrit-Change-Number: 13369 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 19:09:47 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 19:09:47 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_iface.c: fix copy-paste error Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13370 Change subject: libmsc/sgs_iface.c: fix copy-paste error ...................................................................... libmsc/sgs_iface.c: fix copy-paste error Change-Id: I57b773659302ad4c92b6e670c6156e90a50189ba --- M src/libmsc/sgs_iface.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/70/13370/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 4f262a5..f2e74cb 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -51,7 +51,7 @@ /* A pointer to the GSM network we work with. By the current paradigm, * there can only be one gsm_network per MSC. The pointer is set once - * when calling a_init() */ + * when calling sgs_iface_init() */ static struct gsm_network *gsm_network = NULL; static struct osmo_fsm sgs_vlr_reset_fsm; -- To view, visit https://gerrit.osmocom.org/13370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I57b773659302ad4c92b6e670c6156e90a50189ba Gerrit-Change-Number: 13370 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 19:09:47 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 19:09:47 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13371 Change subject: libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load ...................................................................... libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load Change-Id: I80cd2e5645d6e391080376250c0853a3f3f821ef --- M src/libmsc/sgs_iface.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/71/13371/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index f2e74cb..95b68f8 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -1258,8 +1258,12 @@ return NULL; g_sgs = sgs; - osmo_fsm_register(&sgs_vlr_reset_fsm); sgs_server_open(sgs); return sgs; } + +static __attribute__((constructor)) void on_dso_load(void) +{ + OSMO_ASSERT(osmo_fsm_register(&sgs_vlr_reset_fsm) == 0); +} -- To view, visit https://gerrit.osmocom.org/13371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I80cd2e5645d6e391080376250c0853a3f3f821ef Gerrit-Change-Number: 13371 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 19:09:47 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 19:09:47 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_vty.c: don't print SGs socket error twice Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13372 Change subject: libmsc/sgs_vty.c: don't print SGs socket error twice ...................................................................... libmsc/sgs_vty.c: don't print SGs socket error twice Because sgs_server_open() already does this. Change-Id: Ifea308645c7829691dbcf53e4f59841090119006 --- M src/libmsc/sgs_vty.c 1 file changed, 2 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/72/13372/1 diff --git a/src/libmsc/sgs_vty.c b/src/libmsc/sgs_vty.c index 8c94301..8ba5a79 100644 --- a/src/libmsc/sgs_vty.c +++ b/src/libmsc/sgs_vty.c @@ -57,10 +57,8 @@ osmo_stream_srv_link_set_addr(sgs->srv_link, sgs->cfg.local_addr); rc = sgs_server_open(sgs); - if (rc < 0) { - vty_out(vty, "%% SGs socket cannot be opened: %s%s", strerror(errno), VTY_NEWLINE); + if (rc < 0) return CMD_WARNING; - } return CMD_SUCCESS; } @@ -77,10 +75,8 @@ osmo_stream_srv_link_set_port(sgs->srv_link, sgs->cfg.local_port); rc = sgs_server_open(sgs); - if (rc < 0) { - vty_out(vty, "%% SGs socket cannot be opened: %s%s", strerror(errno), VTY_NEWLINE); + if (rc < 0) return CMD_WARNING; - } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/13372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifea308645c7829691dbcf53e4f59841090119006 Gerrit-Change-Number: 13372 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 19:09:48 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 21 Mar 2019 19:09:48 +0000 Subject: Change in osmo-msc[master]: libmsc: fix: properly initialize the SGs server Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13373 Change subject: libmsc: fix: properly initialize the SGs server ...................................................................... libmsc: fix: properly initialize the SGs server Change-Id: Ie0c31205ac48be7e50d0380a89833771b2708da4 --- M src/libmsc/sgs_iface.c M src/libmsc/sgs_vty.c M src/osmo-msc/msc_main.c 3 files changed, 16 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/73/13373/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 95b68f8..450d552 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -1258,8 +1258,6 @@ return NULL; g_sgs = sgs; - sgs_server_open(sgs); - return sgs; } diff --git a/src/libmsc/sgs_vty.c b/src/libmsc/sgs_vty.c index 8ba5a79..dbf2607 100644 --- a/src/libmsc/sgs_vty.c +++ b/src/libmsc/sgs_vty.c @@ -56,9 +56,11 @@ osmo_strlcpy(sgs->cfg.local_addr, argv[0], sizeof(sgs->cfg.local_addr)); osmo_stream_srv_link_set_addr(sgs->srv_link, sgs->cfg.local_addr); - rc = sgs_server_open(sgs); - if (rc < 0) - return CMD_WARNING; + if (vty->type != VTY_FILE) { + rc = sgs_server_open(sgs); + if (rc < 0) + return CMD_WARNING; + } return CMD_SUCCESS; } @@ -74,9 +76,11 @@ sgs->cfg.local_port = atoi(argv[0]); osmo_stream_srv_link_set_port(sgs->srv_link, sgs->cfg.local_port); - rc = sgs_server_open(sgs); - if (rc < 0) - return CMD_WARNING; + if (vty->type != VTY_FILE) { + rc = sgs_server_open(sgs); + if (rc < 0) + return CMD_WARNING; + } return CMD_SUCCESS; } diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index f29b2a8..b55d38f 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -62,6 +62,7 @@ #include #include #include +#include #ifdef BUILD_IU #include @@ -692,6 +693,11 @@ return 8; } + if (sgs_server_open(g_sgs)) { + printf("Starting SGs server failed\n"); + return 9; + } + #ifdef BUILD_IU /* Set up IuCS */ ranap_iu_init(tall_msc_ctx, DRANAP, "OsmoMSC-IuCS", msc_network->iu.sccp, rcvmsg_iu_cs, rx_iu_event); -- To view, visit https://gerrit.osmocom.org/13373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0c31205ac48be7e50d0380a89833771b2708da4 Gerrit-Change-Number: 13373 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 21 20:12:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:12:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_17.10/i586 In-Reply-To: References: Message-ID: <5c93f022d7ed3_5cc15b45f0181661@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_17.10/i586 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_17.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 76s] #define VERSION "0.1.0" [ 76s] #define STDC_HEADERS 1 [ 76s] #define HAVE_SYS_TYPES_H 1 [ 76s] #define HAVE_SYS_STAT_H 1 [ 76s] #define HAVE_STDLIB_H 1 [ 76s] #define HAVE_STRING_H 1 [ 76s] #define HAVE_MEMORY_H 1 [ 76s] #define HAVE_STRINGS_H 1 [ 76s] #define HAVE_INTTYPES_H 1 [ 76s] #define HAVE_STDINT_H 1 [ 76s] #define HAVE_UNISTD_H 1 [ 76s] #define HAVE_DLFCN_H 1 [ 76s] #define LT_OBJDIR ".libs/" [ 76s] [ 76s] configure: exit 1 [ 76s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 76s] debian/rules:45: recipe for target 'build' failed [ 76s] make: *** [build] Error 2 [ 76s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 76s] [ 76s] lamb13 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:11:55 UTC 2019. [ 76s] [ 76s] ### VM INTERACTION START ### [ 79s] [ 68.247446] sysrq: SysRq : Power Off [ 79s] [ 68.253136] reboot: Power down [ 79s] ### VM INTERACTION END ### [ 79s] [ 79s] lamb13 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:11:59 UTC 2019. [ 79s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:13:23 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:13:23 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_17.10/x86_64 In-Reply-To: References: Message-ID: <5c93f07c18d27_5cc15b45f01817cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_17.10/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_17.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 92s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 92s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 92s] collect2: error: ld returned 1 exit status [ 92s] Makefile:483: recipe for target 'osmo-nitb' failed [ 92s] make[4]: *** [osmo-nitb] Error 1 [ 92s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 92s] Makefile:450: recipe for target 'all-recursive' failed [ 92s] make[3]: *** [all-recursive] Error 1 [ 92s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 92s] Makefile:470: recipe for target 'all-recursive' failed [ 92s] make[2]: *** [all-recursive] Error 1 [ 92s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 92s] Makefile:402: recipe for target 'all' failed [ 92s] make[1]: *** [all] Error 2 [ 92s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 92s] dh_auto_build: make -j1 returned exit code 2 [ 92s] debian/rules:13: recipe for target 'build' failed [ 92s] make: *** [build] Error 2 [ 92s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 92s] [ 92s] sheep82 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:13:19 UTC 2019. [ 92s] [ 92s] ### VM INTERACTION START ### [ 95s] [ 87.102779] sysrq: SysRq : Power Off [ 95s] [ 87.109095] reboot: Power down [ 95s] ### VM INTERACTION END ### [ 95s] [ 95s] sheep82 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:13:22 UTC 2019. [ 95s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:13:57 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:13:57 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5c93f09d1bd11_5cc15b45f018199@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_9.0/i586 Package network:osmocom:nightly/openbsc failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 173s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 173s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 173s] collect2: error: ld returned 1 exit status [ 173s] Makefile:483: recipe for target 'osmo-nitb' failed [ 173s] make[4]: *** [osmo-nitb] Error 1 [ 173s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 173s] Makefile:450: recipe for target 'all-recursive' failed [ 173s] make[3]: *** [all-recursive] Error 1 [ 173s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 173s] Makefile:470: recipe for target 'all-recursive' failed [ 173s] make[2]: *** [all-recursive] Error 1 [ 173s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 173s] Makefile:402: recipe for target 'all' failed [ 173s] make[1]: *** [all] Error 2 [ 173s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 173s] dh_auto_build: make -j1 returned exit code 2 [ 173s] debian/rules:13: recipe for target 'build' failed [ 173s] make: *** [build] Error 2 [ 173s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 173s] [ 173s] lamb01 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:13:39 UTC 2019. [ 173s] [ 173s] ### VM INTERACTION START ### [ 176s] [ 151.501398] sysrq: SysRq : Power Off [ 176s] [ 151.520286] reboot: Power down [ 176s] ### VM INTERACTION END ### [ 176s] [ 176s] lamb01 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:13:42 UTC 2019. [ 176s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:15:23 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:15:23 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5c93f0f234228_5cc15b45f018218f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_9.0/x86_64 Package network:osmocom:nightly/openbsc failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 115s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 115s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 115s] collect2: error: ld returned 1 exit status [ 115s] Makefile:483: recipe for target 'osmo-nitb' failed [ 115s] make[4]: *** [osmo-nitb] Error 1 [ 115s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 115s] Makefile:450: recipe for target 'all-recursive' failed [ 115s] make[3]: *** [all-recursive] Error 1 [ 115s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 115s] Makefile:470: recipe for target 'all-recursive' failed [ 115s] make[2]: *** [all-recursive] Error 1 [ 115s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 115s] Makefile:402: recipe for target 'all' failed [ 115s] make[1]: *** [all] Error 2 [ 115s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 115s] dh_auto_build: make -j1 returned exit code 2 [ 115s] debian/rules:13: recipe for target 'build' failed [ 115s] make: *** [build] Error 2 [ 115s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 115s] [ 115s] lamb58 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:15:17 UTC 2019. [ 115s] [ 115s] ### VM INTERACTION START ### [ 118s] [ 104.415199] sysrq: SysRq : Power Off [ 118s] [ 104.424420] reboot: Power down [ 118s] ### VM INTERACTION END ### [ 118s] [ 118s] lamb58 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:15:21 UTC 2019. [ 118s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:15:57 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:15:57 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_17.10/i586 In-Reply-To: References: Message-ID: <5c93f1136ca2a_5cc15b45f01822af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_17.10/i586 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_17.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 184s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 184s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 184s] collect2: error: ld returned 1 exit status [ 184s] Makefile:483: recipe for target 'osmo-nitb' failed [ 184s] make[4]: *** [osmo-nitb] Error 1 [ 184s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 184s] Makefile:450: recipe for target 'all-recursive' failed [ 184s] make[3]: *** [all-recursive] Error 1 [ 184s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 185s] Makefile:470: recipe for target 'all-recursive' failed [ 185s] make[2]: *** [all-recursive] Error 1 [ 185s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 185s] Makefile:402: recipe for target 'all' failed [ 185s] make[1]: *** [all] Error 2 [ 185s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 185s] dh_auto_build: make -j1 returned exit code 2 [ 185s] debian/rules:13: recipe for target 'build' failed [ 185s] make: *** [build] Error 2 [ 185s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 185s] [ 185s] lamb06 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:15:37 UTC 2019. [ 185s] [ 185s] ### VM INTERACTION START ### [ 188s] [ 168.567970] sysrq: SysRq : Power Off [ 188s] [ 168.589383] reboot: Power down [ 188s] ### VM INTERACTION END ### [ 188s] [ 188s] lamb06 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:15:41 UTC 2019. [ 188s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:16:32 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:16:32 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5c93f12f4d8c3_5cc15b45f0182371@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 165s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 165s] /usr/src/packages/BUILD/openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 165s] collect2: error: ld returned 1 exit status [ 165s] Makefile:483: recipe for target 'osmo-nitb' failed [ 165s] make[4]: *** [osmo-nitb] Error 1 [ 165s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 165s] Makefile:450: recipe for target 'all-recursive' failed [ 165s] make[3]: *** [all-recursive] Error 1 [ 165s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 165s] Makefile:470: recipe for target 'all-recursive' failed [ 165s] make[2]: *** [all-recursive] Error 1 [ 165s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 165s] Makefile:402: recipe for target 'all' failed [ 165s] make[1]: *** [all] Error 2 [ 165s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 165s] dh_auto_build: make -j1 returned exit code 2 [ 165s] debian/rules:13: recipe for target 'build' failed [ 165s] make: *** [build] Error 2 [ 165s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 165s] [ 165s] cloud112 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:16:24 UTC 2019. [ 165s] [ 165s] ### VM INTERACTION START ### [ 168s] [ 143.759670] sysrq: SysRq : Power Off [ 168s] [ 143.766912] reboot: Power down [ 169s] ### VM INTERACTION END ### [ 169s] [ 169s] cloud112 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:16:28 UTC 2019. [ 169s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:17:06 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:17:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5c93f150208f4_5cc15b45f0182453@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/i586 Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 132s] #define VERSION "0.1.0" [ 132s] #define STDC_HEADERS 1 [ 132s] #define HAVE_SYS_TYPES_H 1 [ 132s] #define HAVE_SYS_STAT_H 1 [ 132s] #define HAVE_STDLIB_H 1 [ 132s] #define HAVE_STRING_H 1 [ 132s] #define HAVE_MEMORY_H 1 [ 132s] #define HAVE_STRINGS_H 1 [ 132s] #define HAVE_INTTYPES_H 1 [ 132s] #define HAVE_STDINT_H 1 [ 132s] #define HAVE_UNISTD_H 1 [ 132s] #define HAVE_DLFCN_H 1 [ 132s] #define LT_OBJDIR ".libs/" [ 132s] [ 132s] configure: exit 1 [ 132s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 132s] debian/rules:45: recipe for target 'build' failed [ 132s] make: *** [build] Error 2 [ 132s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 132s] [ 132s] lamb60 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:16:57 UTC 2019. [ 132s] [ 132s] ### VM INTERACTION START ### [ 135s] [ 118.198441] sysrq: SysRq : Power Off [ 135s] [ 118.218851] reboot: Power down [ 135s] ### VM INTERACTION END ### [ 135s] [ 135s] lamb60 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:17:00 UTC 2019. [ 135s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:20:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:20:15 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5c93f20452688_5cc15b45f0182683@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_18.04/i586 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 283s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 283s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 283s] collect2: error: ld returned 1 exit status [ 283s] Makefile:483: recipe for target 'osmo-nitb' failed [ 283s] make[4]: *** [osmo-nitb] Error 1 [ 283s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 283s] Makefile:450: recipe for target 'all-recursive' failed [ 283s] make[3]: *** [all-recursive] Error 1 [ 283s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 283s] Makefile:470: recipe for target 'all-recursive' failed [ 283s] make[2]: *** [all-recursive] Error 1 [ 283s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 283s] Makefile:402: recipe for target 'all' failed [ 283s] make[1]: *** [all] Error 2 [ 283s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 283s] dh_auto_build: cd openbsc && make -j1 returned exit code 2 [ 283s] debian/rules:13: recipe for target 'build' failed [ 283s] make: *** [build] Error 2 [ 283s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 283s] [ 283s] morla3 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:20:11 UTC 2019. [ 283s] [ 283s] ### VM INTERACTION START ### [ 286s] [ 270.599505] sysrq: SysRq : Power Off [ 286s] [ 270.699177] reboot: Power down [ 286s] ### VM INTERACTION END ### [ 286s] [ 286s] morla3 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:20:14 UTC 2019. [ 286s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:21:23 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:21:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5c93f25b39890_5cc15b45f01828ba@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 386s] #define VERSION "0.1.0" [ 386s] #define STDC_HEADERS 1 [ 386s] #define HAVE_SYS_TYPES_H 1 [ 386s] #define HAVE_SYS_STAT_H 1 [ 386s] #define HAVE_STDLIB_H 1 [ 386s] #define HAVE_STRING_H 1 [ 386s] #define HAVE_MEMORY_H 1 [ 386s] #define HAVE_STRINGS_H 1 [ 386s] #define HAVE_INTTYPES_H 1 [ 386s] #define HAVE_STDINT_H 1 [ 386s] #define HAVE_UNISTD_H 1 [ 386s] #define HAVE_DLFCN_H 1 [ 386s] #define LT_OBJDIR ".libs/" [ 386s] [ 386s] configure: exit 1 [ 386s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 386s] debian/rules:45: recipe for target 'build' failed [ 386s] make: *** [build] Error 2 [ 386s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 386s] [ 386s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:21:10 UTC 2019. [ 386s] [ 386s] ### VM INTERACTION START ### [ 389s] [ 375.419904] sysrq: SysRq : Power Off [ 389s] [ 375.457374] reboot: Power down [ 389s] ### VM INTERACTION END ### [ 389s] [ 389s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:21:14 UTC 2019. [ 389s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:21:40 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:21:40 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5c93f25c87e3f_5cc15b45f0183121@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_8.0/x86_64 Package network:osmocom:nightly/openbsc failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 386s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 386s] /usr/src/packages/BUILD/openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 386s] collect2: error: ld returned 1 exit status [ 386s] Makefile:472: recipe for target 'osmo-nitb' failed [ 386s] make[4]: *** [osmo-nitb] Error 1 [ 386s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 386s] Makefile:438: recipe for target 'all-recursive' failed [ 386s] make[3]: *** [all-recursive] Error 1 [ 386s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 386s] Makefile:458: recipe for target 'all-recursive' failed [ 386s] make[2]: *** [all-recursive] Error 1 [ 386s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 386s] Makefile:389: recipe for target 'all' failed [ 386s] make[1]: *** [all] Error 2 [ 386s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 386s] dh_auto_build: make -j1 returned exit code 2 [ 386s] debian/rules:13: recipe for target 'build' failed [ 386s] make: *** [build] Error 2 [ 386s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 386s] [ 386s] cloud108 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:21:29 UTC 2019. [ 386s] [ 386s] ### VM INTERACTION START ### [ 389s] Powering off. [ 389s] [ 355.921601] reboot: Power down [ 391s] ### VM INTERACTION END ### [ 391s] [ 391s] cloud108 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:21:35 UTC 2019. [ 391s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:21:57 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:21:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5c93f27abc78c_5cc15b45f0183465@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 78s] #define VERSION "0.1.0" [ 78s] #define STDC_HEADERS 1 [ 78s] #define HAVE_SYS_TYPES_H 1 [ 78s] #define HAVE_SYS_STAT_H 1 [ 78s] #define HAVE_STDLIB_H 1 [ 78s] #define HAVE_STRING_H 1 [ 78s] #define HAVE_MEMORY_H 1 [ 78s] #define HAVE_STRINGS_H 1 [ 78s] #define HAVE_INTTYPES_H 1 [ 78s] #define HAVE_STDINT_H 1 [ 78s] #define HAVE_UNISTD_H 1 [ 78s] #define HAVE_DLFCN_H 1 [ 78s] #define LT_OBJDIR ".libs/" [ 78s] [ 78s] configure: exit 1 [ 78s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --libexecdir=${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 78s] debian/rules:45: recipe for target 'build' failed [ 78s] make: *** [build] Error 2 [ 78s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 78s] [ 78s] lamb20 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:21:48 UTC 2019. [ 78s] [ 78s] ### VM INTERACTION START ### [ 82s] [ 68.111263] sysrq: SysRq : Power Off [ 82s] [ 68.127481] reboot: Power down [ 82s] ### VM INTERACTION END ### [ 82s] [ 82s] lamb20 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:21:52 UTC 2019. [ 82s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:22:16 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:22:16 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_17.10/x86_64 In-Reply-To: References: Message-ID: <5c93f29598e0e_5cc15b45f018356c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_17.10/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_17.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 84s] #define VERSION "0.1.0" [ 84s] #define STDC_HEADERS 1 [ 84s] #define HAVE_SYS_TYPES_H 1 [ 84s] #define HAVE_SYS_STAT_H 1 [ 84s] #define HAVE_STDLIB_H 1 [ 84s] #define HAVE_STRING_H 1 [ 84s] #define HAVE_MEMORY_H 1 [ 84s] #define HAVE_STRINGS_H 1 [ 84s] #define HAVE_INTTYPES_H 1 [ 84s] #define HAVE_STDINT_H 1 [ 84s] #define HAVE_UNISTD_H 1 [ 84s] #define HAVE_DLFCN_H 1 [ 84s] #define LT_OBJDIR ".libs/" [ 84s] [ 84s] configure: exit 1 [ 84s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 84s] debian/rules:45: recipe for target 'build' failed [ 84s] make: *** [build] Error 2 [ 84s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 84s] [ 84s] lamb17 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:22:03 UTC 2019. [ 84s] [ 84s] ### VM INTERACTION START ### [ 88s] [ 75.866240] sysrq: SysRq : Power Off [ 88s] [ 75.884149] reboot: Power down [ 88s] ### VM INTERACTION END ### [ 88s] [ 88s] lamb17 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:22:08 UTC 2019. [ 88s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:28:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:28:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c93f3ff2d573_5cc15b45f01841f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 120s] #define PACKAGE "osmo-sysmon" [ 120s] #define VERSION "0.1.0" [ 120s] #define STDC_HEADERS 1 [ 120s] #define HAVE_SYS_TYPES_H 1 [ 120s] #define HAVE_SYS_STAT_H 1 [ 120s] #define HAVE_STDLIB_H 1 [ 120s] #define HAVE_STRING_H 1 [ 120s] #define HAVE_MEMORY_H 1 [ 120s] #define HAVE_STRINGS_H 1 [ 120s] #define HAVE_INTTYPES_H 1 [ 120s] #define HAVE_STDINT_H 1 [ 120s] #define HAVE_UNISTD_H 1 [ 120s] #define HAVE_DLFCN_H 1 [ 120s] #define LT_OBJDIR ".libs/" [ 120s] [ 120s] configure: exit 1 [ 120s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 120s] make: *** [debian/rules:45: build] Error 2 [ 120s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 120s] [ 120s] lamb12 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:28:08 UTC 2019. [ 120s] [ 120s] ### VM INTERACTION START ### [ 124s] [ 112.176912] sysrq: SysRq : Power Off [ 124s] [ 112.183024] reboot: Power down [ 124s] ### VM INTERACTION END ### [ 124s] [ 124s] lamb12 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:28:12 UTC 2019. [ 124s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:38:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:38:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5c93f639d4d49_5cc15b45f0185343@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 123s] #define VERSION "0.1.0" [ 123s] #define STDC_HEADERS 1 [ 123s] #define HAVE_SYS_TYPES_H 1 [ 123s] #define HAVE_SYS_STAT_H 1 [ 123s] #define HAVE_STDLIB_H 1 [ 123s] #define HAVE_STRING_H 1 [ 123s] #define HAVE_MEMORY_H 1 [ 123s] #define HAVE_STRINGS_H 1 [ 123s] #define HAVE_INTTYPES_H 1 [ 123s] #define HAVE_STDINT_H 1 [ 123s] #define HAVE_UNISTD_H 1 [ 123s] #define HAVE_DLFCN_H 1 [ 123s] #define LT_OBJDIR ".libs/" [ 123s] [ 123s] configure: exit 1 [ 123s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 123s] debian/rules:45: recipe for target 'build' failed [ 123s] make: *** [build] Error 2 [ 123s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 123s] [ 123s] lamb59 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:38:00 UTC 2019. [ 123s] [ 123s] ### VM INTERACTION START ### [ 125s] [ 112.513975] sysrq: SysRq : Power Off [ 125s] [ 112.519234] reboot: Power down [ 125s] ### VM INTERACTION END ### [ 125s] [ 125s] lamb59 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 20:38:04 UTC 2019. [ 125s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:42:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:42:15 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c93f746c3a96_5cc15b45f018573a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 161s] /usr/include/osmocom/core/application.h:20:5: note: declared here [ 161s] int osmo_init_logging(const struct log_info *) [ 161s] ^~~~~~~~~~~~~~~~~ [ 161s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=null-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o osmo-nitb bsc_hack.o ../../src/libbsc/libbsc.a ../../src/libcommon-cs/libcommon-cs.a ../../src/libmsc/libmsc.a ../../src/libtrau/libtrau.a ../../src/libcommon/libcommon.a -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -losmoabis -lsmpp34 -ldbi [ 161s] libtool: link: gcc -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=null-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-nitb bsc_hack.o ../../src/libbsc/libbsc.a ../../src/libcommon-cs/libcommon-cs.a ../../src/libmsc/libmsc.a ../../src/libtrau/libtrau.a ../../src/libcommon/libcommon.a /usr/lib/x86_64-linux-gnu/libosmovty.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so /usr/lib/x86_64-linux-gnu/libsmpp34.so -ldbi [ 162s] /usr/bin/ld: ../../src/libcommon/libcommon.a(talloc_ctx.o): in function `talloc_ctx_init': [ 162s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 162s] collect2: error: ld returned 1 exit status [ 162s] make[4]: *** [Makefile:485: osmo-nitb] Error 1 [ 162s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 162s] make[3]: *** [Makefile:450: all-recursive] Error 1 [ 162s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 162s] make[2]: *** [Makefile:470: all-recursive] Error 1 [ 162s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 162s] make[1]: *** [Makefile:402: all] Error 2 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 162s] dh_auto_build: cd openbsc && make -j1 returned exit code 2 [ 162s] make: *** [debian/rules:13: build] Error 2 [ 162s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 162s] [ 162s] lamb07 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:42:03 UTC 2019. [ 162s] [ 162s] ### VM INTERACTION START ### [ 165s] [ 153.374030] sysrq: SysRq : Power Off [ 165s] [ 153.401555] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] lamb07 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:42:07 UTC 2019. [ 165s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 20:42:49 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 20:42:49 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5c93f7669a38d_5cc15b45f01859ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 161s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 161s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 161s] collect2: error: ld returned 1 exit status [ 161s] Makefile:483: recipe for target 'osmo-nitb' failed [ 161s] make[4]: *** [osmo-nitb] Error 1 [ 161s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 161s] Makefile:450: recipe for target 'all-recursive' failed [ 161s] make[3]: *** [all-recursive] Error 1 [ 161s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 161s] Makefile:470: recipe for target 'all-recursive' failed [ 161s] make[2]: *** [all-recursive] Error 1 [ 161s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 161s] Makefile:402: recipe for target 'all' failed [ 161s] make[1]: *** [all] Error 2 [ 161s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 161s] dh_auto_build: cd openbsc && make -j1 returned exit code 2 [ 161s] debian/rules:13: recipe for target 'build' failed [ 161s] make: *** [build] Error 2 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] [ 161s] lamb14 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:42:44 UTC 2019. [ 161s] [ 161s] ### VM INTERACTION START ### [ 164s] [ 150.457374] sysrq: SysRq : Power Off [ 164s] [ 150.461954] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] lamb14 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 20:42:47 UTC 2019. [ 164s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:15:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:15:30 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_iface.c: fix copy-paste error In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13370 ) Change subject: libmsc/sgs_iface.c: fix copy-paste error ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I57b773659302ad4c92b6e670c6156e90a50189ba Gerrit-Change-Number: 13370 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 21:15:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:15:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:15:37 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13371 ) Change subject: libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I80cd2e5645d6e391080376250c0853a3f3f821ef Gerrit-Change-Number: 13371 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 21:15:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:15:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:15:52 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_vty.c: don't print SGs socket error twice In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13372 ) Change subject: libmsc/sgs_vty.c: don't print SGs socket error twice ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifea308645c7829691dbcf53e4f59841090119006 Gerrit-Change-Number: 13372 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 21:15:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:17:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:17:31 +0000 Subject: Change in osmo-pcu[master]: Include pdch.h in bts.h even if we're not compiling C++ In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Include pdch.h in bts.h even if we're not compiling C++ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 21 Mar 2019 21:17:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 21 21:19:40 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 21:19:40 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c93fff437177_5cc15b45f019078b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Raspbian_9.0/armv7l Package network:osmocom:nightly/openbsc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 184s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 184s] ./openbsc/src/libcommon/talloc_ctx.c:55: undefined reference to `tall_sigh_ctx' [ 184s] collect2: error: ld returned 1 exit status [ 184s] Makefile:483: recipe for target 'osmo-nitb' failed [ 184s] make[4]: *** [osmo-nitb] Error 1 [ 184s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 184s] Makefile:450: recipe for target 'all-recursive' failed [ 184s] make[3]: *** [all-recursive] Error 1 [ 184s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 184s] Makefile:470: recipe for target 'all-recursive' failed [ 184s] make[2]: *** [all-recursive] Error 1 [ 184s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 184s] Makefile:402: recipe for target 'all' failed [ 184s] make[1]: *** [all] Error 2 [ 184s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 184s] dh_auto_build: make -j1 returned exit code 2 [ 184s] debian/rules:13: recipe for target 'build' failed [ 184s] make: *** [build] Error 2 [ 184s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 184s] [ 184s] armbuild21 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 21:19:30 UTC 2019. [ 184s] [ 184s] ### VM INTERACTION START ### [ 187s] [ 170.503640] SysRq : Power Off [ 187s] [ 170.505902] reboot: Power down [ 188s] ### VM INTERACTION END ### [ 188s] [ 188s] armbuild21 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 21:19:34 UTC 2019. [ 188s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 21:22:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 21:22:15 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5c940089cfc19_5cc15b45f0190883@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_9.0/armv7l Package network:osmocom:nightly/openbsc failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 306s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 306s] ./openbsc/src/libcommon/talloc_ctx.c:55: undefined reference to `tall_sigh_ctx' [ 306s] collect2: error: ld returned 1 exit status [ 306s] Makefile:483: recipe for target 'osmo-nitb' failed [ 306s] make[4]: *** [osmo-nitb] Error 1 [ 306s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 306s] Makefile:450: recipe for target 'all-recursive' failed [ 306s] make[3]: *** [all-recursive] Error 1 [ 306s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 306s] Makefile:470: recipe for target 'all-recursive' failed [ 306s] make[2]: *** [all-recursive] Error 1 [ 306s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 306s] Makefile:402: recipe for target 'all' failed [ 306s] make[1]: *** [all] Error 2 [ 306s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 306s] dh_auto_build: make -j1 returned exit code 2 [ 306s] debian/rules:13: recipe for target 'build' failed [ 306s] make: *** [build] Error 2 [ 306s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 306s] [ 306s] obs-arm-5 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 21:21:52 UTC 2019. [ 306s] [ 306s] ### VM INTERACTION START ### [ 309s] [ 280.625330] sysrq: SysRq : Power Off [ 309s] [ 280.641877] reboot: Power down [ 310s] ### VM INTERACTION END ### [ 310s] [ 310s] obs-arm-5 failed "build openbsc_1.2.0.20190321.dsc" at Thu Mar 21 21:21:56 UTC 2019. [ 310s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13374 Change subject: PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style ...................................................................... PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style Change-Id: I6eaca0ec7fb9c2dc5d59e385bc3a3a8bb85fe23a --- M pcu/PCU_Tests.ttcn 1 file changed, 534 insertions(+), 534 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/13374/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f63c4ad..09885bd 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1,318 +1,318 @@ module PCU_Tests { - import from General_Types all; - import from Osmocom_Types all; - import from GSM_Types all; - import from GSM_RR_Types all; - import from Osmocom_Gb_Types all; - import from BSSGP_Types all; - import from BSSGP_Emulation all; - import from NS_Types all; - import from NS_Emulation all; - import from LLC_Types all; - import from LLC_Templates all; - import from RLCMAC_Types all; - import from RLCMAC_CSN1_Types all; - import from LAPDm_RAW_PT all; - import from GPRS_Context all; - import from GPRS_TBF all; - import from L1CTL_PortType all; - import from MobileL3_Types all; - import from MobileL3_CommonIE_Types all; - import from L3_Templates all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; +import from Osmocom_Gb_Types all; +import from BSSGP_Types all; +import from BSSGP_Emulation all; +import from NS_Types all; +import from NS_Emulation all; +import from LLC_Types all; +import from LLC_Templates all; +import from RLCMAC_Types all; +import from RLCMAC_CSN1_Types all; +import from LAPDm_RAW_PT all; +import from GPRS_Context all; +import from GPRS_TBF all; +import from L1CTL_PortType all; +import from MobileL3_Types all; +import from MobileL3_CommonIE_Types all; +import from L3_Templates all; - modulepar { - BssgpConfig mp_gb_cfg := { - nsei := 1234, - bvci := 1234, - cell_id := { - ra_id := { - lai := { - mcc_mnc := '26242F'H, lac := 13135 - }, - rac := 0 +modulepar { + BssgpConfig mp_gb_cfg := { + nsei := 1234, + bvci := 1234, + cell_id := { + ra_id := { + lai := { + mcc_mnc := '26242F'H, lac := 13135 }, - cell_id := 20960 + rac := 0 }, - sgsn_role := true - }; + cell_id := 20960 + }, + sgsn_role := true + }; - NSConfiguration mp_nsconfig := { - local_udp_port := 23000, - local_ip := "127.0.0.1", - remote_udp_port := 21000, - remote_ip := "127.0.0.1", - nsvci := 0, - nsei := 2342, - role_sgsn := true, - handle_sns := true - }; + NSConfiguration mp_nsconfig := { + local_udp_port := 23000, + local_ip := "127.0.0.1", + remote_udp_port := 21000, + remote_ip := "127.0.0.1", + nsvci := 0, + nsei := 2342, + role_sgsn := true, + handle_sns := true + }; +} + +type component dummy_CT extends BSSGP_Client_CT { + var lapdm_CT lapdm_component; + port LAPDm_PT L1; + + var NS_CT ns_component; + var BSSGP_CT bssgp_component; + + var MmContext g_mmctx := { + tlli := 'FFFFFFFF'O, + n_u := 0 + }; + + var boolean g_initialized := false; +} + +function f_init() runs on dummy_CT { + if (g_initialized == true) { + return; } + g_initialized := true; + /* create a new NS component */ + ns_component := NS_CT.create; + bssgp_component := BSSGP_CT.create; + /* connect our BSSGP port to the BSSGP Emulation */ + connect(self:BSSGP[0], bssgp_component:BSSGP_SP); + connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); + connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); + /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ + connect(bssgp_component:BSCP, ns_component:NS_SP); + /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ + map(ns_component:NSCP, system:NS_CODEC_PORT); + ns_component.start(NSStart(mp_nsconfig)); + bssgp_component.start(BssgpStart(mp_gb_cfg)); - type component dummy_CT extends BSSGP_Client_CT { - var lapdm_CT lapdm_component; - port LAPDm_PT L1; + lapdm_component := lapdm_CT.create; + connect(self:L1, lapdm_component:LAPDM_SP); + map(lapdm_component:L1CTL, system:L1CTL); + lapdm_component.start(LAPDmStart()); - var NS_CT ns_component; - var BSSGP_CT bssgp_component; + f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_establish(); +} - var MmContext g_mmctx := { - tlli := 'FFFFFFFF'O, - n_u := 0 - }; +function f_exit() runs on dummy_CT { + lapdm_component.stop; + ns_component.stop; + bssgp_component.stop; +} - var boolean g_initialized := false; +function f_bssgp_dec_and_log(in octetstring inp) { + log("BSSGP Input: ", inp); + var PDU_BSSGP dec := dec_PDU_BSSGP(inp); + log("BSSGP Decoded: ", dec); +} + +testcase TC_selftest_bssgp() runs on dummy_CT { + const octetstring c_bvc_reset_pcu := '2204820000078108088832f44000c80051e0'O; + const octetstring c_bvc_reset_q := '2204820000078100'O; + const octetstring c_status_pcu := '4107810515882204820000078103'O; + const octetstring c_reset_ack_q := '2304820000'O; + const octetstring c_reset_ack_pcu := '23048200c4'O; + const octetstring c_unblock_pcu := '24048200c4'O; + const octetstring c_unblock_ack_q := '25048200c4'O; + const octetstring c_fc_bvc_pcu := '261e8101058200fa038200c8018200fa1c8200c806820000'O; + const octetstring c_fc_bvc_ack_q := '271e8101'O; + const octetstring c_gmm_mo_att_req := '01bb146ddd000004088832f44000c80051e000800e003b01c001080103e5e000110a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c0002017057bf0ec'O; + const octetstring c_gmm_mt_ac_req := '00bb146ddd0050001682ffff0a8204030e9c41c001081200102198c72477ea104895e8b959acc58b108182f4d045'O; + const octetstring c_gmm_mo_ac_resp := '01bb146ddd000004088832f44000c80051e000800e000e01c00508130122fa361f5fdd623d'O; + const octetstring c_gmm_mt_att_acc := '00bb146ddd0050001682ffff0a8204030e9841c005080201340432f44000c8001805f4fb146ddd0967d0'O; + const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O; + const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O; + + f_bssgp_dec_and_log(c_bvc_reset_pcu); + f_bssgp_dec_and_log(c_bvc_reset_q); + f_bssgp_dec_and_log(c_status_pcu); + f_bssgp_dec_and_log(c_reset_ack_q); + f_bssgp_dec_and_log(c_reset_ack_pcu); + f_bssgp_dec_and_log(c_unblock_pcu); + f_bssgp_dec_and_log(c_unblock_ack_q); + f_bssgp_dec_and_log(c_fc_bvc_pcu); + f_bssgp_dec_and_log(c_fc_bvc_ack_q); + f_bssgp_dec_and_log(c_gmm_mo_att_req); + f_bssgp_dec_and_log(c_gmm_mt_ac_req); + f_bssgp_dec_and_log(c_gmm_mo_ac_resp); + f_bssgp_dec_and_log(c_gmm_mt_att_acc); + f_bssgp_dec_and_log(c_gmm_mt_det_req); + f_bssgp_dec_and_log(c_gmm_mo_att_cpl); + + log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H)); +} + +function f_ns_assert_prepr(in octetstring a, in octetstring b) { + log("NS Input: ", a); + log("NS Expected: ", b); + + if (a != b) { + setverdict(fail, "Values mismatch", a, b); + mtc.stop; + } else { + setverdict(pass); } +} - function f_init() runs on dummy_CT { - if (g_initialized == true) { - return; +function f_ns_dec_and_log(in octetstring inp) { + log("NS Input: ", inp); + var PDU_NS dec := dec_PDU_NS(inp); + log("NS Decoded: ", dec); +} + +testcase TC_selftest_ns() runs on dummy_CT { + const octetstring c_ns_reset_pcu := '000000c4271e813d'O; + + /* single byte length to two byte length */ + f_ns_assert_prepr('04058101'O, '0405000101'O); + f_ns_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O); + /* two byte length to two byte length */ + f_ns_assert_prepr('0405000101'O, '0405000101'O); + /* special case: NS-UNITDATA */ + f_ns_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O); + /* multiple TLVs */ + f_ns_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O); + /* zero-length */ + f_ns_assert_prepr('230080'O, '23000000'O); + + f_ns_dec_and_log(c_ns_reset_pcu); +} + +const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O; + +/* Wrap downlink GMM into LLC, encode + send it via BSSGP to PCU */ +function tx_gmm(BIT1 c_r, in octetstring gmm_pdu, BIT4 sapi := c_LLC_SAPI_LLGMM) runs on dummy_CT { + var PDU_LLC llc; + + //log("GMM Tx: ", dec_PDU_L3_SGSN_MS(gmm_pdu)); + + log(c_r, g_mmctx.n_u, gmm_pdu, sapi); + llc := valueof(ts_LLC_UI(gmm_pdu, sapi, c_r, g_mmctx.n_u)); + log(llc); + g_mmctx.n_u := g_mmctx.n_u + 1; + + log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); + + BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); +} + +/* Establish BSSGP connection to PCU */ +function f_bssgp_establish() runs on dummy_CT { + timer T:= 10.0; + + f_init(); + T.start + alt { + [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } + [] BSSGP[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout establishing BSSGP connection"); + mtc.stop; } - g_initialized := true; - /* create a new NS component */ - ns_component := NS_CT.create; - bssgp_component := BSSGP_CT.create; - /* connect our BSSGP port to the BSSGP Emulation */ - connect(self:BSSGP[0], bssgp_component:BSSGP_SP); - connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); - connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); - /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ - connect(bssgp_component:BSCP, ns_component:NS_SP); - /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ - map(ns_component:NSCP, system:NS_CODEC_PORT); - ns_component.start(NSStart(mp_nsconfig)); - bssgp_component.start(BssgpStart(mp_gb_cfg)); - - lapdm_component := lapdm_CT.create; - connect(self:L1, lapdm_component:LAPDM_SP); - map(lapdm_component:L1CTL, system:L1CTL); - lapdm_component.start(LAPDmStart()); - - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); } + T.stop + log("BSSGP successfully initialized"); +} - function f_exit() runs on dummy_CT { - lapdm_component.stop; - ns_component.stop; - bssgp_component.stop; - } +function f_wait_paging_req_type1(hexstring expected_tmsi) runs on dummy_CT { + var LAPDm_ph_data ph_data; + timer T := 5.0; - function f_bssgp_dec_and_log(in octetstring inp) { - log("BSSGP Input: ", inp); - var PDU_BSSGP dec := dec_PDU_BSSGP(inp); - log("BSSGP Decoded: ", dec); - } + T.start; + alt { + [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { + var octetstring payload := substr(ph_data.lapdm.bbis.payload, 1, lengthof(ph_data.lapdm.bbis.payload) - 1); + var PDU_ML3_NW_MS pdu; - testcase TC_selftest_bssgp() runs on dummy_CT { - const octetstring c_bvc_reset_pcu := '2204820000078108088832f44000c80051e0'O; - const octetstring c_bvc_reset_q := '2204820000078100'O; - const octetstring c_status_pcu := '4107810515882204820000078103'O; - const octetstring c_reset_ack_q := '2304820000'O; - const octetstring c_reset_ack_pcu := '23048200c4'O; - const octetstring c_unblock_pcu := '24048200c4'O; - const octetstring c_unblock_ack_q := '25048200c4'O; - const octetstring c_fc_bvc_pcu := '261e8101058200fa038200c8018200fa1c8200c806820000'O; - const octetstring c_fc_bvc_ack_q := '271e8101'O; - const octetstring c_gmm_mo_att_req := '01bb146ddd000004088832f44000c80051e000800e003b01c001080103e5e000110a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c0002017057bf0ec'O; - const octetstring c_gmm_mt_ac_req := '00bb146ddd0050001682ffff0a8204030e9c41c001081200102198c72477ea104895e8b959acc58b108182f4d045'O; - const octetstring c_gmm_mo_ac_resp := '01bb146ddd000004088832f44000c80051e000800e000e01c00508130122fa361f5fdd623d'O; - const octetstring c_gmm_mt_att_acc := '00bb146ddd0050001682ffff0a8204030e9841c005080201340432f44000c8001805f4fb146ddd0967d0'O; - const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O; - const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O; + if (dec_PDU_ML3_NW_MS_backtrack(payload, pdu) != 0) { + repeat; + } - f_bssgp_dec_and_log(c_bvc_reset_pcu); - f_bssgp_dec_and_log(c_bvc_reset_q); - f_bssgp_dec_and_log(c_status_pcu); - f_bssgp_dec_and_log(c_reset_ack_q); - f_bssgp_dec_and_log(c_reset_ack_pcu); - f_bssgp_dec_and_log(c_unblock_pcu); - f_bssgp_dec_and_log(c_unblock_ack_q); - f_bssgp_dec_and_log(c_fc_bvc_pcu); - f_bssgp_dec_and_log(c_fc_bvc_ack_q); - f_bssgp_dec_and_log(c_gmm_mo_att_req); - f_bssgp_dec_and_log(c_gmm_mt_ac_req); - f_bssgp_dec_and_log(c_gmm_mo_ac_resp); - f_bssgp_dec_and_log(c_gmm_mt_att_acc); - f_bssgp_dec_and_log(c_gmm_mt_det_req); - f_bssgp_dec_and_log(c_gmm_mo_att_cpl); + if (not ischosen(pdu.msgs.rrm)) { + repeat; + } - log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H)); - } - - function f_ns_assert_prepr(in octetstring a, in octetstring b) { - log("NS Input: ", a); - log("NS Expected: ", b); - - if (a != b) { - setverdict(fail, "Values mismatch", a, b); - mtc.stop; - } else { + if (match(pdu, tr_PAGING_REQ1(tr_PAGING_REQ1_MI1_TMSI(hex2oct(expected_tmsi))))) { setverdict(pass); + } else { + repeat; } } - - function f_ns_dec_and_log(in octetstring inp) { - log("NS Input: ", inp); - var PDU_NS dec := dec_PDU_NS(inp); - log("NS Decoded: ", dec); + [] L1.receive { repeat; } + [] T.timeout { setverdict(fail); } } +} - testcase TC_selftest_ns() runs on dummy_CT { - const octetstring c_ns_reset_pcu := '000000c4271e813d'O; +/* Send PS-PAGING via BSSGP to PCU, expect it to show up on L1/Um */ +testcase TC_paging() runs on dummy_CT { + var hexstring tmsi_hex := '01234567'H; + var GsmTmsi tmsi := hex2int(tmsi_hex); - /* single byte length to two byte length */ - f_ns_assert_prepr('04058101'O, '0405000101'O); - f_ns_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O); - /* two byte length to two byte length */ - f_ns_assert_prepr('0405000101'O, '0405000101'O); - /* special case: NS-UNITDATA */ - f_ns_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O); - /* multiple TLVs */ - f_ns_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O); - /* zero-length */ - f_ns_assert_prepr('230080'O, '23000000'O); + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); - f_ns_dec_and_log(c_ns_reset_pcu); - } + var BCCH_tune_req tune_req := { { false, 871 }, true }; + L1.send(tune_req); + /* FIXME: wait for confirm */ - const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O; + /* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */ + /* + TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. + BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); + f_wait_paging_req_type1(hex2oct(g_mmctx.imsi)); + */ - /* Wrap downlink GMM into LLC, encode + send it via BSSGP to PCU */ - function tx_gmm(BIT1 c_r, in octetstring gmm_pdu, BIT4 sapi := c_LLC_SAPI_LLGMM) runs on dummy_CT { - var PDU_LLC llc; + /* Page by TMSI */ + BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); + f_wait_paging_req_type1(tmsi_hex); +} - //log("GMM Tx: ", dec_PDU_L3_SGSN_MS(gmm_pdu)); +/* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ +function f_establish_ul_tbf() runs on dummy_CT { + timer T := 5.0; + var BCCH_tune_req tune_req := { { false, 871 }, true }; + L1.send(tune_req); + /* FIXME: wait for confirm */ - log(c_r, g_mmctx.n_u, gmm_pdu, sapi); - llc := valueof(ts_LLC_UI(gmm_pdu, sapi, c_r, g_mmctx.n_u)); - log(llc); - g_mmctx.n_u := g_mmctx.n_u + 1; - - log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); - - BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); - } - - /* Establish BSSGP connection to PCU */ - function f_bssgp_establish() runs on dummy_CT { - timer T:= 10.0; - - f_init(); - T.start - alt { - [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } - [] BSSGP[0].receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout establishing BSSGP connection"); - mtc.stop; - } - } - T.stop - log("BSSGP successfully initialized"); - } - - function f_wait_paging_req_type1(hexstring expected_tmsi) runs on dummy_CT { - var LAPDm_ph_data ph_data; - timer T := 5.0; - - T.start; - alt { - [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { - var octetstring payload := substr(ph_data.lapdm.bbis.payload, 1, lengthof(ph_data.lapdm.bbis.payload) - 1); - var PDU_ML3_NW_MS pdu; - - if (dec_PDU_ML3_NW_MS_backtrack(payload, pdu) != 0) { - repeat; - } - - if (not ischosen(pdu.msgs.rrm)) { - repeat; - } - - if (match(pdu, tr_PAGING_REQ1(tr_PAGING_REQ1_MI1_TMSI(hex2oct(expected_tmsi))))) { - setverdict(pass); - } else { - repeat; - } - } - [] L1.receive { repeat; } - [] T.timeout { setverdict(fail); } + var TBF_UL_establish_req est_req := { tbf_nr := 0, ra := hex2int('7B'H) }; + L1.send(est_req); + T.start; + /* FIXME: wait for confirm */ + alt { + [] L1.receive(TBF_UL_establish_res:?) {} + [] L1.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout establishing UL TBF"); + mtc.stop; } } + T.stop; +} - /* Send PS-PAGING via BSSGP to PCU, expect it to show up on L1/Um */ - testcase TC_paging() runs on dummy_CT { - var hexstring tmsi_hex := '01234567'H; - var GsmTmsi tmsi := hex2int(tmsi_hex); +/* compute a random TLLI; FIXME: what about TLLI prefix / local/foreign/...? */ +function f_random_tlli() return GprsTlli { + var GprsTlli tlli := f_rnd_octstring(4); + return tlli; +} - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - /* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */ - /* - TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. - BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); - f_wait_paging_req_type1(hex2oct(g_mmctx.imsi)); - */ - - /* Page by TMSI */ - BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); - f_wait_paging_req_type1(tmsi_hex); - } - - /* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ - function f_establish_ul_tbf() runs on dummy_CT { - timer T := 5.0; - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - var TBF_UL_establish_req est_req := { tbf_nr := 0, ra := hex2int('7B'H) }; - L1.send(est_req); - T.start; - /* FIXME: wait for confirm */ - alt { - [] L1.receive(TBF_UL_establish_res:?) {} - [] L1.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout establishing UL TBF"); - mtc.stop; - } +/* Compute the frame number of the uplink block based on current fn + rrbp */ +function f_rrbp_fn(GsmFrameNumber fn, MacRrbp rrbp) return GsmFrameNumber { + var integer add; + select (rrbp) { + case (RRBP_Nplus13_mod_2715648) { + add := 13; } - T.stop; - } - - /* compute a random TLLI; FIXME: what about TLLI prefix / local/foreign/...? */ - function f_random_tlli() return GprsTlli { - var GprsTlli tlli := f_rnd_octstring(4); - return tlli; - } - - /* Compute the frame number of the uplink block based on current fn + rrbp */ - function f_rrbp_fn(GsmFrameNumber fn, MacRrbp rrbp) return GsmFrameNumber { - var integer add; - select (rrbp) { - case (RRBP_Nplus13_mod_2715648) { - add := 13; - } - case (RRBP_Nplus17_or_18_mod_2715648) { - add := 17; /* FIXME: What about 'or 18'? */ - } - case (RRBP_Nplus21_or_22_mod_2715648) { - add := 21; /* FIXME: What about 'or 22'? */ - } - case (RRBP_Nplus26_mod_2715648) { - add := 26; - } + case (RRBP_Nplus17_or_18_mod_2715648) { + add := 17; /* FIXME: What about 'or 18'? */ } - return (fn + add) mod 2715648; + case (RRBP_Nplus21_or_22_mod_2715648) { + add := 21; /* FIXME: What about 'or 22'? */ + } + case (RRBP_Nplus26_mod_2715648) { + add := 26; + } } + return (fn + add) mod 2715648; +} function f_bssgp_wait_ul_ud(template BssgpDecoded bd_exp) runs on dummy_CT { @@ -371,304 +371,304 @@ L1.send(DCCH_release_req:{}); } - testcase TC_rach() runs on dummy_CT { - var BssgpBvci bvci := 196; - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); +testcase TC_rach() runs on dummy_CT { + var BssgpBvci bvci := 196; + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); - f_init(); + f_init(); - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); - } + f_bssgp_establish(); +} - testcase TC_nsem() runs on dummy_CT { +testcase TC_nsem() runs on dummy_CT { - f_bssgp_establish(); + f_bssgp_establish(); - while (true) { - var BssgpDecoded bd; - alt { - [] BSSGP[0].receive(tr_BD_BSSGP(?)) -> value bd { - log("BSSGP Rx: ", bd); - //log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload)); - g_mmctx.tlli := bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI; - tx_gmm(LLC_CR_DL_CMD, gmm_auth_req); - } - [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; } - [] BSSGP[0].receive { repeat; } + while (true) { + var BssgpDecoded bd; + alt { + [] BSSGP[0].receive(tr_BD_BSSGP(?)) -> value bd { + log("BSSGP Rx: ", bd); + //log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload)); + g_mmctx.tlli := bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI; + tx_gmm(LLC_CR_DL_CMD, gmm_auth_req); } + [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; } + [] BSSGP[0].receive { repeat; } } } +} - function f_llc_dec_and_log(in octetstring inp) { - log("LLC Input: ", inp); - var PDU_LLC dec := dec_PDU_LLC(inp); - log("LLC Decoded: ", dec); +function f_llc_dec_and_log(in octetstring inp) { + log("LLC Input: ", inp); + var PDU_LLC dec := dec_PDU_LLC(inp); + log("LLC Decoded: ", dec); +} + +function f_llc_assert(in octetstring a, in octetstring b) { + log("LLC Input: ", a); + log("LLC Expected: ", b); + + if (a != b) { + setverdict(fail, "LLC input ", b, " != expected ", a); + mtc.stop; + } else { + setverdict(pass); } +} - function f_llc_assert(in octetstring a, in octetstring b) { - log("LLC Input: ", a); - log("LLC Expected: ", b); - if (a != b) { - setverdict(fail, "LLC input ", b, " != expected ", a); - mtc.stop; - } else { - setverdict(pass); - } +testcase TC_selftest_llc() runs on dummy_CT { + const octetstring c_gmm_att_pcu := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c00020170580460b'O; + const octetstring c_gmm_att_pcu_nofcs := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c000201705'O; + + f_llc_dec_and_log(c_gmm_att_pcu); + + //f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu); + + log(valueof(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u))); + log(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u)); +} + +testcase TC_selftest_rlcmac() runs on dummy_CT { + var RlcmacDlCtrlBlock dcb; + var RlcmacUlCtrlBlock ucb; + const octetstring c_dl_ul_ack_nack := '40240080400000000000000077628dbba14b2b2b2b2b2b'O; + const octetstring c_dl_data := '0f00007341c001081200102198c72477ea104895e8b959acc58b108182f4d0454300'O; + const octetstring c_dl_data2 := '070002165dc0012b2b2b43c0012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; + const octetstring c_ul_ctrl_ack := '4006ec51b7772b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b'O; + const octetstring c_ul_dl_ack_nack := '4008004000000000000000701000edc0000b2b2b2b2b2b'O; + const octetstring c_dl_ul_assign := '482857628dbbaf0126e68800082b2b2b2b2b2b2b2b2b2b'O; + + log(c_dl_ul_ack_nack); + dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_ack_nack); + log(dcb); + //log(dec_RlcmacDlCtrlMsg(dcb.payload)); + + f_rlcmac_dld_decenc(c_dl_data); + + f_rlcmac_dld_decenc(c_dl_data2); + + log(c_ul_ctrl_ack); + ucb := dec_RlcmacUlCtrlBlock(c_ul_ctrl_ack); + log(ucb); + //log(dec_RlcmacUlCtrlMsg(ucb.payload)); + + log(c_ul_dl_ack_nack); + ucb := dec_RlcmacUlCtrlBlock(c_ul_dl_ack_nack); + log(ucb); + //log(dec_RlcmacUlCtrlMsg(ucb.payload)); + + log(c_dl_ul_assign); + dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_assign); + log(dcb); + //log(dec_RlcmacDlCtrlMsg(dcb.payload)); + + const octetstring c_uld_tlli_noext := '080101a61cab5201c001080103e5e000310a0005f4e61cab5232f44000c8001d1b00'O; + f_rlcmac_uld_decenc(c_uld_tlli_noext); + + const octetstring c_uld_tlli_ext7pad := '0001041da61cab5200201705a96e102b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; + log("ULD_decenc"); + f_rlcmac_uld_decenc(c_uld_tlli_ext7pad); + log("UL_decenc"); + f_rlcmac_ul_decenc(c_uld_tlli_ext7pad); + + f_rlcmac_ul_decenc(c_ul_dl_ack_nack); +} + +function f_rlcmac_ul_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacUlBlock udb := dec_RlcmacUlBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacUlBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; } +} - - testcase TC_selftest_llc() runs on dummy_CT { - const octetstring c_gmm_att_pcu := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c00020170580460b'O; - const octetstring c_gmm_att_pcu_nofcs := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c000201705'O; - - f_llc_dec_and_log(c_gmm_att_pcu); - - //f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu); - - log(valueof(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u))); - log(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u)); +function f_rlcmac_uld_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacUlDataBlock udb := dec_RlcmacUlDataBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacUlDataBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; } +} - testcase TC_selftest_rlcmac() runs on dummy_CT { - var RlcmacDlCtrlBlock dcb; - var RlcmacUlCtrlBlock ucb; - const octetstring c_dl_ul_ack_nack := '40240080400000000000000077628dbba14b2b2b2b2b2b'O; - const octetstring c_dl_data := '0f00007341c001081200102198c72477ea104895e8b959acc58b108182f4d0454300'O; - const octetstring c_dl_data2 := '070002165dc0012b2b2b43c0012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; - const octetstring c_ul_ctrl_ack := '4006ec51b7772b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b'O; - const octetstring c_ul_dl_ack_nack := '4008004000000000000000701000edc0000b2b2b2b2b2b'O; - const octetstring c_dl_ul_assign := '482857628dbbaf0126e68800082b2b2b2b2b2b2b2b2b2b'O; - - log(c_dl_ul_ack_nack); - dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_ack_nack); - log(dcb); - //log(dec_RlcmacDlCtrlMsg(dcb.payload)); - - f_rlcmac_dld_decenc(c_dl_data); - - f_rlcmac_dld_decenc(c_dl_data2); - - log(c_ul_ctrl_ack); - ucb := dec_RlcmacUlCtrlBlock(c_ul_ctrl_ack); - log(ucb); - //log(dec_RlcmacUlCtrlMsg(ucb.payload)); - - log(c_ul_dl_ack_nack); - ucb := dec_RlcmacUlCtrlBlock(c_ul_dl_ack_nack); - log(ucb); - //log(dec_RlcmacUlCtrlMsg(ucb.payload)); - - log(c_dl_ul_assign); - dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_assign); - log(dcb); - //log(dec_RlcmacDlCtrlMsg(dcb.payload)); - - const octetstring c_uld_tlli_noext := '080101a61cab5201c001080103e5e000310a0005f4e61cab5232f44000c8001d1b00'O; - f_rlcmac_uld_decenc(c_uld_tlli_noext); - - const octetstring c_uld_tlli_ext7pad := '0001041da61cab5200201705a96e102b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; - log("ULD_decenc"); - f_rlcmac_uld_decenc(c_uld_tlli_ext7pad); - log("UL_decenc"); - f_rlcmac_ul_decenc(c_uld_tlli_ext7pad); - - f_rlcmac_ul_decenc(c_ul_dl_ack_nack); +function f_rlcmac_dld_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacDlDataBlock udb := dec_RlcmacDlDataBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacDlDataBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; } +} - function f_rlcmac_ul_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacUlBlock udb := dec_RlcmacUlBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacUlBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } + +testcase TC_selftest_rr() runs on dummy_CT { + //const octetstring c_paging_none := '06210001F02B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O + const octetstring c_paging_none := '1506210001F0'O; + const octetstring c_ia_tbf := '2d063f100fe3677bd8440000c800100b2b2b2b2b2b2b2b'O + log(c_paging_none); + log(dec_GsmRrMessage(c_paging_none)); + + log(c_ia_tbf); + log(dec_GsmRrMessage(c_ia_tbf)); +} + +function f_seq_octstr(integer len) return octetstring { + var octetstring payload := ''O; + for (var integer i := 0; i < len; i := i+1 ) { + payload := payload & int2oct(i mod 256, 1); } + return payload; +} - function f_rlcmac_uld_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacUlDataBlock udb := dec_RlcmacUlDataBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacUlDataBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } - } +testcase TC_ul_tbf_single_llc_sizes() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); - function f_rlcmac_dld_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacDlDataBlock udb := dec_RlcmacDlDataBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacDlDataBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } - } - - - testcase TC_selftest_rr() runs on dummy_CT { - //const octetstring c_paging_none := '06210001F02B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O - const octetstring c_paging_none := '1506210001F0'O; - const octetstring c_ia_tbf := '2d063f100fe3677bd8440000c800100b2b2b2b2b2b2b2b'O - log(c_paging_none); - log(dec_GsmRrMessage(c_paging_none)); - - log(c_ia_tbf); - log(dec_GsmRrMessage(c_ia_tbf)); - } - - function f_seq_octstr(integer len) return octetstring { - var octetstring payload := ''O; - for (var integer i := 0; i < len; i := i+1 ) { - payload := payload & int2oct(i mod 256, 1); - } - return payload; - } - - testcase TC_ul_tbf_single_llc_sizes() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - for (var integer len := 1; len <= 1560; len := len+1) { - log("Testing Uplink TBF with single LLC-PDU of ", len, " bytes"); - var octetstring payload := f_seq_octstr(len); - var UlTbfPars ul_tbf_pars := { - ack_mode := true, - initial_cs := CS1, - llc_pdus := { - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)) - } - } - var UlTbfState ul_tbf_state; - f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); - f_ul_tbf(ul_tbf_state); - f_sleep(1.0); - } - - f_exit(); - } - - testcase TC_ul_tbf() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - var octetstring payload := f_seq_octstr(1023); + for (var integer len := 1; len <= 1560; len := len+1) { + log("Testing Uplink TBF with single LLC-PDU of ", len, " bytes"); + var octetstring payload := f_seq_octstr(len); var UlTbfPars ul_tbf_pars := { ack_mode := true, initial_cs := CS1, - llc_pdus := { - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+2)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+3)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+4)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+5)) + llc_pdus := { + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)) } - }; + } var UlTbfState ul_tbf_state; f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); f_ul_tbf(ul_tbf_state); - - f_exit(); + f_sleep(1.0); } - testcase TC_dl_tbf() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); + f_exit(); +} - f_establish_dl_tbf(); +testcase TC_ul_tbf() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); - f_exit(); - } - - function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { - var LAPDm_ph_data ph_data; - var GsmRrMessage rr; - timer T := 10.0; - T.start; - alt { - [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { - rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); - log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { - var TbfPars tbf_pars := valueof(t_TbfParsInit); - log("Received IMM.ASS for our TLLI!"); - tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := - rr.payload.imm_ass.rest_octets.hh.dl.group1.tfi_assignment; - L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); - } else { - repeat; - } + var octetstring payload := f_seq_octstr(1023); + var UlTbfPars ul_tbf_pars := { + ack_mode := true, + initial_cs := CS1, + llc_pdus := { + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+2)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+3)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+4)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+5)) } - [] L1.receive { repeat }; - [] T.timeout { - setverdict(fail, "Timeout waiting for IMM ASS") - mtc.stop; - } + }; + var UlTbfState ul_tbf_state; + f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); + f_ul_tbf(ul_tbf_state); + + f_exit(); +} + +testcase TC_dl_tbf() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); + + f_establish_dl_tbf(); + + f_exit(); +} + +function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { + var LAPDm_ph_data ph_data; + var GsmRrMessage rr; + timer T := 10.0; + T.start; + alt { + [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { + rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); + log("PCH/AGCH DL RR: ", rr); + if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { + var TbfPars tbf_pars := valueof(t_TbfParsInit); + log("Received IMM.ASS for our TLLI!"); + tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := + rr.payload.imm_ass.rest_octets.hh.dl.group1.tfi_assignment; + L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); + } else { + repeat; } - T.stop; - return rr.payload.imm_ass; } - - /* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ - function f_establish_dl_tbf() runs on dummy_CT { - timer T := 5.0; - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - /* sending a GMM PDU as DL-UNITDATA should trigger Paging + DL TBF Assignment */ - tx_gmm('1'B, '01020304'O, c_LLC_SAPI_LLGMM); - - /* Expect an IMM.ASS for PDCH on the AGCH */ - f_wait_tbf_dl(0, g_mmctx.tlli); - - var RLCMAC_ph_data_ind dl; - alt { - [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_DATA_RRBP}) -> -value dl { - var uint6_t tfi := dl.block.data.mac_hdr.hdr_ext.tfi; - var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.data.mac_hdr.mac_hdr.rrbp); - var AckNackDescription an_desc := { /* FIXME: compute this based on state */ - final_ack := '1'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000001'B - } - var RlcmacUlCtrlMsg ctrl_ack; - ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_DL_ACK(tfi, an_desc)); - var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); - L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 871}, ul_block)); - log("Sent DL ACK: ", ul_block); - } - [] L1.receive { repeat; } + [] L1.receive { repeat }; + [] T.timeout { + setverdict(fail, "Timeout waiting for IMM ASS") + mtc.stop; } + } + T.stop; + return rr.payload.imm_ass; +} - f_sleep(10.0); +/* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ +function f_establish_dl_tbf() runs on dummy_CT { + timer T := 5.0; + var BCCH_tune_req tune_req := { { false, 871 }, true }; + L1.send(tune_req); + /* FIXME: wait for confirm */ + + /* sending a GMM PDU as DL-UNITDATA should trigger Paging + DL TBF Assignment */ + tx_gmm('1'B, '01020304'O, c_LLC_SAPI_LLGMM); + + /* Expect an IMM.ASS for PDCH on the AGCH */ + f_wait_tbf_dl(0, g_mmctx.tlli); + + var RLCMAC_ph_data_ind dl; + alt { + [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_DATA_RRBP}) -> value dl { + var uint6_t tfi := dl.block.data.mac_hdr.hdr_ext.tfi; + var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.data.mac_hdr.mac_hdr.rrbp); + var AckNackDescription an_desc := { /* FIXME: compute this based on state */ + final_ack := '1'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000001'B + } + var RlcmacUlCtrlMsg ctrl_ack; + ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_DL_ACK(tfi, an_desc)); + var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); + L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 871}, ul_block)); + log("Sent DL ACK: ", ul_block); + } + [] L1.receive { repeat; } } + f_sleep(10.0); +} - control { - execute(TC_selftest_ns()); - execute(TC_ul_tbf_single_llc_sizes()); - execute(TC_ul_tbf()); - execute(TC_paging()); - } + +control { + execute(TC_selftest_ns()); + execute(TC_ul_tbf_single_llc_sizes()); + execute(TC_ul_tbf()); + execute(TC_paging()); +} + }; -- To view, visit https://gerrit.osmocom.org/13374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6eaca0ec7fb9c2dc5d59e385bc3a3a8bb85fe23a Gerrit-Change-Number: 13374 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Ensure we're always using the same defaults for the CGI Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13375 Change subject: pcu: Ensure we're always using the same defaults for the CGI ...................................................................... pcu: Ensure we're always using the same defaults for the CGI Not all parts of the code explicitly specify each and every parameter of the Cell Gobal Identifier (particularly we don't do that for the PCU INFO IND), and hence multiple parts only interoperate if the same defaults are used in all locations. Change-Id: Iac9be9a8d4ccb4d01cc343d763d2e35873e3844f --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests.default 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/13375/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 5644431..0c3f000 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -657,9 +657,9 @@ template (value) PCUIF_Flags flags := c_PCUIF_Flags_default, template (value) uint16_t mcc := 262, template (value) uint16_t mnc := 42, - template (value) uint16_t lac := 2342, + template (value) uint16_t lac := 13135, template (value) uint8_t rac := 0, - template (value) uint16_t cell_id := 1, + template (value) uint16_t cell_id := 20960, template (value) uint8_t bsic := 7, template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def, template (value) uint32_t version := PCU_IF_VERSION) := { diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index a877045..67c05f8 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -13,11 +13,11 @@ cell_id := { ra_id := { lai := { - mcc_mnc := '00101F'H, lac := 1 + mcc_mnc := '26242F'H, lac := 13135 }, rac := 0 }, - cell_id := 0 + cell_id := 20960 }, sgsn_role := true } -- To view, visit https://gerrit.osmocom.org/13375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iac9be9a8d4ccb4d01cc343d763d2e35873e3844f Gerrit-Change-Number: 13375 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13376 Change subject: pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT ...................................................................... pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT Change-Id: Ic60a7fc657df17ff2d3a889501f0576b98f1f4ad --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/13376/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 6022d36..3e38fa8 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -73,6 +73,10 @@ PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind)); } +function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { + PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); +} + function f_init_ns_codec(integer idx := 0, float guard_secs := 60.0) runs on RAW_NS_CT { var Result res; diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 7513196..9bedff9 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -354,10 +354,6 @@ import from PCUIF_Types all; import from PCUIF_CodecPort all; -private function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { - PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); -} - altstep as_pcu_activate() runs on RAW_PCU_CT { var PCUIF_send_data sd; [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_ACT_REQ(?, ?, ?))) -> value sd { repeat; } -- To view, visit https://gerrit.osmocom.org/13376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic60a7fc657df17ff2d3a889501f0576b98f1f4ad Gerrit-Change-Number: 13376 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSGP_Emulation: Handle incoming BVCI=0 messages Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13377 Change subject: BSSGP_Emulation: Handle incoming BVCI=0 messages ...................................................................... BSSGP_Emulation: Handle incoming BVCI=0 messages Like BVCI=PTP, the BVCI=0 messages must be dispatched by their TLLI, but using the BSSGP_SP_SIG port instead of BSSGP_SP. Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8 --- M library/BSSGP_Emulation.ttcn 1 file changed, 21 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/77/13377/1 diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn index fa33f51..8988926 100644 --- a/library/BSSGP_Emulation.ttcn +++ b/library/BSSGP_Emulation.ttcn @@ -532,7 +532,7 @@ BSSGP_SP.send(f_dec_bssgp(udi.bssgp)) to vc_conn; } - /* Any other BSSGP message: If it has TLLi, route to component; otherwise broadcast */ + /* Any other PTP BSSGP message: If it has TLLi, route to component; otherwise broadcast */ [] BSCP.receive(f_BnsUdInd(?, g_cfg.bvci)) -> value udi { var BssgpDecoded dec := f_dec_bssgp(udi.bssgp); var template OCT4 tlli := f_bssgp_get_tlli(udi.bssgp); @@ -551,6 +551,26 @@ } } + /* Any other SIG BSSGP message: If it has TLLi, route to component; otherwise broadcast */ + [] BSCP.receive(f_BnsUdInd(?, 0)) -> value udi { + var BssgpDecoded dec := f_dec_bssgp(udi.bssgp); + var template OCT4 tlli := f_bssgp_get_tlli(udi.bssgp); + if (isvalue(tlli)) { + vc_conn := f_tbl_comp_by_tlli(valueof(tlli)); + BSSGP_SP_SIG.send(dec) to vc_conn; + } else { + log("No TLLI: Broadcasting ", dec); + /* broadcast this message to all components */ + // TITAN DOESN'T DO THIS, *SIGH*: "BSSGP_SP.send(dec) to all component;" + for (var integer i := 0; i < sizeof(ClientTable); i := i+1) { + if (isbound(ClientTable[i].comp_ref)) { + BSSGP_SP_SIG.send(dec) to ClientTable[i].comp_ref; + } + } + } + } + + [] BSSGP_SP_SIG.receive(PDU_BSSGP:?)-> value bs_pdu sender vc_conn { BSCP.send(f_BnsUdReq(bs_pdu, 0)); } -- To view, visit https://gerrit.osmocom.org/13377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8 Gerrit-Change-Number: 13377 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Add enc_RoutingAreaIdentification() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13378 Change subject: GSM_RR_Types: Add enc_RoutingAreaIdentification() ...................................................................... GSM_RR_Types: Add enc_RoutingAreaIdentification() This allows us to encode a stand-alone RAID as needed in some places. Change-Id: I28222304b2bac893b216c47e6dc002886fab6406 --- M library/GSM_RR_Types.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/13378/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 26783f9..5958569 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -421,6 +421,9 @@ uint8_t rac } with { variant "" }; + external function enc_RoutingAreaIdentification(RoutingAreaIdentification rai) return octetstring + with { extension "prototype(convert)" extension "encode(RAW)" } + /* 44.018 10.5.2.16 */ type record IaRestOctHL { uint6_t freq_par_len, -- To view, visit https://gerrit.osmocom.org/13378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I28222304b2bac893b216c47e6dc002886fab6406 Gerrit-Change-Number: 13378 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13379 Change subject: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME ...................................................................... Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa --- M library/Osmocom_Gb_Types.ttcn 1 file changed, 176 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/13379/1 diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 780c768..623be33 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -732,6 +732,40 @@ unstructured_value := f_oct_or_wc(bvci, 2) } + template (value) TLLI_BSSGP ts_BSSGP_TLLI(template (value) GprsTlli tlli) := { + iEI := '1F'O, + ext := '1'B, + lengthIndicator := { + length1 := 4 + }, + tLLI_Value := tlli + } + template TLLI_BSSGP tr_BSSGP_TLLI(template GprsTlli tlli) := { + iEI := '1F'O, + ext := '1'B, + lengthIndicator := { + length1 := 4 + }, + tLLI_Value := tlli + } + + template (value) Suspend_Reference_Number ts_BSSGP_SUSP_REF(template (value) OCT1 susp_ref) := { + iEI := '1D'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + suspend_Reference_Number_value := susp_ref + } + template Suspend_Reference_Number tr_BSSGP_SUSP_REF(template OCT1 susp_ref) := { + iEI := '1D'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + suspend_Reference_Number_value := susp_ref + } + template IMSI_BSSGP tr_BSSGP_IMSI(template hexstring imsi) := { iEI := '0D'O, ext := '1'B, @@ -781,6 +815,18 @@ lLC_PDU := pdu } + function ts_BSSGP_CAUSE(template (omit) BssgpCause cause) return template (omit) Cause_BSSGP { + var template (omit) Cause_BSSGP ret; + if (istemplatekind(cause, "omit")) { + ret := omit; + } else { + ret.iEI := '07'O; + ret.ext := '1'B; + ret.lengthIndicator := { length1 := 1 }; + ret.cause_Value := int2oct(enum2int(valueof(cause)), 1); + } + return ret; + } function t_BSSGP_CAUSE(template BssgpCause cause) return template Cause_BSSGP { var template Cause_BSSGP ret; ret.iEI := '07'O; @@ -843,7 +889,7 @@ pDU_BSSGP_BVC_RESET := { bssgpPduType := '22'O, bVCI := t_BSSGP_BVCI(bvci), - cause := t_BSSGP_CAUSE(cause), + cause := ts_BSSGP_CAUSE(cause), cell_Identifier := t_BSSGP_IE_CellId(cell_id), feature_bitmap := omit, extended_Feature_Bitmap := omit @@ -1222,5 +1268,134 @@ } } + template (value) Routeing_Area ts_BSSGP_RA_ID(RoutingAreaIdentification input) := { + iEI := '1B'O, + ext := '1'B, + lengthIndicator := { + length1 := 6 + }, + mccDigit1 := input.lai.mcc_mnc[0], + mccDigit2 := input.lai.mcc_mnc[1], + mccDigit3 := input.lai.mcc_mnc[2], + mncDigit3 := input.lai.mcc_mnc[3], + mncDigit1 := input.lai.mcc_mnc[4], + mncDigit2 := input.lai.mcc_mnc[5], + lac := int2oct(input.lai.lac, 2), + rac := int2oct(input.rac, 1) + } + + template (value) PDU_BSSGP ts_BSSGP_SUSPEND(GprsTlli tlli, RoutingAreaIdentification ra_id) := { + pDU_BSSGP_SUSPEND := { + bssgpPduType := '0B'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + template PDU_BSSGP tr_BSSGP_SUSPEND(template GprsTlli tlli, RoutingAreaIdentification ra_id) := { + pDU_BSSGP_SUSPEND := { + bssgpPduType := '0B'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + + template (value) PDU_BSSGP ts_BSSGP_SUSPEND_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template (value) OCT1 susp_ref) := { + pDU_BSSGP_SUSPEND_ACK := { + bssgpPduType := '0C'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := ts_BSSGP_SUSP_REF(susp_ref) + } + } + template PDU_BSSGP tr_BSSGP_SUSPEND_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template OCT1 susp_ref) := { + pDU_BSSGP_SUSPEND_ACK := { + bssgpPduType := '0C'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := tr_BSSGP_SUSP_REF(susp_ref) + } + } + + template (value) PDU_BSSGP ts_BSSGP_SUSPEND_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template (omit) BssgpCause cause) := { + pDU_BSSGP_SUSPEND_NACK := { + bssgpPduType := '0D'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := ts_BSSGP_CAUSE(cause) + } + } + template PDU_BSSGP tr_BSSGP_SUSPEND_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template BssgpCause cause) := { + pDU_BSSGP_SUSPEND_NACK := { + bssgpPduType := '0D'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := t_BSSGP_CAUSE(cause) + } + } + + + + template (value) PDU_BSSGP ts_BSSGP_RESUME(GprsTlli tlli, RoutingAreaIdentification ra_id, + OCT1 susp_ref) := { + pDU_BSSGP_RESUME := { + bssgpPduType := '0E'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := ts_BSSGP_SUSP_REF(susp_ref) + } + } + template PDU_BSSGP tr_BSSGP_RESUME(template GprsTlli tlli, RoutingAreaIdentification ra_id, + template OCT1 susp_ref) := { + pDU_BSSGP_RESUME := { + bssgpPduType := '0E'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := tr_BSSGP_SUSP_REF(susp_ref) + } + } + + template (value) PDU_BSSGP ts_BSSGP_RESUME_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id) + := { + pDU_BSSGP_RESUME_ACK := { + bssgpPduType := '0F'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + template PDU_BSSGP tr_BSSGP_RESUME_ACK(template GprsTlli tlli, + RoutingAreaIdentification ra_id) := { + pDU_BSSGP_RESUME_ACK := { + bssgpPduType := '0F'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + + template (value) PDU_BSSGP ts_BSSGP_RESUME_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template (omit) BssgpCause cause) := { + pDU_BSSGP_RESUME_NACK := { + bssgpPduType := '10'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := ts_BSSGP_CAUSE(cause) + } + } + template PDU_BSSGP tr_BSSGP_RESUME_NACK(template GprsTlli tlli, + RoutingAreaIdentification ra_id, + template BssgpCause cause) := { + pDU_BSSGP_RESUME_NACK := { + bssgpPduType := '10'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := t_BSSGP_CAUSE(cause) + } + } + + + } with { encode "RAW" }; -- To view, visit https://gerrit.osmocom.org/13379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa Gerrit-Change-Number: 13379 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13380 Change subject: pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case ...................................................................... pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case Change-Id: Ifdb64c501095839e86894716769adb53e3c17382 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests.default M pcu/PCU_Tests.ttcn 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/13380/1 diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 623be33..95d3028 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -867,9 +867,9 @@ ret.mccDigit1 := cid.ra_id.lai.mcc_mnc[0]; ret.mccDigit2 := cid.ra_id.lai.mcc_mnc[1]; ret.mccDigit3 := cid.ra_id.lai.mcc_mnc[2]; - ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[5]; - ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[4]; - ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[3]; + ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[3]; + ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[5]; + ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[4]; } if (isvalue(cid.ra_id.lai.lac)) { ret.lac := f_oct_or_wc(cid.ra_id.lai.lac, 2); diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index 67c05f8..2a87345 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -13,7 +13,7 @@ cell_id := { ra_id := { lai := { - mcc_mnc := '26242F'H, lac := 13135 + mcc_mnc := '262F42'H, lac := 13135 }, rac := 0 }, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 09885bd..b18b999 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -28,7 +28,7 @@ cell_id := { ra_id := { lai := { - mcc_mnc := '26242F'H, lac := 13135 + mcc_mnc := '262F42'H, lac := 13135 }, rac := 0 }, -- To view, visit https://gerrit.osmocom.org/13380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifdb64c501095839e86894716769adb53e3c17382 Gerrit-Change-Number: 13380 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13381 Change subject: PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ ...................................................................... PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ Change-Id: Ib7661790b9531be829ee550ce889151ebe1885ac --- M library/PCUIF_Types.ttcn 1 file changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/13381/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 0c3f000..17adbd1 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -772,4 +772,36 @@ } } +template (value) PCUIF_Message ts_PCUIF_SUSP_REQ(template (value) uint8_t bts_nr, + template (value) OCT4 tlli, + template (value) OCT6 ra_id, + template (value) uint8_t cause) := { + msg_type := PCU_IF_MSG_SUSP_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + susp_req := { + tlli := tlli, + ra_id := ra_id, + cause := cause + } + } +} +template PCUIF_Message tr_PCUIF_SUSP_REQ(template uint8_t bts_nr, + template OCT4 tlli, + template OCT6 ra_id, + template uint8_t cause) := { + msg_type := PCU_IF_MSG_SUSP_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + susp_req := { + tlli := tlli, + ra_id := ra_id, + cause := cause + } + } +} + + } with { encode "RAW" variant "BYTEORDER(first)" }; -- To view, visit https://gerrit.osmocom.org/13381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib7661790b9531be829ee550ce889151ebe1885ac Gerrit-Change-Number: 13381 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: make f_bssgp_establish() run on BSSGP_Client_CT Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13382 Change subject: PCU: make f_bssgp_establish() run on BSSGP_Client_CT ...................................................................... PCU: make f_bssgp_establish() run on BSSGP_Client_CT This means it can be used in different/other scenarios, e.g. with tests that use PCUIF directly. Change-Id: I1aa5dc090aac78a85a85ac190343befb0199a093 --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/13382/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index b18b999..80a1bd1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -195,10 +195,9 @@ } /* Establish BSSGP connection to PCU */ -function f_bssgp_establish() runs on dummy_CT { +function f_bssgp_establish() runs on BSSGP_Client_CT { timer T:= 10.0; - f_init(); T.start alt { [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } @@ -386,6 +385,7 @@ testcase TC_nsem() runs on dummy_CT { + f_init(); f_bssgp_establish(); while (true) { -- To view, visit https://gerrit.osmocom.org/13382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1aa5dc090aac78a85a85ac190343befb0199a093 Gerrit-Change-Number: 13382 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:23:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:23:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13383 Change subject: pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing ...................................................................... pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing The PCU is supposed to forward any RR SUSPEND received by the BTS on dedicated channels and pass it to the SGSN via BSSGP. This provides knowledge to the SGSN that the MS is not reachable via PS/TBF anymore until it completes its CC dedicated mode transaction and RESUMEs. Change-Id: Iaf35e0c1087413db1dc7d169fa716df14c78f5db --- M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/13383/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 80a1bd1..4dce7dd 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -663,6 +663,46 @@ f_sleep(10.0); } +/* FIXME: merge this into BSSGP_Client_CT ? */ +type component bssgp_CT extends BSSGP_Client_CT { + var NS_CT ns_component; + var BSSGP_CT bssgp_component; + var boolean g_initialized := false; +} + +/* FIXME: merge this into BSSGP_Client_CT ? */ +function f_init_bssgp() runs on bssgp_CT { + var MmContext mmctx := { + imsi := '262420000000001'H, + tlli := 'FFFFFFFF'O, + n_u := 0 + }; + + + if (g_initialized == true) { + return; + } + g_initialized := true; + + /* create a new NS component */ + ns_component := NS_CT.create; + bssgp_component := BSSGP_CT.create; + /* connect our BSSGP port to the BSSGP Emulation */ + connect(self:BSSGP[0], bssgp_component:BSSGP_SP); + connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); + connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); + /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ + connect(bssgp_component:BSCP, ns_component:NS_SP); + /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ + map(ns_component:NSCP, system:NS_CODEC_PORT); + ns_component.start(NSStart(mp_nsconfig)); + bssgp_component.start(BssgpStart(mp_gb_cfg)); + + f_bssgp_client_register(mmctx.imsi, mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_establish(); +} + + control { execute(TC_selftest_ns()); diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 3e38fa8..96a3f86 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -8,6 +8,9 @@ import from General_Types all; import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; + import from NS_Types all; import from BSSGP_Types all; import from Osmocom_Gb_Types all; @@ -405,6 +408,27 @@ setverdict(pass); } +/* Test component with PCUIF + BSSGP/NS Emulation (no L1CTL) */ +type component bssgp_pcuif_CT extends bssgp_CT, RAW_PCU_CT { +} + +testcase TC_pcuif_suspend() runs on bssgp_pcuif_CT { + var OCT6 ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); + var GprsTlli tlli := 'FFFFFFFF'O; + + /* Initialize PCU interface side */ + f_init_pcuif(); + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + f_sleep(1.0); + f_pcuif_tx(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); + BSSGP_SIG[0].receive(tr_BD_BSSGP(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id))); + + setverdict(pass); +} + control { execute( TC_ns_reset() ); @@ -415,6 +439,8 @@ execute( TC_ns_unblock_retrans() ); execute( TC_ns_full_bringup() ); execute( TC_ns_so_block() ); + + execute( TC_pcuif_suspend() ); } -- To view, visit https://gerrit.osmocom.org/13383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iaf35e0c1087413db1dc7d169fa716df14c78f5db Gerrit-Change-Number: 13383 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 21 21:32:15 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 21:32:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5c9402e2a7621_5cc15b45f01918fa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 123s] #define VERSION "0.1.0" [ 123s] #define STDC_HEADERS 1 [ 123s] #define HAVE_SYS_TYPES_H 1 [ 123s] #define HAVE_SYS_STAT_H 1 [ 123s] #define HAVE_STDLIB_H 1 [ 123s] #define HAVE_STRING_H 1 [ 123s] #define HAVE_MEMORY_H 1 [ 123s] #define HAVE_STRINGS_H 1 [ 123s] #define HAVE_INTTYPES_H 1 [ 123s] #define HAVE_STDINT_H 1 [ 123s] #define HAVE_UNISTD_H 1 [ 123s] #define HAVE_DLFCN_H 1 [ 123s] #define LT_OBJDIR ".libs/" [ 124s] [ 124s] configure: exit 1 [ 124s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 124s] debian/rules:45: recipe for target 'build' failed [ 124s] make: *** [build] Error 2 [ 124s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 124s] [ 124s] armbuild24 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 21:32:09 UTC 2019. [ 124s] [ 124s] ### VM INTERACTION START ### [ 126s] [ 107.212231] SysRq : Power Off [ 126s] [ 107.232347] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] armbuild24 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 21:32:13 UTC 2019. [ 127s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 21 21:33:23 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 Mar 2019 21:33:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c94033e24868_5cc15b45f0192217@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sysmon failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 127s] #define VERSION "0.1.0" [ 127s] #define STDC_HEADERS 1 [ 127s] #define HAVE_SYS_TYPES_H 1 [ 127s] #define HAVE_SYS_STAT_H 1 [ 127s] #define HAVE_STDLIB_H 1 [ 127s] #define HAVE_STRING_H 1 [ 127s] #define HAVE_MEMORY_H 1 [ 127s] #define HAVE_STRINGS_H 1 [ 127s] #define HAVE_INTTYPES_H 1 [ 127s] #define HAVE_STDINT_H 1 [ 127s] #define HAVE_UNISTD_H 1 [ 127s] #define HAVE_DLFCN_H 1 [ 127s] #define LT_OBJDIR ".libs/" [ 127s] [ 127s] configure: exit 1 [ 127s] dh_auto_configure: ./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/arm-linux-gnueabihf --libexecdir=${prefix}/lib/arm-linux-gnueabihf --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 127s] debian/rules:45: recipe for target 'build' failed [ 127s] make: *** [build] Error 2 [ 127s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 127s] [ 127s] armbuild24 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 21:33:14 UTC 2019. [ 127s] [ 127s] ### VM INTERACTION START ### [ 130s] [ 109.283901] SysRq : Power Off [ 130s] [ 109.334113] reboot: Power down [ 130s] ### VM INTERACTION END ### [ 130s] [ 130s] armbuild24 failed "build osmo-sysmon_0.1.0.dsc" at Thu Mar 21 21:33:17 UTC 2019. [ 130s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:37:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:37:14 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use named initializers and explicit array indicies Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13384 Change subject: gprs_debug: Use named initializers and explicit array indicies ...................................................................... gprs_debug: Use named initializers and explicit array indicies This is a much safe way, it allows for modifications of the debug subsystem enum member values without breakage. Also, the syntax introduced here is what we do in all other Osmocom CNI projects. Change-Id: I2be88586ca44b0b8361f96cf3c034c8459244c2c --- M src/gprs_debug.cpp 1 file changed, 99 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/84/13384/1 diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index f1ae6ad..91933a2 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -1,6 +1,7 @@ /* gprs_debug.cpp * * Copyright (C) 2012 Ivan Klyuchnikov + * Copyright (C) 2019 Harald Welte * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -24,20 +25,104 @@ /* default categories */ static const struct log_info_cat default_categories[] = { - {"DCSN1", "\033[1;31m", "Concrete Syntax Notation One (CSN1)", LOGL_INFO, 0}, - {"DL1IF", "\033[1;32m", "GPRS PCU L1 interface (L1IF)", LOGL_INFO, 1}, - {"DRLCMAC", "\033[0;33m", "GPRS RLC/MAC layer (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACDATA", "\033[0;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACDL", "\033[1;33m", "GPRS RLC/MAC layer Downlink (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACUL", "\033[1;36m", "GPRS RLC/MAC layer Uplink (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACSCHED", "\033[0;36m", "GPRS RLC/MAC layer Scheduling (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACMEAS", "\033[1;31m", "GPRS RLC/MAC layer Measurements (RLCMAC)", LOGL_INFO, 1}, - {"DTBF","\033[1;34m", "Temporary Block Flow (TBF)", LOGL_INFO , 1}, - {"DTBFDL","\033[1;34m", "Temporary Block Flow (TBF) Downlink", LOGL_INFO , 1}, - {"DTBFUL","\033[1;34m", "Temporary Block Flow (TBF) Uplink", LOGL_INFO , 1}, - {"DNS","\033[1;34m", "GPRS Network Service Protocol (NS)", LOGL_INFO , 1}, - {"DBSSGP","\033[1;34m", "GPRS BSS Gateway Protocol (BSSGP)", LOGL_INFO , 1}, - {"DPCU", "\033[1;35m", "GPRS Packet Control Unit (PCU)", LOGL_NOTICE, 1}, + [DCSN1] = { + .name = "DCSN1", + .color = "\033[1;31m", + .description = "Concrete Syntax Notation One (CSN1)", + .loglevel = LOGL_INFO, + .enabled = 0, + }, + [DL1IF] = { + .name = "DL1IF", + .color = "\033[1;32m", + .description = "GPRS PCU L1 interface (L1IF)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DRLCMAC] = { + .name = "DRLCMAC", + .color = "\033[0;33m", + .description = "GPRS RLC/MAC layer (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACDATA] = { + .name = "DRLCMACDATA", + .color = "\033[0;33m", + .description = "GPRS RLC/MAC layer Data (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACDL] = { + .name = "DRLCMACDL", + .color = "\033[1;33m", + .description = "GPRS RLC/MAC layer Downlink (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACUL] = { + .name = "DRLCMACUL", + .color = "\033[1;36m", + .description = "GPRS RLC/MAC layer Uplink (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACSCHED] = { + .name = "DRLCMACSCHED", + .color = "\033[0;36m", + .description = "GPRS RLC/MAC layer Scheduling (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACMEAS] = { + .name = "DRLCMACMEAS", + .color = "\033[1;31m", + .description = "GPRS RLC/MAC layer Measurements (RLCMAC)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DTBF] = { + .name = "DTBF", + .color = "\033[1;34m", + .description = "Temporary Block Flow (TBF)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DTBFDL] = { + .name = "DTBFDL", + .color = "\033[1;34m", + .description = "Temporary Block Flow (TBF) Downlink", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DTBFUL] = { + .name = "DTBFUL", + .color = "\033[1;34m", + .description = "Temporary Block Flow (TBF) Uplink", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DNS] = { + .name = "DNS", + .color = "\033[1;34m", + .description = "GPRS Network Service Protocol (NS)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DBSSGP] = { + .name = "DBSSGP", + .color = "\033[1;34m", + .description = "GPRS BSS Gateway Protocol (BSSGP)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DPCU] = { + .name = "DPCU", + .color = "\033[1;35m", + .description = "GPRS Packet Control Unit (PCU)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, }; static int filter_fn(const struct log_context *ctx, -- To view, visit https://gerrit.osmocom.org/13384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2be88586ca44b0b8361f96cf3c034c8459244c2c Gerrit-Change-Number: 13384 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:37:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:37:29 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 13 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 21 Mar 2019 21:37:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:47:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:47:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Disable sending NS-RESET from SGSN to BSS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13047 ) Change subject: NS_Emulation: Disable sending NS-RESET from SGSN to BSS ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2a5775fcaf63ac008adecaf2c602c82e9e4ccb5a Gerrit-Change-Number: 13047 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 21:47:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 21 21:47:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 21 Mar 2019 21:47:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Add minimal support for SGSN-side SNS handling In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13046 ) Change subject: NS_Emulation: Add minimal support for SGSN-side SNS handling ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1edf739d6fd39478f662a28a7d9334ca51c270a3 Gerrit-Change-Number: 13046 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 21 Mar 2019 21:47:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 22 02:43:44 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:43:44 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5c944beb207b3_5cc15b45f022525e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 133s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 133s] /usr/src/packages/BUILD/openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 133s] collect2: error: ld returned 1 exit status [ 133s] Makefile:483: recipe for target 'osmo-nitb' failed [ 133s] make[4]: *** [osmo-nitb] Error 1 [ 133s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 133s] Makefile:450: recipe for target 'all-recursive' failed [ 133s] make[3]: *** [all-recursive] Error 1 [ 133s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 133s] Makefile:470: recipe for target 'all-recursive' failed [ 133s] make[2]: *** [all-recursive] Error 1 [ 133s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 133s] Makefile:402: recipe for target 'all' failed [ 133s] make[1]: *** [all] Error 2 [ 133s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 133s] dh_auto_build: make -j1 returned exit code 2 [ 133s] debian/rules:13: recipe for target 'build' failed [ 133s] make: *** [build] Error 2 [ 133s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 133s] [ 133s] morla3 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:43:31 UTC 2019. [ 133s] [ 133s] ### VM INTERACTION START ### [ 136s] [ 122.937241] sysrq: SysRq : Power Off [ 136s] [ 122.946607] reboot: Power down [ 136s] ### VM INTERACTION END ### [ 136s] [ 136s] morla3 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:43:35 UTC 2019. [ 136s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:46:01 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:46:01 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5c944c81cf1ae_5cc15b45f02253e8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 147s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 147s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 147s] collect2: error: ld returned 1 exit status [ 147s] Makefile:483: recipe for target 'osmo-nitb' failed [ 147s] make[4]: *** [osmo-nitb] Error 1 [ 147s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 147s] Makefile:450: recipe for target 'all-recursive' failed [ 147s] make[3]: *** [all-recursive] Error 1 [ 147s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 147s] Makefile:470: recipe for target 'all-recursive' failed [ 147s] make[2]: *** [all-recursive] Error 1 [ 147s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 147s] Makefile:402: recipe for target 'all' failed [ 147s] make[1]: *** [all] Error 2 [ 147s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 147s] dh_auto_build: cd openbsc && make -j1 returned exit code 2 [ 147s] debian/rules:13: recipe for target 'build' failed [ 147s] make: *** [build] Error 2 [ 148s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 148s] [ 148s] morla3 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:45:55 UTC 2019. [ 148s] [ 148s] ### VM INTERACTION START ### [ 151s] [ 136.273818] sysrq: SysRq : Power Off [ 151s] [ 136.293697] reboot: Power down [ 151s] ### VM INTERACTION END ### [ 151s] [ 151s] morla3 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:45:59 UTC 2019. [ 151s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:46:18 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:46:18 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5c944c82ef331_5cc15b45f02254b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_9.0/x86_64 Package network:osmocom:nightly/openbsc failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 147s] int osmo_init_logging(const struct log_info *) [ 147s] ^~~~~~~~~~~~~~~~~ [ 147s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=null-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -Wl,-z,now -o osmo-nitb bsc_hack.o ../../src/libbsc/libbsc.a ../../src/libcommon-cs/libcommon-cs.a ../../src/libmsc/libmsc.a ../../src/libtrau/libtrau.a ../../src/libcommon/libcommon.a -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -losmoabis -lsmpp34 -ldbi [ 147s] libtool: link: gcc -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=null-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-nitb bsc_hack.o ../../src/libbsc/libbsc.a ../../src/libcommon-cs/libcommon-cs.a ../../src/libmsc/libmsc.a ../../src/libtrau/libtrau.a ../../src/libcommon/libcommon.a /usr/lib/x86_64-linux-gnu/libosmovty.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so /usr/lib/x86_64-linux-gnu/libsmpp34.so -ldbi [ 148s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 148s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 148s] collect2: error: ld returned 1 exit status [ 148s] Makefile:483: recipe for target 'osmo-nitb' failed [ 148s] make[4]: *** [osmo-nitb] Error 1 [ 148s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 148s] Makefile:450: recipe for target 'all-recursive' failed [ 148s] make[3]: *** [all-recursive] Error 1 [ 148s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 148s] Makefile:470: recipe for target 'all-recursive' failed [ 148s] make[2]: *** [all-recursive] Error 1 [ 148s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 148s] Makefile:402: recipe for target 'all' failed [ 148s] make[1]: *** [all] Error 2 [ 148s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 148s] dh_auto_build: make -j1 returned exit code 2 [ 148s] debian/rules:13: recipe for target 'build' failed [ 148s] make: *** [build] Error 2 [ 148s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 148s] [ 148s] cloud106 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:46:10 UTC 2019. [ 148s] [ 148s] ### VM INTERACTION START ### [ 151s] [ 122.717474] sysrq: SysRq : Power Off [ 151s] [ 122.730492] reboot: Power down -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:46:53 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:46:53 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_17.10/x86_64 In-Reply-To: References: Message-ID: <5c944cbb878be_5cc15b45f02255d3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_17.10/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_17.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 112s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 112s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 112s] collect2: error: ld returned 1 exit status [ 112s] Makefile:483: recipe for target 'osmo-nitb' failed [ 112s] make[4]: *** [osmo-nitb] Error 1 [ 112s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 112s] Makefile:450: recipe for target 'all-recursive' failed [ 112s] make[3]: *** [all-recursive] Error 1 [ 112s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 112s] Makefile:470: recipe for target 'all-recursive' failed [ 112s] make[2]: *** [all-recursive] Error 1 [ 112s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 112s] Makefile:402: recipe for target 'all' failed [ 112s] make[1]: *** [all] Error 2 [ 112s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 112s] dh_auto_build: make -j1 returned exit code 2 [ 112s] debian/rules:13: recipe for target 'build' failed [ 112s] make: *** [build] Error 2 [ 112s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 113s] [ 113s] lamb07 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:46:41 UTC 2019. [ 113s] [ 113s] ### VM INTERACTION START ### [ 116s] [ 105.621835] sysrq: SysRq : Power Off [ 116s] [ 105.629590] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] lamb07 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:46:44 UTC 2019. [ 116s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:46:53 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:46:53 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5c944cbbe7b80_5cc15b45f022564f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_9.0/i586 Package network:osmocom:nightly/openbsc failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 157s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 157s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 157s] collect2: error: ld returned 1 exit status [ 157s] Makefile:483: recipe for target 'osmo-nitb' failed [ 157s] make[4]: *** [osmo-nitb] Error 1 [ 157s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 157s] Makefile:450: recipe for target 'all-recursive' failed [ 157s] make[3]: *** [all-recursive] Error 1 [ 157s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 157s] Makefile:470: recipe for target 'all-recursive' failed [ 157s] make[2]: *** [all-recursive] Error 1 [ 157s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 157s] Makefile:402: recipe for target 'all' failed [ 157s] make[1]: *** [all] Error 2 [ 157s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 157s] dh_auto_build: make -j1 returned exit code 2 [ 157s] debian/rules:13: recipe for target 'build' failed [ 157s] make: *** [build] Error 2 [ 157s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 157s] [ 157s] cloud126 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:46:40 UTC 2019. [ 157s] [ 157s] ### VM INTERACTION START ### [ 160s] [ 136.144224] sysrq: SysRq : Power Off [ 160s] [ 136.148852] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] cloud126 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:46:45 UTC 2019. [ 161s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:47:10 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:47:10 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_17.10/i586 In-Reply-To: References: Message-ID: <5c944cbc93da2_5cc15b45f022579e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_17.10/i586 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_17.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 117s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 117s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 117s] collect2: error: ld returned 1 exit status [ 117s] Makefile:483: recipe for target 'osmo-nitb' failed [ 117s] make[4]: *** [osmo-nitb] Error 1 [ 117s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 117s] Makefile:450: recipe for target 'all-recursive' failed [ 117s] make[3]: *** [all-recursive] Error 1 [ 117s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 117s] Makefile:470: recipe for target 'all-recursive' failed [ 117s] make[2]: *** [all-recursive] Error 1 [ 117s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 117s] Makefile:402: recipe for target 'all' failed [ 117s] make[1]: *** [all] Error 2 [ 117s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 117s] dh_auto_build: make -j1 returned exit code 2 [ 117s] debian/rules:13: recipe for target 'build' failed [ 117s] make: *** [build] Error 2 [ 117s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 117s] [ 117s] wildcard2 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:46:56 UTC 2019. [ 117s] [ 117s] ### VM INTERACTION START ### [ 120s] [ 105.016785] sysrq: SysRq : Power Off [ 120s] [ 105.020052] reboot: Power down [ 121s] ### VM INTERACTION END ### [ 121s] [ 121s] wildcard2 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:47:01 UTC 2019. [ 121s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:47:27 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:47:27 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5c944cdb21bcb_5cc15b45f0225829@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_18.04/i586 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 111s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 111s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 111s] collect2: error: ld returned 1 exit status [ 111s] Makefile:483: recipe for target 'osmo-nitb' failed [ 111s] make[4]: *** [osmo-nitb] Error 1 [ 111s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 111s] Makefile:450: recipe for target 'all-recursive' failed [ 111s] make[3]: *** [all-recursive] Error 1 [ 111s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 111s] Makefile:470: recipe for target 'all-recursive' failed [ 111s] make[2]: *** [all-recursive] Error 1 [ 111s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 111s] Makefile:402: recipe for target 'all' failed [ 111s] make[1]: *** [all] Error 2 [ 111s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 111s] dh_auto_build: cd openbsc && make -j1 returned exit code 2 [ 111s] debian/rules:13: recipe for target 'build' failed [ 111s] make: *** [build] Error 2 [ 111s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 111s] [ 111s] sheep84 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:47:11 UTC 2019. [ 111s] [ 111s] ### VM INTERACTION START ### [ 115s] [ 106.222364] sysrq: SysRq : Power Off [ 115s] [ 106.229135] reboot: Power down [ 115s] ### VM INTERACTION END ### [ 115s] [ 115s] sheep84 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:47:16 UTC 2019. [ 115s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:48:01 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:48:01 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5c944cfa43b34_5cc15b45f0225948@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_8.0/x86_64 Package network:osmocom:nightly/openbsc failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 108s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 108s] /usr/src/packages/BUILD/openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 108s] collect2: error: ld returned 1 exit status [ 108s] Makefile:472: recipe for target 'osmo-nitb' failed [ 108s] make[4]: *** [osmo-nitb] Error 1 [ 108s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 108s] Makefile:438: recipe for target 'all-recursive' failed [ 108s] make[3]: *** [all-recursive] Error 1 [ 108s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 108s] Makefile:458: recipe for target 'all-recursive' failed [ 108s] make[2]: *** [all-recursive] Error 1 [ 108s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 108s] Makefile:389: recipe for target 'all' failed [ 108s] make[1]: *** [all] Error 2 [ 108s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 108s] dh_auto_build: make -j1 returned exit code 2 [ 108s] debian/rules:13: recipe for target 'build' failed [ 108s] make: *** [build] Error 2 [ 108s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 108s] [ 108s] lamb03 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:47:52 UTC 2019. [ 108s] [ 108s] ### VM INTERACTION START ### [ 109s] Powering off. [ 109s] [ 96.705248] reboot: Power down [ 109s] ### VM INTERACTION END ### [ 109s] [ 109s] lamb03 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:47:53 UTC 2019. [ 109s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:48:35 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:48:35 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c944d1494255_5cc15b45f0226078@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/openbsc failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 137s] /usr/include/osmocom/core/application.h:20:5: note: declared here [ 137s] int osmo_init_logging(const struct log_info *) [ 137s] ^~~~~~~~~~~~~~~~~ [ 137s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=null-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o osmo-nitb bsc_hack.o ../../src/libbsc/libbsc.a ../../src/libcommon-cs/libcommon-cs.a ../../src/libmsc/libmsc.a ../../src/libtrau/libtrau.a ../../src/libcommon/libcommon.a -ltalloc -losmogsm -losmocore -ltalloc -losmovty -losmocore -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -losmoabis -lsmpp34 -ldbi [ 138s] libtool: link: gcc -Wall -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Werror=null-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-nitb bsc_hack.o ../../src/libbsc/libbsc.a ../../src/libcommon-cs/libcommon-cs.a ../../src/libmsc/libmsc.a ../../src/libtrau/libtrau.a ../../src/libcommon/libcommon.a /usr/lib/x86_64-linux-gnu/libosmovty.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so /usr/lib/x86_64-linux-gnu/libsmpp34.so -ldbi [ 138s] /usr/bin/ld: ../../src/libcommon/libcommon.a(talloc_ctx.o): in function `talloc_ctx_init': [ 138s] ./openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' [ 138s] collect2: error: ld returned 1 exit status [ 138s] make[4]: *** [Makefile:485: osmo-nitb] Error 1 [ 138s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 138s] make[3]: *** [Makefile:450: all-recursive] Error 1 [ 138s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 138s] make[2]: *** [Makefile:470: all-recursive] Error 1 [ 138s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 138s] make[1]: *** [Makefile:402: all] Error 2 [ 138s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 138s] dh_auto_build: cd openbsc && make -j1 returned exit code 2 [ 138s] make: *** [debian/rules:13: build] Error 2 [ 138s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 138s] [ 138s] lamb58 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:48:16 UTC 2019. [ 138s] [ 138s] ### VM INTERACTION START ### [ 141s] [ 128.684256] sysrq: SysRq : Power Off [ 141s] [ 128.691242] reboot: Power down [ 141s] ### VM INTERACTION END ### [ 141s] [ 141s] lamb58 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:48:19 UTC 2019. [ 141s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 02:57:44 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 02:57:44 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5c944f359df0b_5cc15b45f02261b9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_9.0/armv7l Package network:osmocom:nightly/openbsc failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 298s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 298s] ./openbsc/src/libcommon/talloc_ctx.c:55: undefined reference to `tall_sigh_ctx' [ 298s] collect2: error: ld returned 1 exit status [ 298s] Makefile:483: recipe for target 'osmo-nitb' failed [ 298s] make[4]: *** [osmo-nitb] Error 1 [ 298s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 298s] Makefile:450: recipe for target 'all-recursive' failed [ 298s] make[3]: *** [all-recursive] Error 1 [ 298s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 298s] Makefile:470: recipe for target 'all-recursive' failed [ 298s] make[2]: *** [all-recursive] Error 1 [ 298s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 298s] Makefile:402: recipe for target 'all' failed [ 298s] make[1]: *** [all] Error 2 [ 298s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 298s] dh_auto_build: make -j1 returned exit code 2 [ 298s] debian/rules:13: recipe for target 'build' failed [ 298s] make: *** [build] Error 2 [ 298s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 298s] [ 298s] armbuild19 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:57:37 UTC 2019. [ 298s] [ 298s] ### VM INTERACTION START ### [ 302s] [ 262.651029] sysrq: SysRq : Power Off [ 302s] [ 262.653319] reboot: Power down [ 302s] ### VM INTERACTION END ### [ 302s] [ 302s] armbuild19 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 02:57:41 UTC 2019. [ 302s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 22 03:00:18 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 Mar 2019 03:00:18 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5c944fcb90bc6_5cc15b45f022626e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Raspbian_9.0/armv7l Package network:osmocom:nightly/openbsc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 203s] ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': [ 203s] ./openbsc/src/libcommon/talloc_ctx.c:55: undefined reference to `tall_sigh_ctx' [ 203s] collect2: error: ld returned 1 exit status [ 203s] Makefile:483: recipe for target 'osmo-nitb' failed [ 203s] make[4]: *** [osmo-nitb] Error 1 [ 203s] make[4]: Leaving directory '/usr/src/packages/BUILD/openbsc/src/osmo-nitb' [ 203s] Makefile:450: recipe for target 'all-recursive' failed [ 203s] make[3]: *** [all-recursive] Error 1 [ 203s] make[3]: Leaving directory '/usr/src/packages/BUILD/openbsc/src' [ 203s] Makefile:470: recipe for target 'all-recursive' failed [ 203s] make[2]: *** [all-recursive] Error 1 [ 203s] make[2]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 203s] Makefile:402: recipe for target 'all' failed [ 203s] make[1]: *** [all] Error 2 [ 203s] make[1]: Leaving directory '/usr/src/packages/BUILD/openbsc' [ 203s] dh_auto_build: make -j1 returned exit code 2 [ 203s] debian/rules:13: recipe for target 'build' failed [ 203s] make: *** [build] Error 2 [ 203s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 203s] [ 203s] obs-arm-5 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 03:00:07 UTC 2019. [ 203s] [ 203s] ### VM INTERACTION START ### [ 206s] [ 182.420350] sysrq: SysRq : Power Off [ 206s] [ 182.427646] reboot: Power down [ 207s] ### VM INTERACTION END ### [ 207s] [ 207s] obs-arm-5 failed "build openbsc_1.2.0.20190322.dsc" at Fri Mar 22 03:00:11 UTC 2019. [ 207s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:09:24 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Fri, 22 Mar 2019 09:09:24 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13357 ) Change subject: OC-2G: Fix missing header ...................................................................... Patch Set 1: I just imported the patches from nutaq, but I guess we can squash this into the previous commit if you really want. -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 22 Mar 2019 09:09:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:18:17 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 09:18:17 +0000 Subject: Change in osmo-msc[master]: libmsc: fix: properly initialize the SGs server In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13373 ) Change subject: libmsc: fix: properly initialize the SGs server ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie0c31205ac48be7e50d0380a89833771b2708da4 Gerrit-Change-Number: 13373 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-Comment-Date: Fri, 22 Mar 2019 09:18:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:30:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 09:30:52 +0000 Subject: Change in osmocom-bb[master]: trxcon: log FBSB timer events In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13364 ) Change subject: trxcon: log FBSB timer events ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 Gerrit-Change-Number: 13364 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 09:30:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:33:00 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 09:33:00 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13339 ) Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max Gerrit-Comment-Date: Fri, 22 Mar 2019 09:33:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:38:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 09:38:32 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 6: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13163/6//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13163/6//COMMIT_MSG at 11 PS6, Line 11: sting string -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 09:38:32 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:44:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 09:44:01 +0000 Subject: Change in openbsc[master]: Drop openggsn from build dependencies In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13345 ) Change subject: Drop openggsn from build dependencies ...................................................................... Patch Set 1: Code-Review+1 I'm wondering why it was there in the first place. git blame doesn't explain it. Jenkins is failing because of an unrelated issue, but I would suggest we wait with merging this until that other issue is resolved and CI runs through as expected. -- To view, visit https://gerrit.osmocom.org/13345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 Gerrit-Change-Number: 13345 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 09:44:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:56:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 09:56:12 +0000 Subject: Change in osmocom-bb[master]: Add example systemd user unit files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13326 ) Change subject: Add example systemd user unit files ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13326/2/src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service File src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service: https://gerrit.osmocom.org/#/c/13326/2/src/target/trx_toolkit/contrib/systemd/user/osmo-fake_trx.service at 11 PS2, Line 11: ExecStart=%h/source/gsm/osmocom-bb/src/target/trx_toolkit/%j.py --trx-bind-addr 127.0.0.13 --bts-addr 127.0.0.3 --bb-addr 127.0.0.23 > See 'Specifiers' section in https://www.freedesktop.org/software/systemd/man/systemd.unit. [?] Users will need to modify this path anyway, right? So in order to make it easier to understand, I would suggest to put a path without these variables here, e.g.: ExecStart=/home/user/source/osmocom-bb/src/target/trx_toolkit/fake_trx.py -- To view, visit https://gerrit.osmocom.org/13326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idc6b571cfb7796af1cfcf0af2d4e12e53f7a4ee6 Gerrit-Change-Number: 13326 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 22 Mar 2019 09:56:12 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:57:18 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 22 Mar 2019 09:57:18 +0000 Subject: Change in osmocom-bb[master]: trxcon: log FBSB timer events In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13364 ) Change subject: trxcon: log FBSB timer events ...................................................................... trxcon: log FBSB timer events Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 --- M src/host/trxcon/l1ctl.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index b37082e..8145936 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -295,7 +295,7 @@ if (msg == NULL) return; - LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n"); + LOGP(DL1C, LOGL_NOTICE, "FBSB timer fired for ARFCN %u\n", l1l->trx->band_arfcn &~ ARFCN_FLAG_MASK); dl = put_dl_info_hdr(msg, NULL); @@ -361,6 +361,7 @@ /* Start FBSB expire timer */ l1l->fbsb_timer.data = l1l; l1l->fbsb_timer.cb = fbsb_timer_cb; + LOGP(DL1C, LOGL_INFO, "Starting FBSB timer %u ms\n", timeout * FRAME_DURATION_uS / 1000); osmo_timer_schedule(&l1l->fbsb_timer, 0, timeout * FRAME_DURATION_uS); -- To view, visit https://gerrit.osmocom.org/13364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0168d43951494f4010df891f391ddad4b57493d7 Gerrit-Change-Number: 13364 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 09:57:34 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Fri, 22 Mar 2019 09:57:34 +0000 Subject: Change in osmocom-bb[master]: trxcon: use static helper to prepare FBSB In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13355 ) Change subject: trxcon: use static helper to prepare FBSB ...................................................................... trxcon: use static helper to prepare FBSB Use static helper to prepare l1ctl_fbsb_conf - this simplifies fbsb-related functions and make difference between timer callback and regular response more obvious. Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 --- M src/host/trxcon/l1ctl.c 1 file changed, 15 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 8145936..97c2496 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -151,6 +151,19 @@ return dl; } +/* Fill in FBSB payload: BSIC and sync result */ +static struct l1ctl_fbsb_conf *fbsb_conf_make(struct msgb *msg, uint8_t result, uint8_t bsic) +{ + struct l1ctl_fbsb_conf *conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf)); + + LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", result, bsic); + + conf->result = result; + conf->bsic = bsic; + + return conf; +} + int l1ctl_tx_fbsb_conf(struct l1ctl_link *l1l, uint8_t result, struct l1ctl_info_dl *dl_info, uint8_t bsic) { @@ -161,16 +174,10 @@ if (msg == NULL) return -ENOMEM; - LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", - result, bsic); - put_dl_info_hdr(msg, dl_info); talloc_free(dl_info); - /* Fill in FBSB payload: BSIC and sync result */ - conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf)); - conf->result = result; - conf->bsic = bsic; + conf = fbsb_conf_make(msg, result, bsic); /* FIXME: set proper value */ conf->initial_freq_err = 0; @@ -287,7 +294,6 @@ static void fbsb_timer_cb(void *data) { struct l1ctl_link *l1l = (struct l1ctl_link *) data; - struct l1ctl_fbsb_conf *conf; struct l1ctl_info_dl *dl; struct msgb *msg; @@ -302,10 +308,7 @@ /* Fill in current ARFCN */ dl->band_arfcn = htons(l1l->trx->band_arfcn); - /* Fill in FBSB payload: BSIC and sync result */ - conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf)); - conf->result = 255; - conf->bsic = 0; + fbsb_conf_make(msg, 255, 0); /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */ l1l->fbsb_conf_sent = true; -- To view, visit https://gerrit.osmocom.org/13355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61 Gerrit-Change-Number: 13355 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 10:04:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 10:04:24 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Patch Set 13: (1 comment) https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp at 614 PS13, Line 614: INFO Is it worth having this logged as INFO and not DEBUG (like the paging request above)? As I understand, this would get printed every time a SMS gets sent for example, so probably quite often on a busy network. -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 13 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 10:04:24 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 10:08:49 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 10:08:49 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h at 14 PS1, Line 14: (stray tab) https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2592 PS1, Line 2592: static int rslms_is_gprs_susp_req(struct msgb *msg) > Can we please merge this function inside rslms_is_meas_rep and return GSM48_MT_* ? [?] Harald, what do you think? Also would you prefer if I do the follow up changes to this patchset until it is ready, or do you want to do it (since it was your patch)? -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Fri, 22 Mar 2019 10:08:49 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 12:25:10 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 12:25:10 +0000 Subject: Change in libosmocore[master]: Revert "signal.c: Make non-exported tall_sigh_ctx static" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13385 Change subject: Revert "signal.c: Make non-exported tall_sigh_ctx static" ...................................................................... Revert "signal.c: Make non-exported tall_sigh_ctx static" This reverts commit cff2242e686be9ac19ba5757a710bc769a9201ec. The patch broke openbsc: ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': /build/openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' See also: https://lists.osmocom.org/pipermail/openbsc/2019-March/012843.html Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 --- M src/signal.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/13385/1 diff --git a/src/signal.c b/src/signal.c index f988419..be3b777 100644 --- a/src/signal.c +++ b/src/signal.c @@ -36,7 +36,7 @@ * \file signal.c */ -static void *tall_sigh_ctx; +void *tall_sigh_ctx; static LLIST_HEAD(signal_handler_list); struct signal_handler { -- To view, visit https://gerrit.osmocom.org/13385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 Gerrit-Change-Number: 13385 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 12:51:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 22 Mar 2019 12:51:15 +0000 Subject: Change in osmo-ci[master]: scripts: Enable osmo-sysmon debian package OBS build In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13331 ) Change subject: scripts: Enable osmo-sysmon debian package OBS build ...................................................................... scripts: Enable osmo-sysmon debian package OBS build Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 6 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 38c6b33..0e4d655 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -129,6 +129,8 @@ checkout osmo-bsc checkout simtrace2 checkout libosmo-dsp + # TODO: enable once release after libosmocore 1.0.1 and libosmo-netif 0.4.0 are available + # checkout osmo-sysmon build limesuite --git-upstream-tree="$(get_last_tag limesuite)" build libosmocore @@ -154,6 +156,8 @@ build osmo-bsc build simtrace2 build libosmo-dsp + # TODO: enable once release after libosmocore 1.0.1 and libosmo-netif 0.4.0 are available + # build osmo-sysmon cd "$TOP/$PROJ" osc ci -m "Latest Tagged versions of $DT" diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index e2bdd25..ae6c1b5 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -184,6 +184,7 @@ checkout osmo-fl2k checkout simtrace2 checkout libosmo-dsp + checkout osmo-sysmon create_osmo_trx_debian8_jessie @@ -215,6 +216,7 @@ build osmo-fl2k build simtrace2 build libosmo-dsp + build osmo-sysmon download_bumpversion -- To view, visit https://gerrit.osmocom.org/13331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb Gerrit-Change-Number: 13331 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 12:57:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 22 Mar 2019 12:57:02 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13357 ) Change subject: OC-2G: Fix missing header ...................................................................... Patch Set 1: > I just imported the patches from nutaq, but I guess we can squash > this into the previous commit if you really want. I'm fine with keeping them separate, but please if they come from somewhere/someone else please explain where did you take it from so later on we can check what's imported and what's not from there. -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 22 Mar 2019 12:57:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 13:59:55 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 22 Mar 2019 13:59:55 +0000 Subject: Change in libosmocore[master]: Revert "signal.c: Make non-exported tall_sigh_ctx static" In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13385 ) Change subject: Revert "signal.c: Make non-exported tall_sigh_ctx static" ...................................................................... Patch Set 1: Code-Review-1 What about applying this patch in openbsc instead? diff --git a/openbsc/src/libcommon/talloc_ctx.c b/openbsc/src/libcommon/talloc_ctx.c index 5e3d9aebe..2cbb76e57 100644 --- a/openbsc/src/libcommon/talloc_ctx.c +++ b/openbsc/src/libcommon/talloc_ctx.c @@ -47,10 +47,10 @@ void talloc_ctx_init(void *ctx_root) tall_sub_req_ctx = talloc_named_const(ctx_root, 0, "subscr_request"); tall_call_ctx = talloc_named_const(ctx_root, 0, "gsm_call"); tall_paging_ctx = talloc_named_const(ctx_root, 0, "paging_request"); - tall_sigh_ctx = talloc_named_const(ctx_root, 0, "signal_handler"); tall_tqe_ctx = talloc_named_const(ctx_root, 0, "subch_txq_entry"); tall_trans_ctx = talloc_named_const(ctx_root, 0, "transaction"); tall_map_ctx = talloc_named_const(ctx_root, 0, "trau_map_entry"); tall_upq_ctx = talloc_named_const(ctx_root, 0, "trau_upq_entry"); tall_ctr_ctx = talloc_named_const(ctx_root, 0, "counter"); + osmo_signal_talloc_ctx_init(ctx_root); } (+ adding required header, etc.) -- To view, visit https://gerrit.osmocom.org/13385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 Gerrit-Change-Number: 13385 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 22 Mar 2019 13:59:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 14:35:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 14:35:50 +0000 Subject: Change in libosmocore[master]: Revert "signal.c: Make non-exported tall_sigh_ctx static" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13385 ) Change subject: Revert "signal.c: Make non-exported tall_sigh_ctx static" ...................................................................... Patch Set 1: > What about applying this patch in openbsc instead? I am not sure if we need to keep compatibility with previously released openbsc versions. If not, then your patch would be the better choice. -- To view, visit https://gerrit.osmocom.org/13385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 Gerrit-Change-Number: 13385 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 14:35:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:16:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 15:16:38 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: fix sorting release tags Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13386 Change subject: osmocom-list-commits.sh: fix sorting release tags ...................................................................... osmocom-list-commits.sh: fix sorting release tags Properly sort "git ls-remote" output, which looks like: 352f32c9cffef2e5df99cd2f03368dc56c99ee23 refs/tags/0.4.0 Use / as field separator and field no 3, instead of assuming that the string gets split automatically after the tab character (which it does not). Use -V (version sort) instead of numeric sort. Change-Id: I334e684ac5109fc289b68af78165862148074ea7 --- M scripts/osmocom-list-commits.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/86/13386/1 diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh index d8183c6..886cb03 100755 --- a/scripts/osmocom-list-commits.sh +++ b/scripts/osmocom-list-commits.sh @@ -54,7 +54,7 @@ # ... ret="$(git ls-remote --tags "$URL/$1")" ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" - ret="$(echo "$ret" | sort -n -k2)" + ret="$(echo "$ret" | sort -V -t/ -k3)" ret="$(echo "$ret" | tail -n 1)" if [ -n "$ret" ]; then -- To view, visit https://gerrit.osmocom.org/13386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I334e684ac5109fc289b68af78165862148074ea7 Gerrit-Change-Number: 13386 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:45:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:45:59 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: fix sorting release tags In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13386 ) Change subject: osmocom-list-commits.sh: fix sorting release tags ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I334e684ac5109fc289b68af78165862148074ea7 Gerrit-Change-Number: 13386 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 22 Mar 2019 15:45:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:46:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:46:28 +0000 Subject: Change in libosmocore[master]: Revert "signal.c: Make non-exported tall_sigh_ctx static" In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13385 ) Change subject: Revert "signal.c: Make non-exported tall_sigh_ctx static" ...................................................................... Patch Set 1: Code-Review+2 I think we should revert and keep backwards compatibility as long as possible. -- To view, visit https://gerrit.osmocom.org/13385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 Gerrit-Change-Number: 13385 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 15:46:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:46:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:46:37 +0000 Subject: Change in libosmocore[master]: Revert "signal.c: Make non-exported tall_sigh_ctx static" In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13385 ) Change subject: Revert "signal.c: Make non-exported tall_sigh_ctx static" ...................................................................... Revert "signal.c: Make non-exported tall_sigh_ctx static" This reverts commit cff2242e686be9ac19ba5757a710bc769a9201ec. The patch broke openbsc: ../../src/libcommon/libcommon.a(talloc_ctx.o): In function `talloc_ctx_init': /build/openbsc/src/libcommon/talloc_ctx.c:50: undefined reference to `tall_sigh_ctx' See also: https://lists.osmocom.org/pipermail/openbsc/2019-March/012843.html Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 --- M src/signal.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Objections: Pau Espin Pedrol: I would prefer this is not merged as is diff --git a/src/signal.c b/src/signal.c index f988419..be3b777 100644 --- a/src/signal.c +++ b/src/signal.c @@ -36,7 +36,7 @@ * \file signal.c */ -static void *tall_sigh_ctx; +void *tall_sigh_ctx; static LLIST_HEAD(signal_handler_list); struct signal_handler { -- To view, visit https://gerrit.osmocom.org/13385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 Gerrit-Change-Number: 13385 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:47:26 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:47:26 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13357 ) Change subject: OC-2G: Fix missing header ...................................................................... Patch Set 1: yes, with any imports from other repositories we should state the repository URL and commit hash that was imported. -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 22 Mar 2019 15:47:26 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:48:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:48:59 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Patch Set 13: (1 comment) https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp at 614 PS13, Line 614: INFO > Is it worth having this logged as INFO and not DEBUG (like the paging request above)? As I understan [?] I actually think it's exactly the kind of message I would want to see with "INFO". I think in general we often don't use the full "dynamic range" of our log levels. Lots of DEBUG, some ERROR, but very few other levels. -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 13 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 15:48:59 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:50:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:50:51 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2592 PS1, Line 2592: static int rslms_is_gprs_susp_req(struct msgb *msg) > Harald, what do you think? [?] I care about having things resolved as quickly as possible, so if you have time and know what needs to be done: Feel free to go ahead. My pile/queue is always large, so I'm unlinkely to follow-up quickly on things that aren't particularly important/urgent :/ Thanks! And yes, I think Pau's comment is valid. -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Fri, 22 Mar 2019 15:50:51 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:52:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 22 Mar 2019 15:52:03 +0000 Subject: Change in osmo-msc[master]: libmsc: fix: properly initialize the SGs server In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13373 ) Change subject: libmsc: fix: properly initialize the SGs server ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie0c31205ac48be7e50d0380a89833771b2708da4 Gerrit-Change-Number: 13373 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 22 Mar 2019 15:52:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:57:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 15:57:36 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: fix sorting release tags In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13386 ) Change subject: osmocom-list-commits.sh: fix sorting release tags ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I334e684ac5109fc289b68af78165862148074ea7 Gerrit-Change-Number: 13386 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 15:57:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:57:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 15:57:38 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: fix sorting release tags In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13386 ) Change subject: osmocom-list-commits.sh: fix sorting release tags ...................................................................... osmocom-list-commits.sh: fix sorting release tags Properly sort "git ls-remote" output, which looks like: 352f32c9cffef2e5df99cd2f03368dc56c99ee23 refs/tags/0.4.0 Use / as field separator and field no 3, instead of assuming that the string gets split automatically after the tab character (which it does not). Use -V (version sort) instead of numeric sort. Change-Id: I334e684ac5109fc289b68af78165862148074ea7 --- M scripts/osmocom-list-commits.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh index d8183c6..886cb03 100755 --- a/scripts/osmocom-list-commits.sh +++ b/scripts/osmocom-list-commits.sh @@ -54,7 +54,7 @@ # ... ret="$(git ls-remote --tags "$URL/$1")" ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" - ret="$(echo "$ret" | sort -n -k2)" + ret="$(echo "$ret" | sort -V -t/ -k3)" ret="$(echo "$ret" | tail -n 1)" if [ -n "$ret" ]; then -- To view, visit https://gerrit.osmocom.org/13386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I334e684ac5109fc289b68af78165862148074ea7 Gerrit-Change-Number: 13386 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 15:58:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 Mar 2019 15:58:50 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Patch Set 13: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 13 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 15:58:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 16:20:05 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 22 Mar 2019 16:20:05 +0000 Subject: Change in openbsc[master]: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13387 Change subject: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init ...................................................................... talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init There's already a public API to allocate libosmocore's signal ctx, so let's use it instead of accessing the global variable. This will allow to eventually Make the global variable in libosmocore static and private. Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 --- M openbsc/src/libcommon/talloc_ctx.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/87/13387/1 diff --git a/openbsc/src/libcommon/talloc_ctx.c b/openbsc/src/libcommon/talloc_ctx.c index 5e3d9ae..7164851 100644 --- a/openbsc/src/libcommon/talloc_ctx.c +++ b/openbsc/src/libcommon/talloc_ctx.c @@ -19,6 +19,7 @@ #include #include +#include extern void *tall_bsc_ctx; extern void *tall_fle_ctx; @@ -29,7 +30,6 @@ extern void *tall_sub_req_ctx; extern void *tall_call_ctx; extern void *tall_paging_ctx; -extern void *tall_sigh_ctx; extern void *tall_tqe_ctx; extern void *tall_trans_ctx; extern void *tall_map_ctx; @@ -47,10 +47,10 @@ tall_sub_req_ctx = talloc_named_const(ctx_root, 0, "subscr_request"); tall_call_ctx = talloc_named_const(ctx_root, 0, "gsm_call"); tall_paging_ctx = talloc_named_const(ctx_root, 0, "paging_request"); - tall_sigh_ctx = talloc_named_const(ctx_root, 0, "signal_handler"); tall_tqe_ctx = talloc_named_const(ctx_root, 0, "subch_txq_entry"); tall_trans_ctx = talloc_named_const(ctx_root, 0, "transaction"); tall_map_ctx = talloc_named_const(ctx_root, 0, "trau_map_entry"); tall_upq_ctx = talloc_named_const(ctx_root, 0, "trau_upq_entry"); tall_ctr_ctx = talloc_named_const(ctx_root, 0, "counter"); + osmo_signal_talloc_ctx_init(ctx_root); } -- To view, visit https://gerrit.osmocom.org/13387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 Gerrit-Change-Number: 13387 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 16:21:55 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 22 Mar 2019 16:21:55 +0000 Subject: Change in libosmocore[master]: Revert "signal.c: Make non-exported tall_sigh_ctx static" In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13385 ) Change subject: Revert "signal.c: Make non-exported tall_sigh_ctx static" ...................................................................... Patch Set 1: Fine, we merge this revert. We can still merge this to be able to re-revert it in the future at some point: https://gerrit.osmocom.org/#/c/openbsc/+/13387/ -- To view, visit https://gerrit.osmocom.org/13385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib4cb31427a1cad063bc9f1a10b9c3182b314a9f2 Gerrit-Change-Number: 13385 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 16:21:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 19:58:37 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 19:58:37 +0000 Subject: Change in openbsc[master]: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13387 ) Change subject: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 Gerrit-Change-Number: 13387 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 22 Mar 2019 19:58:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 19:59:30 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 19:59:30 +0000 Subject: Change in openbsc[master]: osmo-bsc-mgcp.service: Fix parsing of cmdline option s In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13348 ) Change subject: osmo-bsc-mgcp.service: Fix parsing of cmdline option s ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7 Gerrit-Change-Number: 13348 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 22 Mar 2019 19:59:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 20:13:13 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 20:13:13 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Patch Set 13: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp at 615 PS13, Line 615: susp_req->tlli As far as I can see, tlli is of type uint32_t, and we're using the network byte order on PCU interface. Do we need to use ntohl() here? https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp at 620 PS13, Line 620: susp_req->tlli, ... and does this function expect the network byte order? -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 13 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 22 Mar 2019 20:13:13 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 20:15:35 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 20:15:35 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Fix erroneous endian-swapping of the CellID In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13369 ) Change subject: pcu_l1_if: Fix erroneous endian-swapping of the CellID ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13369/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/13369/1/src/pcu_l1_if.cpp at 447 PS1, Line 447: info_ind->cell_id Don't we need to call ntohs() here? -- To view, visit https://gerrit.osmocom.org/13369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2f6cc930c5dbf8dac386b24b0756df2efe8199e4 Gerrit-Change-Number: 13369 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 22 Mar 2019 20:15:35 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 20:17:18 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 20:17:18 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use named initializers and explicit array indicies In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13384 ) Change subject: gprs_debug: Use named initializers and explicit array indicies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2be88586ca44b0b8361f96cf3c034c8459244c2c Gerrit-Change-Number: 13384 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 22 Mar 2019 20:17:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 22 20:55:28 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 22 Mar 2019 20:55:28 +0000 Subject: Change in osmo-ci[master]: coverity: add OsmocomBB (without firmware) Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13388 Change subject: coverity: add OsmocomBB (without firmware) ...................................................................... coverity: add OsmocomBB (without firmware) Change-Id: I2a4bcca411361484e872361dfd16d46189f52f35 --- M coverity/build_Osmocom.sh M coverity/prepare_source_Osmcocom.sh 2 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/88/13388/1 diff --git a/coverity/build_Osmocom.sh b/coverity/build_Osmocom.sh index 650fa0e..ef45b7a 100755 --- a/coverity/build_Osmocom.sh +++ b/coverity/build_Osmocom.sh @@ -61,6 +61,12 @@ popd } +build_osmocombb() { + pushd osmocom-bb/src/ + make nofirmware + popd +} + cd "$src_dir" rm -rf "$prefix" @@ -92,3 +98,6 @@ build_default osmo-sip-connector build_default osmo-trx + +# OsmocomBB (without firmware) +build_osmocombb diff --git a/coverity/prepare_source_Osmcocom.sh b/coverity/prepare_source_Osmcocom.sh index 6f32474..065630f 100755 --- a/coverity/prepare_source_Osmcocom.sh +++ b/coverity/prepare_source_Osmcocom.sh @@ -26,6 +26,7 @@ osmo-sip-connector \ osmo-trx \ osmo-hlr \ + osmocom-bb \ ; do if [ -d $proj ]; then -- To view, visit https://gerrit.osmocom.org/13388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2a4bcca411361484e872361dfd16d46189f52f35 Gerrit-Change-Number: 13388 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 23 17:57:15 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 23 Mar 2019 17:57:15 +0000 Subject: Change in libosmocore[master]: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13389 Change subject: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() ...................................................................... src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() In gsmtap_source_init() we dynamically allocate a gsmtap_inst struct, but don't free it if the subsequent call to osmo_fd_register() fails. Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960 --- M src/gsmtap_util.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/13389/1 diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 996830f..b04d87f 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -440,6 +440,7 @@ rc = osmo_fd_register(>i->wq.bfd); if (rc < 0) { + talloc_free(gti); close(fd); return NULL; } -- To view, visit https://gerrit.osmocom.org/13389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960 Gerrit-Change-Number: 13389 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 23 21:28:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sat, 23 Mar 2019 21:28:12 +0000 Subject: Change in libosmocore[master]: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13389 ) Change subject: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960 Gerrit-Change-Number: 13389 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Sat, 23 Mar 2019 21:28:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 06:01:34 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 06:01:34 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13259 ) Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... Patch Set 6: As I said: "because the use of sockaddr_storage isn't properly separated from implementations that get compiled on embedded and can't use it; embedded builds include headers naming struct sockaddr_storage even though the platform doesn't support it, and even function implementations using sockaddr_storage get compiled there but can't ever be used because they have unresolved references to functions handling sockaddr_storage" I cannot use struct sockaddr_storage in gsm0808.h, because some freaking .c files #include it also on ARM. I cannot #ifdef out in gsm0808.h, because obviously #include "config.h" doesn't work in a .h file installed in $prefix/include/. So the way headers get included need to be untangled. I don't really want to have to do that. Right now ARM only works because the .h defines an opaque struct sockaddr_storage and only uses pointers. Try it and you will see that ARM builds on jenkins fail. I would have liked to use the struct as non-pointer, but it's more work than anticipated. -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 6 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Sun, 24 Mar 2019 06:01:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 06:02:48 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 06:02:48 +0000 Subject: Change in libosmocore[master]: gsm_utils.h: remove unused include of gsm_08_08.h Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13390 Change subject: gsm_utils.h: remove unused include of gsm_08_08.h ...................................................................... gsm_utils.h: remove unused include of gsm_08_08.h Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 --- M include/osmocom/gsm/gsm_utils.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/13390/1 diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 7d0beca..f8f72a7 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -30,7 +30,6 @@ #include #include -#include #include #define ADD_MODULO(sum, delta, modulo) do { \ -- To view, visit https://gerrit.osmocom.org/13390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 Gerrit-Change-Number: 13390 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 06:02:50 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 06:02:50 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: no need for ST_DESTROYING Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13393 Change subject: fsm_dealloc_test: no need for ST_DESTROYING ...................................................................... fsm_dealloc_test: no need for ST_DESTROYING Now that fsm.c avoids re-entering osmo_fsm_inst_term() twice and gracefully handles FSM instance deallocations for termination cascades, it is actually no longer needed to keep a separate ST_DESTROYING state. ST_DESTROYING was used to flag deallocation and prevent enterint osmo_fsm_inst_term() twice, which works only in a very limited range of scenarios. Remove ST_DESTROYING from fsm_dealloc_test.c to show that all tested scenarios still clean up gracefully. Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 --- M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err 2 files changed, 1,585 insertions(+), 1,864 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/13393/1 -- To view, visit https://gerrit.osmocom.org/13393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 Gerrit-Change-Number: 13393 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 06:02:48 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 06:02:48 +0000 Subject: Change in libosmocore[master]: add fsm_dealloc_test.c Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13391 Change subject: add fsm_dealloc_test.c ...................................................................... add fsm_dealloc_test.c Despite efforts to properly handle "GONE" events and entering a ST_DESTROYING only once, so far this test runs straight into a heap use-after-free. With current fsm.c, it is hard to resolve the situation with the objects named "other" also causing deallocations besides the FSM instance parent/child relations. For illustration, add an "expected" test output file fsm_dealloc_test.err, making this pass will follow in a subsequent patch. Change-Id: If801907c541bca9f524c9e5fd22ac280ca16979a --- M tests/Makefile.am A tests/fsm/fsm_dealloc_test.c A tests/fsm/fsm_dealloc_test.err 3 files changed, 606 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/13391/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 04393f5..afc95a3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -50,7 +50,11 @@ endif if ENABLE_CTRL -check_PROGRAMS += ctrl/ctrl_test fsm/fsm_test +check_PROGRAMS += \ + ctrl/ctrl_test \ + fsm/fsm_test \ + fsm/fsm_dealloc_test \ + $(NULL) endif if ENABLE_STATS_TEST @@ -206,6 +210,9 @@ $(top_builddir)/src/gsm/libosmogsm.la \ $(top_builddir)/src/vty/libosmovty.la +fsm_fsm_dealloc_test_SOURCES = fsm/fsm_dealloc_test.c +fsm_fsm_dealloc_test_LDADD = $(LDADD) + write_queue_wqueue_test_SOURCES = write_queue/wqueue_test.c socket_socket_test_SOURCES = socket/socket_test.c diff --git a/tests/fsm/fsm_dealloc_test.c b/tests/fsm/fsm_dealloc_test.c new file mode 100644 index 0000000..5a493ad --- /dev/null +++ b/tests/fsm/fsm_dealloc_test.c @@ -0,0 +1,476 @@ +/* Scenarios of parent/child FSM instances cleaning up and deallocating from various triggers. */ + +#include + +#include +#include +#include +#include + +enum event { + EV_DESTROY, + EV_CHILD_GONE, + EV_OTHER_GONE, +}; + +static const struct value_string test_fsm_event_names[] = { + OSMO_VALUE_STRING(EV_DESTROY), + OSMO_VALUE_STRING(EV_CHILD_GONE), + OSMO_VALUE_STRING(EV_OTHER_GONE), + {} +}; + +enum state { + ST_ALIVE, + ST_DESTROYING, +}; + +enum objname { + root = 0, + branch0, + twig0a, + twig0b, + branch1, + twig1a, + twig1b, + + other, + scene_size +}; + +struct scene { + struct obj *o[scene_size]; + + /* The use count is actually just to help tracking what functions have not exited yet */ + struct osmo_use_count use_count; +}; + +int use_cb(struct osmo_use_count_entry *use_count_entry, int32_t old_use_count, const char *file, int line) +{ + char buf[128]; + LOGP(DLGLOBAL, LOGL_DEBUG, "%s\n", osmo_use_count_name_buf(buf, sizeof(buf), use_count_entry->use_count)); + return 0; +} + +/* References to related actual objects that are tied to FSM instances. */ +struct obj { + struct osmo_fsm_inst *fi; + struct scene *s; + struct obj *parent; + struct obj *child[2]; + struct obj *other[3]; +}; + +static void scene_forget_obj(struct scene *s, struct obj *obj) +{ + int i; + for (i = 0; i < ARRAY_SIZE(obj->s->o); i++) { + if (obj->s->o[i] != obj) + continue; + LOGPFSML(obj->fi, LOGL_DEBUG, "scene forgets %s\n", obj->fi->id); + obj->s->o[i] = NULL; + } +} + +struct scene *g_scene = NULL; + +#define GET() \ + char *token = talloc_asprintf(g_scene, "%s.%s()", obj->fi->id, __func__); \ + osmo_use_count_get_put(&g_scene->use_count, token, 1) + +#define PUT() osmo_use_count_get_put(&g_scene->use_count, token, -1) + +void alive_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + LOGPFSML(fi, LOGL_DEBUG, "%s()\n", __func__); +} + +/* Remove obj->other[*] reference, return true if found and removed, false if not. */ +bool other_gone(struct obj *obj, struct obj *other) +{ + int i; + GET(); + for (i = 0; i < ARRAY_SIZE(obj->other); i++) { + if (obj->other[i] == other) { + obj->other[i] = NULL; + LOGPFSML(obj->fi, LOGL_DEBUG, "EV_OTHER_GONE: Dropped reference %s.other[%d] = %s\n", obj->fi->id, i, + other->fi->id); + PUT(); + return true; + } + } + PUT(); + return false; +} + +/* Remove obj->child[*] reference, return true if more children remain after this, false if all are gone */ +bool child_gone(struct obj *obj, struct obj *child) +{ + int i; + bool found; + if (!child) { + LOGPFSML(obj->fi, LOGL_DEBUG, "EV_CHILD_GONE with NULL data, must be a parent_term event. Ignore.\n"); + return true; + } + GET(); + found = false; + for (i = 0; i < ARRAY_SIZE(obj->child); i++) { + if (obj->child[i] == child) { + obj->child[i] = NULL; + LOGPFSML(obj->fi, LOGL_DEBUG, "EV_CHILD_GONE: Dropped reference %s.child[%d] = %s\n", obj->fi->id, i, + child->fi->id); + found = true; + } + } + if (!found) + LOGPFSML(obj->fi, LOGL_ERROR, "EV_CHILD_GONE: cannot find child %s\n", + child && child->fi ? child->fi->id : "(null)"); + + /* Any children left? */ + for (i = 0; i < ARRAY_SIZE(obj->child); i++) { + if (obj->child[i]) { + LOGPFSML(obj->fi, LOGL_DEBUG, "still exists: child[%d]\n", i); + PUT(); + return true; + } + } + LOGPFSML(obj->fi, LOGL_DEBUG, "No more children\n"); + PUT(); + return false; +} + +void alive(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct obj *obj = fi->priv; + GET(); + LOGPFSML(fi, LOGL_DEBUG, "%s(%s)\n", __func__, osmo_fsm_event_name(fi->fsm, event)); + switch (event) { + case EV_OTHER_GONE: + if (other_gone(obj, data)) { + /* Something this object depends on is gone, trigger deallocation */ + osmo_fsm_inst_state_chg(fi, ST_DESTROYING, 0, 0); + } + break; + + case EV_CHILD_GONE: + if (!child_gone(obj, data)) { + /* All children are gone. Deallocate. */ + osmo_fsm_inst_state_chg(fi, ST_DESTROYING, 0, 0); + } + break; + + case EV_DESTROY: + osmo_fsm_inst_state_chg(fi, ST_DESTROYING, 0, 0); + break; + + default: + OSMO_ASSERT(false); + } + PUT(); +} + +void destroying_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct obj *obj = fi->priv; + GET(); + LOGPFSML(fi, LOGL_DEBUG, "%s() from %s\n", __func__, osmo_fsm_state_name(fi->fsm, prev_state)); + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, 0); + PUT(); +} + +void destroying(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct obj *obj = fi->priv; + GET(); + LOGPFSML(fi, LOGL_DEBUG, "%s(%s)\n", __func__, osmo_fsm_event_name(fi->fsm, event)); + switch (event) { + case EV_OTHER_GONE: + other_gone(obj, data); + break; + + case EV_CHILD_GONE: + child_gone(obj, data); + break; + + case EV_DESTROY: + LOGPFSML(fi, LOGL_DEBUG, "already destroying\n"); + break; + + default: + OSMO_ASSERT(false); + } + PUT(); +} + +#define S(x) (1 << (x)) + +static const struct osmo_fsm_state test_fsm_states[] = { + [ST_ALIVE] = { + .name = "alive", + .in_event_mask = 0 + | S(EV_CHILD_GONE) + | S(EV_OTHER_GONE) + | S(EV_DESTROY) + , + .out_state_mask = 0 + | S(ST_ALIVE) + | S(ST_DESTROYING) + , + .onenter = alive_onenter, + .action = alive, + }, + [ST_DESTROYING] = { + .name = "destroying", + .in_event_mask = 0 + | S(EV_CHILD_GONE) + | S(EV_OTHER_GONE) + | S(EV_DESTROY) + , + .out_state_mask = 0 + | S(ST_DESTROYING) + , + .onenter = destroying_onenter, + .action = destroying, + }, +}; + +void cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + struct obj *obj = fi->priv; + int i; + GET(); + LOGPFSML(fi, LOGL_DEBUG, "%s()\n", __func__); + + /* Remove from the scene overview for this test */ + scene_forget_obj(obj->s, obj); + + /* Signal "other" objects */ + for (i = 0; i < ARRAY_SIZE(obj->other); i++) { + struct obj *other = obj->other[i]; + if (!other) + continue; + LOGPFSML(fi, LOGL_DEBUG, "removing reference %s.other[%d] -> %s\n", + obj->fi->id, i, other->fi->id); + obj->other[i] = NULL; + osmo_fsm_inst_dispatch(other->fi, EV_OTHER_GONE, obj); + } + + if (obj->parent) + osmo_fsm_inst_dispatch(obj->parent->fi, EV_CHILD_GONE, obj); + + /* children are handled by fsm.c: term event / osmo_fsm_inst_term_children() */ + LOGPFSML(fi, LOGL_DEBUG, "%s() done\n", __func__); + PUT(); +} + +int timer_cb(struct osmo_fsm_inst *fi) +{ + LOGPFSML(fi, LOGL_DEBUG, "%s()\n", __func__); + return 1; +} + +void pre_term(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + LOGPFSML(fi, LOGL_DEBUG, "%s()\n", __func__); +} + +struct osmo_fsm test_fsm = { + .name = "test", + .states = test_fsm_states, + .num_states = ARRAY_SIZE(test_fsm_states), + .cleanup = cleanup, + .timer_cb = timer_cb, + .event_names = test_fsm_event_names, + .pre_term = pre_term, + .log_subsys = DLGLOBAL, +}; + +void *ctx = NULL; + +static struct obj *obj_alloc(struct scene *s, struct obj *parent, const char *id) { + struct osmo_fsm_inst *fi; + struct obj *obj; + if (!parent) { + fi = osmo_fsm_inst_alloc(&test_fsm, s, NULL, LOGL_DEBUG, id); + OSMO_ASSERT(fi); + } else { + fi = osmo_fsm_inst_alloc_child(&test_fsm, parent->fi, EV_CHILD_GONE); + OSMO_ASSERT(fi); + osmo_fsm_inst_update_id(fi, id); + } + + obj = talloc_zero(fi, struct obj); + fi->priv = obj; + *obj = (struct obj){ + .fi = fi, + .s = s, + .parent = parent, + }; + + if (parent) { + int i; + for (i = 0; i < ARRAY_SIZE(parent->child); i++) { + if (parent->child[i]) + continue; + parent->child[i] = obj; + break; + } + } + + return obj; +}; + +void obj_add_other(struct obj *a, struct obj *b) +{ + int i; + for (i = 0; i < ARRAY_SIZE(a->other); i++) { + if (a->other[i]) + i++; + a->other[i] = b; + LOGPFSML(a->fi, LOGL_DEBUG, "%s.other[%d] = %s\n", a->fi->id, i, b->fi->id); + return; + } +} + +void obj_set_other(struct obj *a, struct obj *b) +{ + obj_add_other(a, b); + obj_add_other(b, a); +} + +static struct scene *scene_alloc() +{ + struct scene *s = talloc_zero(ctx, struct scene); + s->use_count.talloc_object = s; + s->use_count.use_cb = use_cb; + + LOGP(DLGLOBAL, LOGL_DEBUG, "%s()\n", __func__); + + /* + s->o[root] = obj_alloc(s, NULL, "root"); + */ + + s->o[branch0] = obj_alloc(s, s->o[root], "_branch0"); + + s->o[twig0a] = obj_alloc(s, s->o[branch0], "__twig0a"); + + /* + s->o[twig0b] = obj_alloc(s, s->o[branch0], "__twig0b"); + + s->o[branch1] = obj_alloc(s, s->o[root], "_branch1"); + s->o[twig1a] = obj_alloc(s, s->o[branch1], "__twig1a"); + s->o[twig1b] = obj_alloc(s, s->o[branch1], "__twig1b"); + */ + + s->o[other] = obj_alloc(s, NULL, "other"); + + obj_set_other(s->o[branch0], s->o[other]); + obj_set_other(s->o[twig0a], s->o[other]); + + return s; +} + +static int scene_dump(struct scene *s) +{ + int i; + int got = 0; + for (i = 0; i < ARRAY_SIZE(s->o); i++) { + if (!s->o[i]) + continue; + LOGP(DLGLOBAL, LOGL_DEBUG, " %s\n", s->o[i]->fi->id); + got++; + } + return got; +} + +static void scene_clean(struct scene *s) +{ + int i; + for (i = 0; i < ARRAY_SIZE(s->o); i++) { + if (!s->o[i]) + continue; + osmo_fsm_inst_term(s->o[i]->fi, OSMO_FSM_TERM_ERROR, 0); + s->o[i] = NULL; + } + talloc_free(s); +} + +void obj_destroy(struct obj *obj) +{ + osmo_fsm_inst_dispatch(obj->fi, EV_DESTROY, NULL); +} + +void obj_term(struct obj *obj) +{ + osmo_fsm_inst_term(obj->fi, OSMO_FSM_TERM_REGULAR, NULL); +} + +void test_dealloc(enum objname trigger, bool by_destroy_event) +{ + struct scene *s = scene_alloc(); + const char *label = by_destroy_event ? "destroy-event" : "term"; + int remain; + g_scene = s; + if (!s->o[trigger]) { + LOGP(DLGLOBAL, LOGL_DEBUG, "--- Test disabled: object %d was not created. Cleaning up.\n", + trigger); + scene_clean(s); + return; + } + LOGP(DLGLOBAL, LOGL_DEBUG, "------ before %s cascade, got:\n", label); + scene_dump(s); + LOGP(DLGLOBAL, LOGL_DEBUG, "---\n"); + LOGP(DLGLOBAL, LOGL_DEBUG, "--- %s at %s\n", label, s->o[trigger]->fi->id); + + if (by_destroy_event) + obj_destroy(s->o[trigger]); + else + obj_term(s->o[trigger]); + + LOGP(DLGLOBAL, LOGL_DEBUG, "--- after %s cascade:\n", label); + remain = scene_dump(s); + if (remain) { + LOGP(DLGLOBAL, LOGL_DEBUG, "--- %d objects remain. cleaning up\n", remain); + } else + LOGP(DLGLOBAL, LOGL_DEBUG, "--- all deallocated.\n"); + scene_clean(s); +} + +int main(void) +{ + enum objname trigger; + size_t ctx_blocks; + size_t ctx_size; + int by_destroy_event; + + ctx = talloc_named_const(NULL, 0, "main"); + osmo_init_logging2(ctx, NULL); + + log_set_print_filename(osmo_stderr_target, 0); + log_set_print_level(osmo_stderr_target, 1); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); + osmo_fsm_log_addr(false); + + log_set_category_filter(osmo_stderr_target, DLGLOBAL, 1, LOGL_DEBUG); + + osmo_fsm_register(&test_fsm); + + ctx_blocks = talloc_total_blocks(ctx); + ctx_size = talloc_total_size(ctx); + + for (trigger = 0; trigger < scene_size; trigger++) { + for (by_destroy_event = 0; by_destroy_event < 2; by_destroy_event++) { + test_dealloc(trigger, (bool)by_destroy_event); + if (ctx_blocks != talloc_total_blocks(ctx) + || ctx_size != talloc_total_size(ctx)) { + talloc_report_full(ctx, stderr); + OSMO_ASSERT(false); + } + } + } + + talloc_free(ctx); + return 0; +} diff --git a/tests/fsm/fsm_dealloc_test.err b/tests/fsm/fsm_dealloc_test.err new file mode 100644 index 0000000..1719677 --- /dev/null +++ b/tests/fsm/fsm_dealloc_test.err @@ -0,0 +1,122 @@ +DLGLOBAL DEBUG scene_alloc() +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: is child of test(_branch0) +DLGLOBAL DEBUG test(other){alive}: Allocated +DLGLOBAL DEBUG test(_branch0){alive}: _branch0.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[0] = _branch0 +DLGLOBAL DEBUG test(__twig0a){alive}: __twig0a.other[0] = other +DLGLOBAL DEBUG test(other){alive}: other.other[1] = __twig0a +DLGLOBAL DEBUG --- Test disabled: object 0 was not created. Cleaning up. +DLGLOBAL DEBUG test(_branch0){alive}: Terminating (cause = OSMO_FSM_TERM_ERROR) +DLGLOBAL DEBUG test(_branch0){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DLGLOBAL DEBUG test(__twig0a){alive}: pre_term() +DLGLOBAL DEBUG test(__twig0a){alive}: Removing from parent test(_branch0) +DLGLOBAL DEBUG 1 (__twig0a.cleanup()) +DLGLOBAL DEBUG test(__twig0a){alive}: cleanup() +DLGLOBAL DEBUG test(__twig0a){alive}: scene forgets __twig0a +DLGLOBAL DEBUG test(__twig0a){alive}: removing reference __twig0a.other[0] -> other +DLGLOBAL DEBUG test(other){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.other_gone()) +DLGLOBAL DEBUG test(other){alive}: EV_OTHER_GONE: Dropped reference other.other[1] = __twig0a +DLGLOBAL DEBUG 2 (__twig0a.cleanup(),other.alive()) +DLGLOBAL DEBUG test(other){alive}: state_chg to destroying +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.destroying_onenter()) +DLGLOBAL DEBUG test(other){destroying}: destroying_onenter() from alive +DLGLOBAL DEBUG test(other){destroying}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(other){destroying}: pre_term() +DLGLOBAL DEBUG 4 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup()) +DLGLOBAL DEBUG test(other){destroying}: cleanup() +DLGLOBAL DEBUG test(other){destroying}: scene forgets other +DLGLOBAL DEBUG test(other){destroying}: removing reference other.other[0] -> _branch0 +DLGLOBAL DEBUG test(_branch0){alive}: Received Event EV_OTHER_GONE +DLGLOBAL DEBUG 5 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: alive(EV_OTHER_GONE) +DLGLOBAL DEBUG 6 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive(),_branch0.other_gone()) +DLGLOBAL DEBUG test(_branch0){alive}: EV_OTHER_GONE: Dropped reference _branch0.other[0] = other +DLGLOBAL DEBUG 5 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG test(_branch0){alive}: state_chg to destroying +DLGLOBAL DEBUG 6 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive(),_branch0.destroying_onenter()) +DLGLOBAL DEBUG test(_branch0){destroying}: destroying_onenter() from alive +DLGLOBAL DEBUG test(_branch0){destroying}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DLGLOBAL DEBUG test(_branch0){destroying}: pre_term() +DLGLOBAL DEBUG 7 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive(),_branch0.destroying_onenter(),_ +DLGLOBAL DEBUG test(_branch0){destroying}: cleanup() +DLGLOBAL DEBUG test(_branch0){destroying}: scene forgets _branch0 +DLGLOBAL DEBUG test(_branch0){destroying}: cleanup() done +DLGLOBAL DEBUG 6 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive(),_branch0.destroying_onenter()) +DLGLOBAL DEBUG test(_branch0){destroying}: Freeing instance +DLGLOBAL DEBUG test(_branch0){destroying}: Deallocated +DLGLOBAL DEBUG 5 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup(),_branch0.alive()) +DLGLOBAL DEBUG 4 (__twig0a.cleanup(),other.alive(),other.destroying_onenter(),other.cleanup()) +DLGLOBAL DEBUG test(other){destroying}: cleanup() done +DLGLOBAL DEBUG 3 (__twig0a.cleanup(),other.alive(),other.destroying_onenter()) +DLGLOBAL DEBUG test(other){destroying}: Freeing instance +DLGLOBAL DEBUG test(other){destroying}: Deallocated +================================================================= +==12545==ERROR: AddressSanitizer: heap-use-after-free on address 0x6120000003a8 at pc 0x7fa96fdc9149 bp 0x7fff6045b000 sp 0x7fff6045aff8 +WRITE of size 8 at 0x6120000003a8 thread T0 + #0 0x7fa96fdc9148 in __llist_del ../../../src/libosmocore/include/osmocom/core/linuxlist.h:114 + #1 0x7fa96fdc9280 in llist_del ../../../src/libosmocore/include/osmocom/core/linuxlist.h:126 + #2 0x7fa96fdcddaa in osmo_fsm_inst_free ../../../src/libosmocore/src/fsm.c:404 + #3 0x7fa96fdd599c in _osmo_fsm_inst_term ../../../src/libosmocore/src/fsm.c:738 + #4 0x55dde97cb9e3 in destroying_onenter ../../../src/libosmocore/tests/fsm/fsm_dealloc_test.c:177 + #5 0x7fa96fdd26be in state_chg ../../../src/libosmocore/src/fsm.c:521 + #6 0x7fa96fdd2770 in _osmo_fsm_inst_state_chg ../../../src/libosmocore/src/fsm.c:577 + #7 0x55dde97cb2e6 in alive ../../../src/libosmocore/tests/fsm/fsm_dealloc_test.c:151 + #8 0x7fa96fdd3d2f in _osmo_fsm_inst_dispatch ../../../src/libosmocore/src/fsm.c:685 + #9 0x55dde97cd0ee in cleanup ../../../src/libosmocore/tests/fsm/fsm_dealloc_test.c:255 + #10 0x7fa96fdd5192 in _osmo_fsm_inst_term ../../../src/libosmocore/src/fsm.c:733 + #11 0x7fa96fdd60b1 in _osmo_fsm_inst_term_children ../../../src/libosmocore/src/fsm.c:784 + #12 0x7fa96fdd475e in _osmo_fsm_inst_term ../../../src/libosmocore/src/fsm.c:720 + #13 0x55dde97cf5d5 in scene_clean ../../../src/libosmocore/tests/fsm/fsm_dealloc_test.c:392 + #14 0x55dde97cf92f in test_dealloc ../../../src/libosmocore/tests/fsm/fsm_dealloc_test.c:417 + #15 0x55dde97cfffe in main ../../../src/libosmocore/tests/fsm/fsm_dealloc_test.c:465 + #16 0x7fa96eff409a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) + #17 0x55dde97c7329 in _start (/n/s/dev/make/libosmocore/tests/fsm/fsm_dealloc_test+0x11329) + +0x6120000003a8 is located 104 bytes inside of 288-byte region [0x612000000340,0x612000000460) +freed by thread T0 here: + #0 0x7fa970061b50 in free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xe8b50) + #1 0x7fa96fcbd5d2 (/usr/lib/x86_64-linux-gnu/libtalloc.so.2+0xb5d2) + +previously allocated by thread T0 here: + #0 0x7fa970061ed0 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xe8ed0) + #1 0x7fa96fcbb140 in _talloc_zero (/usr/lib/x86_64-linux-gnu/libtalloc.so.2+0x9140) + +SUMMARY: AddressSanitizer: heap-use-after-free ../../../src/libosmocore/include/osmocom/core/linuxlist.h:114 in __llist_del +Shadow bytes around the buggy address: + 0x0c247fff8020: 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa + 0x0c247fff8030: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c247fff8040: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c247fff8050: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c247fff8060: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd +=>0x0c247fff8070: fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd + 0x0c247fff8080: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c247fff8090: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c247fff80a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c247fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa fa + 0x0c247fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==12545==ABORTING -- To view, visit https://gerrit.osmocom.org/13391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If801907c541bca9f524c9e5fd22ac280ca16979a Gerrit-Change-Number: 13391 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 06:02:49 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 06:02:49 +0000 Subject: Change in libosmocore[master]: fsm: support graceful osmo_fsm_inst_term() cascades Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13392 Change subject: fsm: support graceful osmo_fsm_inst_term() cascades ...................................................................... fsm: support graceful osmo_fsm_inst_term() cascades Detect osmo_fsm_inst_term() occuring within osmo_fsm_inst_term(): - prevent the same FSM instance from entering term twice, and - collect deallocations until the outermost osmo_fsm_inst_term() is done. If a struct osmo_fsm_inst enters osmo_fsm_inst_term() while another is already within osmo_fsm_inst_term(), do not directly deallocate it, but talloc-reparent it to the struct osmo_fsm_inst that first started terminating. The effect is that all osmo_fsm_inst freed within an osmo_fsm_inst_term() cascade will stay allocated until all osmo_fsm_inst_term() are complete and all of them will be deallocated at the same time. To prevent re-entering osmo_fsm_inst_term() twice for the same osmo_fsm_inst, add flag osmo_fsm_inst.proc.terminating. osmo_fsm_inst_term() sets this to true, or exits if it already is true. This is showcased by fsm_dealloc_test.c. Enhance fsm_dealloc_test.c to show that now all of the modeled situations solve cleanly. Make fsm_dealloc_test a normal regression test in testsuite.at. Note: This patch's mechanism is not thread safe. It might be made thread safe if the new global variable osmo_fsm_inst_terminating_root were handled per-thread instead of once globally. Rationale: It is difficult to gracefully handle deallocations of groups of FSM instances that reference each other. As soon as one child dispatching a cleanup event causes its parent to deallocate before fsm.c was ready for it, deallocation will hit a use-after-free. Before this patch, by using parent_term events and distinct "terminating" FSM states, parent/child FSMs can be taught to wait for all children to deallocate before deallocating the parent. But as soon as a non-child / non-parent FSM instance is involved, or actually any other cleanup() action that triggers parent FSMs or parent talloc contexts to become unused, it is near impossible to think of all possible deallocation events ricocheting, and to avoid running into freeing FSM instances that were still in the middle of osmo_fsm_inst_term(), or FSM instances to enter osmo_fsm_inst_term() more than once. This patch makes deallocation of "all possible" setups of complex cross referencing FSM instances easy to handle correctly, without running into use-after-free or double free situations, and, notably, without changing calling code. Logging of FSM deallocation changes, but only in cases where osmo_fsm_inst_term() triggers other osmo_fsm_inst_term(). Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/Makefile.am M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err M tests/testsuite.at 6 files changed, 3,624 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/92/13392/1 -- To view, visit https://gerrit.osmocom.org/13392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 Gerrit-Change-Number: 13392 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 16:41:57 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 16:41:57 +0000 Subject: Change in osmo-bsc[master]: avoid use-after-free: on MGW endpoint dealloc, also forget it in conn... In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13258 ) Change subject: avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.* ...................................................................... avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.* With the FORGET_MGW_ENDPOINT event, the MGW endpoint FSM notifies the gscon that it has deallocated and that hence the gscon should forget all references to it (to avoid a use-after-free). Also do this for the endpoint FSM and endpoint ci pointers in the conn->ho.* sub struct. I saw a use-after-free after a Handover Failure message tears down the lchan and MGW endpoint before triggering the handover_fsm.c cleanup code, which also tries to clean up an endpoint CI if it was created for the failed Handover. Change-Id: I6702ccd0df44bea5eb8b26d471d7903c24e6e30b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 6 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 13a5730..1cc0c78 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -699,6 +699,7 @@ { conn->user_plane.mgw_endpoint = NULL; conn->user_plane.mgw_endpoint_ci_msc = NULL; + conn->ho.created_ci_for_msc = NULL; lchan_forget_mgw_endpoint(conn->lchan); lchan_forget_mgw_endpoint(conn->assignment.new_lchan); lchan_forget_mgw_endpoint(conn->ho.new_lchan); @@ -706,9 +707,11 @@ void gscon_forget_mgw_endpoint_ci(struct gsm_subscriber_connection *conn, struct mgwep_ci *ci) { - if (ci != conn->user_plane.mgw_endpoint_ci_msc) - return; - conn->user_plane.mgw_endpoint_ci_msc = NULL; + if (conn->ho.created_ci_for_msc == ci) + conn->ho.created_ci_for_msc = NULL; + + if (conn->user_plane.mgw_endpoint_ci_msc == ci) + conn->user_plane.mgw_endpoint_ci_msc = NULL; } static void gscon_fsm_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/13258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6702ccd0df44bea5eb8b26d471d7903c24e6e30b Gerrit-Change-Number: 13258 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 16:48:09 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 16:48:09 +0000 Subject: Change in libosmocore[master]: add osmo_sockaddr_str API In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13123 ) Change subject: add osmo_sockaddr_str API ...................................................................... Patch Set 8: Code-Review-1 (1 comment) thanks for the rename. Let me incorporate and use this in tests just to make sure. https://gerrit.osmocom.org/#/c/13123/8/include/osmocom/core/sockaddr_str.h File include/osmocom/core/sockaddr_str.h: https://gerrit.osmocom.org/#/c/13123/8/include/osmocom/core/sockaddr_str.h at 77 PS8, Line 77: int osmo_sockaddr_str_from_sockaddr(struct osmo_sockaddr_str *sockaddr_str, const struct sockaddr_storage *dst); whoops, the source argument is called dst here. same in my original patch. -- To view, visit https://gerrit.osmocom.org/13123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id617265337f09dfb6ddfe111ef5e578cd3dc9f63 Gerrit-Change-Number: 13123 Gerrit-PatchSet: 8 Gerrit-Owner: Neels Hofmeyr Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: osmith Gerrit-Comment-Date: Sun, 24 Mar 2019 16:48:09 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 16:49:08 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 16:49:08 +0000 Subject: Change in osmo-msc[master]: vlr_subscr_name(): use OSMO_STRBUF In-Reply-To: References: Message-ID: Neels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/13322 ) Change subject: vlr_subscr_name(): use OSMO_STRBUF ...................................................................... vlr_subscr_name(): use OSMO_STRBUF We now have a nicer way to compose strings in a buffer than this. (Cosmetic preparation for inter-MSC handover patch.) Change-Id: I7813068032475deb3850af05f7ba5a6f652e7fa2 --- M src/libvlr/vlr.c 1 file changed, 5 insertions(+), 9 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index c5b3c80..cd4209d 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -84,33 +84,29 @@ const char *vlr_subscr_name(const struct vlr_subscr *vsub) { static char buf[128]; - char imsi[23] = ""; - char msisdn[25] = ""; - char tmsi[23] = ""; - char tmsi_new[23] = ""; + struct osmo_strbuf sb = { .buf = buf, .len = sizeof(buf) }; bool present = false; if (!vsub) return "unknown"; if (vsub->imsi[0]) { - snprintf(imsi, sizeof(imsi), "IMSI-%s", vsub->imsi); + OSMO_STRBUF_PRINTF(sb, "IMSI-%s", vsub->imsi); present = true; } if (vsub->msisdn[0]) { - snprintf(msisdn, sizeof(msisdn), "%sMSISDN-%s", present? ":" : "", vsub->msisdn); + OSMO_STRBUF_PRINTF(sb, "%sMSISDN-%s", present? ":" : "", vsub->msisdn); present = true; } if (vsub->tmsi != GSM_RESERVED_TMSI) { - snprintf(tmsi, sizeof(tmsi), "%sTMSI-0x%08X", present? ":" : "", vsub->tmsi); + OSMO_STRBUF_PRINTF(sb, "%sTMSI-0x%08X", present? ":" : "", vsub->tmsi); present = true; } if (vsub->tmsi_new != GSM_RESERVED_TMSI) { - snprintf(tmsi_new, sizeof(tmsi_new), "%sTMSInew-0x%08X", present? ":" : "", vsub->tmsi_new); + OSMO_STRBUF_PRINTF(sb, "%sTMSInew-0x%08X", present? ":" : "", vsub->tmsi_new); present = true; } if (!present) return "unknown"; - snprintf(buf, sizeof(buf), "%s%s%s%s", imsi, msisdn, tmsi, tmsi_new); return buf; } -- To view, visit https://gerrit.osmocom.org/13322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7813068032475deb3850af05f7ba5a6f652e7fa2 Gerrit-Change-Number: 13322 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:16:24 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 17:16:24 +0000 Subject: Change in osmo-msc[master]: vlr_subscr: use osmo_use_count In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13136 ) Change subject: vlr_subscr: use osmo_use_count ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/#/c/13136/2/src/libmsc/gsm_04_08.c at 1804 PS2, Line 1804: "conn" > no #define here? See my comment about in-line literal strings vs. [?] I'm more than aware and am surprised to see an insane string literal here. must be some brain lapse during early testing... ah. now I know why this survived, this "conn" token is refactored away in the MSC-roles split. -- To view, visit https://gerrit.osmocom.org/13136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475 Gerrit-Change-Number: 13136 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Sun, 24 Mar 2019 17:16:24 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:29:44 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 17:29:44 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, Pau Espin Pedrol, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13121 to look at the new patch set (#7). Change subject: add osmo_use_count API ...................................................................... add osmo_use_count API Provide a common implementation of use counting that supports naming each user as well as counting more than just one use per user, depending on the rules the caller implies. In osmo-msc, we were originally using a simple int counter to see whether a connection is still in use or should be discarded. For clarity, we later added names to each user in the form of a bitmask of flags, to figure out exactly which users are still active: for logging and to debug double get / double put bugs. This however is still not adequate, since there may be more than one CM Service Request pending. Also, it is a specialized implementation that is not re-usable. With this generalized implementation, we can: - fix the problem of inadequate counting of multiple concurrent CM Service Requests (more than one use count per user category), - directly use arbitrary names for uses like __func__ or "foo" (no need to define enums and value_string[]s), - re-use the same code for e.g. vlr_subscr and get fairly detailed VLR susbscriber usage logging for free. Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 --- M include/Makefile.am A include/osmocom/core/use_count.h M src/Makefile.am A src/use_count.c M tests/Makefile.am M tests/testsuite.at A tests/use_count/use_count_test.c A tests/use_count/use_count_test.err A tests/use_count/use_count_test.ok 9 files changed, 1,031 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/13121/7 -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 7 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:29:45 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 17:29:45 +0000 Subject: Change in libosmocore[master]: add osmo_str_startswith() Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13394 Change subject: add osmo_str_startswith() ...................................................................... add osmo_str_startswith() Move from a static implementation in tdef_vty.c to utils.c, I also want to use this in osmo-msc. The point is that the telnet VTY allows unambiguous partly matches of keyword args. For example, if I have a command definition of: compare (apples|oranges) then it is perfectly legal as for the vty parser to write only compare app One could expect the VTY to then pass the unambiguous match of "apples" to the parsing function, but that is not the case. Hence a VTY function implementation is faced with parsing a keyword of "app" instead of the expected "apples". This is actually a very widespread bug in our VTY implementations, which assume that exactly one full keyword will always be found. I am now writing new commands in a way that are able to manage only the starts of keywords. Arguably, strstr(a, b) == a does the same thing, but it searches the entire string unnecessarily. Change-Id: Ib2ffb0e9a870dd52e081c7e66d8818057d159513 --- M include/osmocom/core/utils.h M src/utils.c M src/vty/tdef_vty.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 5 files changed, 60 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/94/13394/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 16159d3..31ef49b 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -230,4 +230,6 @@ #define OSMO_STRBUF_PRINTF(STRBUF, fmt, args...) \ OSMO_STRBUF_APPEND(STRBUF, snprintf, fmt, ##args) +bool osmo_str_startswith(const char *str, const char *startswith_str); + /*! @} */ diff --git a/src/utils.c b/src/utils.c index 2d5bcb0..fb4e71e 100644 --- a/src/utils.c +++ b/src/utils.c @@ -826,4 +826,18 @@ return (sum * 9) % 10 + '0'; } +/*! Compare start of a string. + * This is an optimisation of 'strstr(str, startswith_str) == str' because it doesn't search through the entire string. + * \param str (Longer) string to compare. + * \param startswith_str (Shorter) string to compare with the start of str. + * \return true iff the first characters of str fully match startswith_str or startswith_str is empty. */ +bool osmo_str_startswith(const char *str, const char *startswith_str) +{ + if (!startswith_str || !*startswith_str) + return true; + if (!str) + return false; + return strncmp(str, startswith_str, strlen(startswith_str)) == 0; +} + /*! @} */ diff --git a/src/vty/tdef_vty.c b/src/vty/tdef_vty.c index 28de21a..0dac2bf 100644 --- a/src/vty/tdef_vty.c +++ b/src/vty/tdef_vty.c @@ -247,16 +247,6 @@ /*! Singleton Tnnn groups definition as set by osmo_tdef_vty_groups_init(). */ static struct osmo_tdef_group *global_tdef_groups; -/*! \return true iff the first characters of str fully match startswith_str or both are empty. */ -static bool startswith(const char *str, const char *startswith_str) -{ - if (!startswith_str) - return true; - if (!str) - return false; - return strncmp(str, startswith_str, strlen(startswith_str)) == 0; -} - DEFUN(show_timer, show_timer_cmd, "DYNAMIC", "DYNAMIC") /* show timer [(alpha|beta|gamma)] [TNNNN] */ { @@ -268,7 +258,7 @@ * like "softw" or "t" (which can also be ambiguous). */ osmo_tdef_groups_for_each(g, global_tdef_groups) { - if (!group_arg || startswith(g->name, group_arg)) + if (!group_arg || osmo_str_startswith(g->name, group_arg)) osmo_tdef_vty_show_cmd(vty, g->tdefs, T_arg, "%s: ", g->name); } return CMD_SUCCESS; diff --git a/tests/utils/utils_test.c b/tests/utils/utils_test.c index d592fe0..9d36c5a 100644 --- a/tests/utils/utils_test.c +++ b/tests/utils/utils_test.c @@ -1022,6 +1022,33 @@ printf("(need %d chars, had size=63) %s\n", rc, buf); } +static void startswith_test_str(const char *str, const char *startswith_str, bool expect_rc) +{ + bool rc = osmo_str_startswith(str, startswith_str); + printf("osmo_str_startswith(%s, ", osmo_quote_str(str, -1)); + printf("%s) == %s\n", osmo_quote_str(startswith_str, -1), rc ? "true" : "false"); + if (rc != expect_rc) + printf(" ERROR: EXPECTED %s\n", expect_rc ? "true" : "false"); +} + +static void startswith_test() +{ + printf("\n%s()\n", __func__); + startswith_test_str(NULL, NULL, true); + startswith_test_str("", NULL, true); + startswith_test_str(NULL, "", true); + startswith_test_str("", "", true); + startswith_test_str("abc", NULL, true); + startswith_test_str("abc", "", true); + startswith_test_str(NULL, "abc", false); + startswith_test_str("", "abc", false); + startswith_test_str("abc", "a", true); + startswith_test_str("abc", "ab", true); + startswith_test_str("abc", "abc", true); + startswith_test_str("abc", "abcd", false); + startswith_test_str("abc", "xyz", false); +} + int main(int argc, char **argv) { static const struct log_info log_info = {}; @@ -1040,5 +1067,6 @@ osmo_sockaddr_to_str_and_uint_test(); osmo_str_tolowupper_test(); strbuf_test(); + startswith_test(); return 0; } diff --git a/tests/utils/utils_test.ok b/tests/utils/utils_test.ok index 1215ddd..3579062 100644 --- a/tests/utils/utils_test.ok +++ b/tests/utils/utils_test.ok @@ -342,3 +342,18 @@ (need 134 chars) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! -- T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! -- T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! (need 134 chars, had size=63) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! -- T minus 10 9 8 7 + +startswith_test() +osmo_str_startswith(NULL, NULL) == true +osmo_str_startswith("", NULL) == true +osmo_str_startswith(NULL, "") == true +osmo_str_startswith("", "") == true +osmo_str_startswith("abc", NULL) == true +osmo_str_startswith("abc", "") == true +osmo_str_startswith(NULL, "abc") == false +osmo_str_startswith("", "abc") == false +osmo_str_startswith("abc", "a") == true +osmo_str_startswith("abc", "ab") == true +osmo_str_startswith("abc", "abc") == true +osmo_str_startswith("abc", "abcd") == false +osmo_str_startswith("abc", "xyz") == false -- To view, visit https://gerrit.osmocom.org/13394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib2ffb0e9a870dd52e081c7e66d8818057d159513 Gerrit-Change-Number: 13394 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:41:37 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Sun, 24 Mar 2019 17:41:37 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use named initializers and explicit array indicies In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13384 ) Change subject: gprs_debug: Use named initializers and explicit array indicies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2be88586ca44b0b8361f96cf3c034c8459244c2c Gerrit-Change-Number: 13384 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 24 Mar 2019 17:41:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:46:12 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Sun, 24 Mar 2019 17:46:12 +0000 Subject: Change in osmo-pcu[master]: Use libosmocore for IMSI parsing Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13395 Change subject: Use libosmocore for IMSI parsing ...................................................................... Use libosmocore for IMSI parsing Change-Id: Iec5c65776fc54b2f9e5dd55c711ace2471662db1 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 4 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/95/13395/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index f63fac3..828997a 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -49,35 +49,6 @@ static void bvc_timeout(void *_priv); static int gprs_ns_reconnect(struct gprs_nsvc *nsvc); -static int parse_imsi(struct tlv_parsed *tp, char *imsi) -{ - uint8_t imsi_len; - uint8_t *bcd_imsi; - int i, j; - - if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) - return -EINVAL; - - imsi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - bcd_imsi = (uint8_t *) TLVP_VAL(tp, BSSGP_IE_IMSI); - - if ((bcd_imsi[0] & 0x08)) - imsi_len = imsi_len * 2 - 1; - else - imsi_len = (imsi_len - 1) * 2; - for (i = 0, j = 0; j < imsi_len && j < 15; j++) - { - if (!(j & 1)) { - imsi[j] = (bcd_imsi[i] >> 4) + '0'; - i++; - } else - imsi[j] = (bcd_imsi[i] & 0xf) + '0'; - } - imsi[j] = '\0'; - - return 0; -} - #if 0 static int parse_ra_cap(struct tlv_parsed *tp, MS_Radio_Access_capability_t *rac) { @@ -142,7 +113,7 @@ /* read IMSI. if no IMSI exists, use first paging block (any paging), * because during attachment the IMSI might not be known, so the MS * will listen to all paging blocks. */ - parse_imsi(tp, imsi); + gsm48_mi_to_string(imsi, 17, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI)); #if 0 /* Do not rely on this IE. TODO: make this configurable */ /* parse ms radio access capability */ @@ -200,12 +171,13 @@ } LOGPC(DBSSGP, LOGL_NOTICE, "\n"); - if (parse_imsi(tp, imsi)) - { + if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { LOGP(DBSSGP, LOGL_ERROR, "No IMSI\n"); return -EINVAL; } + gsm48_mi_to_string(imsi, 17, TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI)); + return gprs_rlcmac_paging_request(ptmsi, ptmsi_len, imsi); } -- To view, visit https://gerrit.osmocom.org/13395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iec5c65776fc54b2f9e5dd55c711ace2471662db1 Gerrit-Change-Number: 13395 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:48:46 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Sun, 24 Mar 2019 17:48:46 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13368 ) Change subject: Also build oc2g support for osmo-pcu ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Max Gerrit-CC: Andr? Boddenberg Gerrit-Comment-Date: Sun, 24 Mar 2019 17:48:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:51:24 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Sun, 24 Mar 2019 17:51:24 +0000 Subject: Change in openbsc[master]: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13387 ) Change subject: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 Gerrit-Change-Number: 13387 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 24 Mar 2019 17:51:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 17:55:10 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Sun, 24 Mar 2019 17:55:10 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13163 to look at the new patch set (#7). Change subject: MCS: move Mode enum outside of class definition ...................................................................... MCS: move Mode enum outside of class definition Move Mode (EDGE/GPRS) definition and related functions outside of GprsCodingScheme class. This allows us to use standard libosmocore value_string functions. Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_vty_functions.cpp M src/tbf.cpp M tests/edge/EdgeTest.cpp 9 files changed, 50 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/63/13163/7 -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 18:13:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 18:13:01 +0000 Subject: Change in libosmocore[master]: fsm: support graceful osmo_fsm_inst_term() cascades In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13392 to look at the new patch set (#3). Change subject: fsm: support graceful osmo_fsm_inst_term() cascades ...................................................................... fsm: support graceful osmo_fsm_inst_term() cascades Detect osmo_fsm_inst_term() occuring within osmo_fsm_inst_term(): - prevent the same FSM instance from entering term twice, and - collect deallocations until the outermost osmo_fsm_inst_term() is done. If a struct osmo_fsm_inst enters osmo_fsm_inst_term() while another is already within osmo_fsm_inst_term(), do not directly deallocate it, but talloc-reparent it to the struct osmo_fsm_inst that first started terminating. The effect is that all osmo_fsm_inst freed within an osmo_fsm_inst_term() cascade will stay allocated until all osmo_fsm_inst_term() are complete and all of them will be deallocated at the same time. To prevent re-entering osmo_fsm_inst_term() twice for the same osmo_fsm_inst, add flag osmo_fsm_inst.proc.terminating. osmo_fsm_inst_term() sets this to true, or exits if it already is true. This is showcased by fsm_dealloc_test.c. Enhance fsm_dealloc_test.c to show that now all of the modeled situations solve cleanly. Make fsm_dealloc_test a normal regression test in testsuite.at. Note: This patch's mechanism is not thread safe. It might be made thread safe if the new global variable osmo_fsm_inst_terminating_root were handled per-thread instead of once globally. Rationale: It is difficult to gracefully handle deallocations of groups of FSM instances that reference each other. As soon as one child dispatching a cleanup event causes its parent to deallocate before fsm.c was ready for it, deallocation will hit a use-after-free. Before this patch, by using parent_term events and distinct "terminating" FSM states, parent/child FSMs can be taught to wait for all children to deallocate before deallocating the parent. But as soon as a non-child / non-parent FSM instance is involved, or actually any other cleanup() action that triggers parent FSMs or parent talloc contexts to become unused, it is near impossible to think of all possible deallocation events ricocheting, and to avoid running into freeing FSM instances that were still in the middle of osmo_fsm_inst_term(), or FSM instances to enter osmo_fsm_inst_term() more than once. This patch makes deallocation of "all possible" setups of complex cross referencing FSM instances easy to handle correctly, without running into use-after-free or double free situations, and, notably, without changing calling code. Logging of FSM deallocation changes, but only in cases where osmo_fsm_inst_term() triggers other osmo_fsm_inst_term(). Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/Makefile.am M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err M tests/testsuite.at 6 files changed, 3,624 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/92/13392/3 -- To view, visit https://gerrit.osmocom.org/13392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 Gerrit-Change-Number: 13392 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 18:13:01 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 18:13:01 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: no need for ST_DESTROYING In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13393 to look at the new patch set (#3). Change subject: fsm_dealloc_test: no need for ST_DESTROYING ...................................................................... fsm_dealloc_test: no need for ST_DESTROYING Now that fsm.c avoids re-entering osmo_fsm_inst_term() twice and gracefully handles FSM instance deallocations for termination cascades, it is actually no longer needed to keep a separate ST_DESTROYING state. ST_DESTROYING was used to flag deallocation and prevent enterint osmo_fsm_inst_term() twice, which works only in a very limited range of scenarios. Remove ST_DESTROYING from fsm_dealloc_test.c to show that all tested scenarios still clean up gracefully. Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 --- M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err 2 files changed, 1,585 insertions(+), 1,864 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/13393/3 -- To view, visit https://gerrit.osmocom.org/13393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 Gerrit-Change-Number: 13393 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 18:18:38 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 18:18:38 +0000 Subject: Change in libosmocore[master]: fsm: support graceful osmo_fsm_inst_term() cascades In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13392 ) Change subject: fsm: support graceful osmo_fsm_inst_term() cascades ...................................................................... Patch Set 3: NOTE: when merged, osmo-msc test expectations need to be adjusted -- To view, visit https://gerrit.osmocom.org/13392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 Gerrit-Change-Number: 13392 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Sun, 24 Mar 2019 18:18:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 18:21:22 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 18:21:22 +0000 Subject: Change in libosmocore[master]: fsm: support graceful osmo_fsm_inst_term() cascades In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13392 to look at the new patch set (#4). Change subject: fsm: support graceful osmo_fsm_inst_term() cascades ...................................................................... fsm: support graceful osmo_fsm_inst_term() cascades Detect osmo_fsm_inst_term() occuring within osmo_fsm_inst_term(): - prevent the same FSM instance from entering term twice, and - collect deallocations until the outermost osmo_fsm_inst_term() is done. - call osmo_fsm_inst_free() *after* dispatching the parent event. If a struct osmo_fsm_inst enters osmo_fsm_inst_term() while another is already within osmo_fsm_inst_term(), do not directly deallocate it, but talloc-reparent it to the struct osmo_fsm_inst that first started terminating. The effect is that all osmo_fsm_inst freed within an osmo_fsm_inst_term() cascade will stay allocated until all osmo_fsm_inst_term() are complete and all of them will be deallocated at the same time. To prevent re-entering osmo_fsm_inst_term() twice for the same osmo_fsm_inst, add flag osmo_fsm_inst.proc.terminating. osmo_fsm_inst_term() sets this to true, or exits if it already is true. This is showcased by fsm_dealloc_test.c. Enhance fsm_dealloc_test.c to show that now all of the modeled situations solve cleanly. Make fsm_dealloc_test a normal regression test in testsuite.at. Note: at least osmo-msc's msc_vlr_tests' expected output needs to be adjusted after merging this, because of logging changes for FSM deallocations. Note: This patch's mechanism is not thread safe. It might be made thread safe if the new global variable osmo_fsm_inst_terminating_root were handled per-thread instead of once globally. Rationale: It is difficult to gracefully handle deallocations of groups of FSM instances that reference each other. As soon as one child dispatching a cleanup event causes its parent to deallocate before fsm.c was ready for it, deallocation will hit a use-after-free. Before this patch, by using parent_term events and distinct "terminating" FSM states, parent/child FSMs can be taught to wait for all children to deallocate before deallocating the parent. But as soon as a non-child / non-parent FSM instance is involved, or actually any other cleanup() action that triggers parent FSMs or parent talloc contexts to become unused, it is near impossible to think of all possible deallocation events ricocheting, and to avoid running into freeing FSM instances that were still in the middle of osmo_fsm_inst_term(), or FSM instances to enter osmo_fsm_inst_term() more than once. This patch makes deallocation of "all possible" setups of complex cross referencing FSM instances easy to handle correctly, without running into use-after-free or double free situations, and, notably, without changing calling code. Logging of FSM deallocation changes, but only in cases where osmo_fsm_inst_term() triggers other osmo_fsm_inst_term(). Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 --- M include/osmocom/core/fsm.h M src/fsm.c M tests/Makefile.am M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err M tests/testsuite.at 6 files changed, 3,624 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/92/13392/4 -- To view, visit https://gerrit.osmocom.org/13392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 Gerrit-Change-Number: 13392 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 24 18:21:22 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Sun, 24 Mar 2019 18:21:22 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: no need for ST_DESTROYING In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13393 to look at the new patch set (#4). Change subject: fsm_dealloc_test: no need for ST_DESTROYING ...................................................................... fsm_dealloc_test: no need for ST_DESTROYING Now that fsm.c avoids re-entering osmo_fsm_inst_term() twice and gracefully handles FSM instance deallocations for termination cascades, it is actually no longer needed to keep a separate ST_DESTROYING state. ST_DESTROYING was used to flag deallocation and prevent enterint osmo_fsm_inst_term() twice, which works only in a very limited range of scenarios. Remove ST_DESTROYING from fsm_dealloc_test.c to show that all tested scenarios still clean up gracefully. Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 --- M tests/fsm/fsm_dealloc_test.c M tests/fsm/fsm_dealloc_test.err 2 files changed, 1,585 insertions(+), 1,864 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/13393/4 -- To view, visit https://gerrit.osmocom.org/13393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 Gerrit-Change-Number: 13393 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 07:37:33 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 07:37:33 +0000 Subject: Change in osmo-pcu[master]: Use libosmocore for IMSI parsing In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13395 ) Change subject: Use libosmocore for IMSI parsing ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13395/1/src/gprs_bssgp_pcu.cpp File src/gprs_bssgp_pcu.cpp: https://gerrit.osmocom.org/#/c/13395/1/src/gprs_bssgp_pcu.cpp at 116 PS1, Line 116: 17 Wait, the string buffer is defined as: char imsi[16] = "000"; so why its length is 17 and not 16? -- To view, visit https://gerrit.osmocom.org/13395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iec5c65776fc54b2f9e5dd55c711ace2471662db1 Gerrit-Change-Number: 13395 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 25 Mar 2019 07:37:33 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 08:47:59 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Mon, 25 Mar 2019 08:47:59 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Piotr Krysik has posted comments on this change. ( https://gerrit.osmocom.org/13246 ) Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Patch Set 4: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 4 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Harald Welte Gerrit-CC: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 08:47:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 08:48:00 2019 From: gerrit-no-reply at lists.osmocom.org (Piotr Krysik) Date: Mon, 25 Mar 2019 08:48:00 +0000 Subject: Change in gr-gsm[master]: Fix the TCH/H decoder and demapper XML definitions In-Reply-To: References: Message-ID: Piotr Krysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/13246 ) Change subject: Fix the TCH/H decoder and demapper XML definitions ...................................................................... Fix the TCH/H decoder and demapper XML definitions - The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. - Make the demapper's burst sink required. - Make all parameters visible. - Rename the TCH/H Channel parameter to Sub-channel number. - Add the qa_tch_h_decoder test in the CMakeLists.txt - Fix several typos Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd --- M apps/grgsm_decode M grc/decoding/gsm_tch_h_decoder.xml M grc/demapping/gsm_tch_h_chans_demapper.xml M python/CMakeLists.txt 4 files changed, 26 insertions(+), 40 deletions(-) Approvals: Piotr Krysik: Looks good to me, approved; Verified diff --git a/apps/grgsm_decode b/apps/grgsm_decode index 3bc0db3..4bd1d95 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -344,7 +344,7 @@ tch_options.add_option("--sub-channel", dest="tch_h_channel", default="0", type='intx', help="TCH/H sub-channel. [default=0]") tch_options.add_option("--multi-rate", dest="multi_rate", default="", type='string', - help="The MultiRrate configuration element from the Assignment Command message. " + help="The MultiRate configuration element from the Assignment Command message. " "Example: 28111a40. See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuration") tch_options.add_option("--voice-boundary", dest="enable_voice_boundary_detection", action="store_true", default=False, help="Enable voice boundary detection for traffic channels. This can help reduce noice in the output.") diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml index 895104e..3936336 100644 --- a/grc/decoding/gsm_tch_h_decoder.xml +++ b/grc/decoding/gsm_tch_h_decoder.xml @@ -3,54 +3,27 @@ TCH/H decoder gsm_tch_h_decoder import grgsm - grgsm.tch_h_decoder($sub_channel, $mode, $boundary_check) + grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check) - sub-channel number + Sub-channel number sub_channel 0 int + none - TCH/H coding mode - mode - enum - - - - - - - + MultiRate configuration + multi_rate + string Voice boundary detection @@ -83,6 +56,11 @@ +The MultiRate configuration string should contains the hex string from the +MultiRate configuration element from the Assignment Command message. +Example: 28111a40. +See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio + If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and diff --git a/grc/demapping/gsm_tch_h_chans_demapper.xml b/grc/demapping/gsm_tch_h_chans_demapper.xml index f2bd67f..52148f5 100644 --- a/grc/demapping/gsm_tch_h_chans_demapper.xml +++ b/grc/demapping/gsm_tch_h_chans_demapper.xml @@ -10,22 +10,29 @@ timeslot_nr 2 int - part + none - TCH/H Channel + Sub-channel number tch_h_channel 0 int - #if $tch_type() == 0 then 'all' else 'none'# + none + + $tch_h_channel() > -1 and $tch_h_channel() < 2 bursts message - 1 tch_bursts diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 22c88a9..21f2507 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -58,6 +58,7 @@ GR_ADD_TEST(qa_burst_fnr_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_fnr_filter.py) GR_ADD_TEST(qa_dummy_burst_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_dummy_burst_filter.py) GR_ADD_TEST(qa_tch_f_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_decoder.py) +GR_ADD_TEST(qa_tch_h_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_decoder.py) GR_ADD_TEST(qa_tch_f_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_chans_demapper.py) GR_ADD_TEST(qa_tch_h_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_chans_demapper.py) #GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py) -- To view, visit https://gerrit.osmocom.org/13246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd Gerrit-Change-Number: 13246 Gerrit-PatchSet: 4 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-CC: Harald Welte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 09:21:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 Mar 2019 09:21:37 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 09:21:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 11:04:59 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 11:04:59 +0000 Subject: Change in libosmocore[master]: gsm_utils.h: remove unused include of gsm_08_08.h In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13390 ) Change subject: gsm_utils.h: remove unused include of gsm_08_08.h ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 Gerrit-Change-Number: 13390 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 11:04:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 12:24:19 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 12:24:19 +0000 Subject: Change in libosmocore[master]: gsm_utils.h: remove unused include of gsm_08_08.h In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13390 ) Change subject: gsm_utils.h: remove unused include of gsm_08_08.h ...................................................................... Patch Set 2: Does this really depends on all the preceding patches or it can be rebased on top of latest master? -- To view, visit https://gerrit.osmocom.org/13390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 Gerrit-Change-Number: 13390 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 12:24:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 12:31:57 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 12:31:57 +0000 Subject: Change in libosmocore[master]: add osmo_str_startswith() In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13394 ) Change subject: add osmo_str_startswith() ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG at 31 PS1, Line 31: Arguably, strstr(a, b) == a does the same thing, but it searches the entire Why is that a problem exactly? Why do we need in our API smth which duplicates function? -- To view, visit https://gerrit.osmocom.org/13394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib2ffb0e9a870dd52e081c7e66d8818057d159513 Gerrit-Change-Number: 13394 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 12:31:57 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 13:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 Mar 2019 13:40:00 +0000 Subject: Change in libosmocore[master]: Revert "ipa_ccm_idtag_parse*: Fix reported length value" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13396 Change subject: Revert "ipa_ccm_idtag_parse*: Fix reported length value" ...................................................................... Revert "ipa_ccm_idtag_parse*: Fix reported length value" This reverts commit 1261db15058cfa94615f26c1083bb8a38d09218b. The patch broke openbsc's external tests, and currently it is unclear whether it is just an error in the test or if openbsc makes wrong assumptions about the length value. Let's revert the patch to unblock the master-openbsc jenkins job. Related: OS#3851 Change-Id: I9adea35ff6de36c1611c7f85dde1b15bc1c0e786 --- M src/gsm/ipa.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/13396/1 diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index b6fdc98..d423c26 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -128,7 +128,7 @@ DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); - dec->lv[t_tag].len = t_len - 1 - len_offset; + dec->lv[t_tag].len = t_len - len_offset; dec->lv[t_tag].val = cur; cur += t_len - len_offset; -- To view, visit https://gerrit.osmocom.org/13396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9adea35ff6de36c1611c7f85dde1b15bc1c0e786 Gerrit-Change-Number: 13396 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:15:45 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 14:15:45 +0000 Subject: Change in libosmocore[master]: Doxygen: fix incorrect / missing parameter description Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13397 Change subject: Doxygen: fix incorrect / missing parameter description ...................................................................... Doxygen: fix incorrect / missing parameter description Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc --- M src/fsm.c M src/gsmtap_util.c 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/13397/1 diff --git a/src/fsm.c b/src/fsm.c index 5723bab..d86ff4b 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -395,7 +395,7 @@ } /*! delete a given instance of a FSM - * \param[in] fsm The FSM to be un-registered and deleted + * \param[in] fi FSM instance to be un-registered and deleted */ void osmo_fsm_inst_free(struct osmo_fsm_inst *fi) { diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 996830f..fd0bcc9 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -368,7 +368,7 @@ } /*! Add a local sink to an existing GSMTAP source and return fd - * \param[in] gsmtap_fd file descriptor of the gsmtap socket + * \param[in] gti existing GSMTAP source * \returns file descriptor of locally bound receive socket * * In case the GSMTAP socket is connected to a local destination @@ -417,8 +417,8 @@ * * Open GSMTAP source (sending) socket, connect it to host/port, * allocate 'struct gsmtap_inst' and optionally osmo_fd/osmo_wqueue - * registration. This means it is like \ref gsmtap_init2 but integrated - * with libosmocore \ref select */ + * registration. + */ struct gsmtap_inst *gsmtap_source_init(const char *host, uint16_t port, int ofd_wq_mode) { -- To view, visit https://gerrit.osmocom.org/13397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc Gerrit-Change-Number: 13397 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:15:45 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 14:15:45 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13398 Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... core/linuxlist.h: fix and unify Doxygen documentation - drop incorrect \ref and \a references; - add missing documentation to LLIST_HEAD_INIT; - document parameter 'member' of llist_entry(); - turn @argument naming into a valid \param format; - fix 'type *' vs llist_head loop counter confusion; - Capitalize and dot-terminate all sentences. Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 --- M include/osmocom/core/linuxlist.h 1 file changed, 96 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/98/13398/1 diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index 7791310..6d263a4 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -23,11 +23,10 @@ static inline void prefetch(const void *x) {;} -/*! cast a member of a structure out to the containing structure - * - * \param[in] ptr the pointer to the member. - * \param[in] type the type of the container struct this is embedded in. - * \param[in] member the name of the member within the struct. +/*! Cast a member of a structure out to the containing structure. + * \param[in] ptr the pointer to the member. + * \param[in] type the type of the container struct this is embedded in. + * \param[in] member the name of the member within the struct. */ #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ @@ -48,22 +47,26 @@ struct llist_head *next, *prev; }; +/*! Define a new llist_head pointing to another llist_head. + * \param[in] name another llist_head to be pointed. + */ #define LLIST_HEAD_INIT(name) { &(name), &(name) } -/*! define a statically-initialized \ref llist_head - * \param[in] name Variable name - * - * This is a helper macro that will define a named variable of type - * \ref llist_head and initialize it */ +/*! Define a statically-initialized variable of type llist_head. + * \param[in] name variable (symbol) name. + */ #define LLIST_HEAD(name) \ struct llist_head name = LLIST_HEAD_INIT(name) -/*! initialize a \ref llist_head to point back to self */ +/*! Initialize a llist_head to point back to itself. + * \param[in] ptr llist_head to be initialized. + */ #define INIT_LLIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) -/*! Insert a new entry between two known consecutive entries. +/* + * Insert a new entry between two known consecutive entries. * * This is only for internal llist manipulation where we know * the prev/next entries already! @@ -78,9 +81,9 @@ prev->next = _new; } -/*! add a new entry into a linked list (at head) - * \param _new New entry to be added - * \param head \ref llist_head to add it after +/*! Add a new entry into a linked list (at head). + * \param _new a new entry to be added. + * \param head head of linked list to add it after. * * Insert a new entry after the specified head. * This is good for implementing stacks. @@ -90,9 +93,9 @@ __llist_add(_new, head, head->next); } -/*! add a new entry into a linked list (at tail) - * \param _new New entry to be added - * \param head Head of linked list to whose tail we shall add \a _new +/*! Add a new entry into a linked list (at tail). + * \param _new a new entry to be added. + * \param head head of linked list to whose tail we shall add. * * Insert a new entry before the specified head. * This is useful for implementing queues. @@ -115,8 +118,8 @@ prev->next = next; } -/*! Delete entry from linked list - * \param entry The element to delete from the llist +/*! Delete a single entry from a linked list. + * \param entry the element to delete. * * Note: llist_empty on entry does not return true after this, the entry is * in an undefined state. @@ -128,8 +131,8 @@ entry->prev = (struct llist_head *)LLIST_POISON2; } -/*! Delete entry from linked list and reinitialize it - * \param entry The element to delete from the list +/*! Delete a single entry from a linked list and reinitialize it. + * \param entry the element to delete and reinitialize. */ static inline void llist_del_init(struct llist_head *entry) { @@ -137,9 +140,9 @@ INIT_LLIST_HEAD(entry); } -/*! Delete from one llist and add as another's head - * \param llist The entry to move - * \param head The head that will precede our entry +/*! Delete from one llist and add as another's head. + * \param llist the entry to move. + * \param head the head that will precede our entry. */ static inline void llist_move(struct llist_head *llist, struct llist_head *head) { @@ -147,9 +150,9 @@ llist_add(llist, head); } -/*! Delete from one llist and add as another's tail - * \param llist The entry to move - * \param head The head that will follow our entry +/*! Delete from one llist and add as another's tail. + * \param llist the entry to move. + * \param head the head that will follow our entry. */ static inline void llist_move_tail(struct llist_head *llist, struct llist_head *head) @@ -158,9 +161,9 @@ llist_add_tail(llist, head); } -/*! Test whether a linked list is empty - * \param[in] head The llist to test. - * \returns 1 if the list is empty, 0 otherwise +/*! Test whether a linked list is empty. + * \param[in] head the llist to test. + * \returns 1 if the list is empty, 0 otherwise. */ static inline int llist_empty(const struct llist_head *head) { @@ -181,9 +184,9 @@ at->prev = last; } -/*! Join two llists - * \param llist The new linked list to add - * \param head The place to add \a llist in the other list +/*! Join two linked lists. + * \param llist the new linked list to add. + * \param head the place to add llist within the other list. */ static inline void llist_splice(struct llist_head *llist, struct llist_head *head) { @@ -191,11 +194,11 @@ __llist_splice(llist, head); } -/*! join two llists and reinitialise the emptied llist. - * \param llist The new linked list to add. - * \param head The place to add it in the first llist. +/*! Join two llists and reinitialise the emptied llist. + * \param llist the new linked list to add. + * \param head the place to add it within the first llist. * - * The llist at @llist is reinitialised + * The llist is reinitialised. */ static inline void llist_splice_init(struct llist_head *llist, struct llist_head *head) @@ -206,15 +209,15 @@ } } -/*! Get the struct containing this list entry - * \param ptr The \ref llist_head pointer - * \param type The type of the struct this is embedded in - * \param @member The name of the \ref llist_head within the struct +/*! Get the struct containing this list entry. + * \param ptr the llist_head pointer. + * \param type the type of the struct this is embedded in. + * \param member the name of the llist_head within the struct. */ #define llist_entry(ptr, type, member) \ container_of(ptr, type, member) -/*! Get the first element from a list +/*! Get the first element from a linked list. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. * \param member the name of the list_head within the struct. @@ -224,7 +227,7 @@ #define llist_first_entry(ptr, type, member) \ llist_entry((ptr)->next, type, member) -/*! Get the last element from a list +/*! Get the last element from a list. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. * \param member the name of the llist_head within the struct. @@ -234,7 +237,7 @@ #define llist_last_entry(ptr, type, member) \ llist_entry((ptr)->prev, type, member) -/*! Get the first element from a list, or NULL +/*! Get the first element from a list, or NULL. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. * \param member the name of the list_head within the struct. @@ -244,17 +247,17 @@ #define llist_first_entry_or_null(ptr, type, member) \ (!llist_empty(ptr) ? llist_first_entry(ptr, type, member) : NULL) -/*! Iterate over a linked list - * \param pos The \ref llist_head to use as a loop counter - * \param head The head of the list over which to iterate +/*! Iterate over a linked list. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ pos = pos->next, prefetch(pos->next)) -/*! Iterate over a llist (no prefetch) - * \param pos The \ref llist_head to use as a loop counter - * \param head The head of the list over which to iterate +/*! Iterate over a linked list (no prefetch). + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. * * This variant differs from llist_for_each() in that it's the * simplest possible llist iteration code, no prefetching is done. @@ -264,27 +267,27 @@ #define __llist_for_each(pos, head) \ for (pos = (head)->next; pos != (head); pos = pos->next) -/*! Iterate over a llist backwards - * \param pos The \ref llist_head to use as a loop counter - * \param head The head of the list over which to iterate +/*! Iterate over a linked list backwards. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each_prev(pos, head) \ for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \ pos = pos->prev, prefetch(pos->prev)) -/*! Iterate over a list; safe against removal of llist entry - * \param pos The \ref llist_head to use as a loop counter - * \param n Another \ref llist_head to use as temporary storage - * \param head The head of the list over which to iterate +/*! Iterate over a linked list, safe against removal of llist entry. + * \param pos the llist_head to use as a loop counter. + * \param n another llist_head to use as temporary storage. + * \param head the head of the list over which to iterate. */ #define llist_for_each_safe(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ pos = n, n = pos->next) -/*! Iterate over llist of given type - * \param pos The 'type *' to use as a loop counter - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate over a linked list of a given type. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry(pos, head, member) \ for (pos = llist_entry((head)->next, typeof(*pos), member), \ @@ -293,10 +296,10 @@ pos = llist_entry(pos->member.next, typeof(*pos), member), \ prefetch(pos->member.next)) -/*! Iterate backwards over llist of given type. - * \param pos The 'type *' to use as a loop counter - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate backwards over a linked list of a given type. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry_reverse(pos, head, member) \ for (pos = llist_entry((head)->prev, typeof(*pos), member), \ @@ -305,11 +308,11 @@ pos = llist_entry(pos->member.prev, typeof(*pos), member), \ prefetch(pos->member.prev)) -/*! iterate over llist of given type continuing after existing - * point - * \param pos The 'type *' to use as a loop counter - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate over a linked list of a given type, + * continuing after an existing point. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry_continue(pos, head, member) \ for (pos = llist_entry(pos->member.next, typeof(*pos), member), \ @@ -318,12 +321,12 @@ pos = llist_entry(pos->member.next, typeof(*pos), member), \ prefetch(pos->member.next)) -/*! iterate over llist of given type, safe against removal of - * non-consecutive(!) llist entries - * \param pos The 'type *' to use as a loop counter - * \param n Another type * to use as temporary storage - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate over llist of given type, safe against removal of + * non-consecutive(!) llist entries. + * \param pos the 'type *' to use as a loop counter. + * \param n another 'type *' to use as temporary storage. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry_safe(pos, n, head, member) \ for (pos = llist_entry((head)->next, typeof(*pos), member), \ @@ -331,10 +334,9 @@ &pos->member != (head); \ pos = n, n = llist_entry(n->member.next, typeof(*n), member)) -/** - * llist_for_each_rcu - iterate over an rcu-protected llist - * @pos: the &struct llist_head to use as a loop counter. - * @head: the head for your llist. +/*! Iterate over an rcu-protected llist. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each_rcu(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ @@ -344,22 +346,19 @@ for (pos = (head)->next; pos != (head); \ pos = pos->next, ({ smp_read_barrier_depends(); 0;})) -/** - * llist_for_each_safe_rcu - iterate over an rcu-protected llist safe - * against removal of llist entry - * @pos: the &struct llist_head to use as a loop counter. - * @n: another &struct llist_head to use as temporary storage - * @head: the head for your llist. +/*! Iterate over an rcu-protected llist, safe against removal of llist entry. + * \param pos the llist_head to use as a loop counter. + * \param n another llist_head to use as temporary storage. + * \param head the head of the list over which to iterate. */ #define llist_for_each_safe_rcu(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ pos = n, ({ smp_read_barrier_depends(); 0;}), n = pos->next) -/** - * llist_for_each_entry_rcu - iterate over rcu llist of given type - * @pos: the type * to use as a loop counter. - * @head: the head for your llist. - * @member: the name of the llist_struct within the struct. +/*! Iterate over an rcu-protected llist of a given type. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_struct within the struct. */ #define llist_for_each_entry_rcu(pos, head, member) \ for (pos = llist_entry((head)->next, typeof(*pos), member), \ @@ -370,18 +369,16 @@ prefetch(pos->member.next)) -/** - * llist_for_each_continue_rcu - iterate over an rcu-protected llist - * continuing after existing point. - * @pos: the &struct llist_head to use as a loop counter. - * @head: the head for your llist. +/*! Iterate over an rcu-protected llist, continuing after existing point. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each_continue_rcu(pos, head) \ for ((pos) = (pos)->next, prefetch((pos)->next); (pos) != (head); \ (pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next)) -/*! count nr of llist items by iterating. - * \param head The llist head to count items of. +/*! Count number of llist items by iterating. + * \param head the llist head to count items of. * \returns Number of items. * * This function is not efficient, mostly useful for small lists and non time -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:15:46 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 14:15:46 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix white-space and inconsistent alignment Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13399 Change subject: core/linuxlist.h: fix white-space and inconsistent alignment ...................................................................... core/linuxlist.h: fix white-space and inconsistent alignment - fix trailing white-space; - properly align parameters of functions; - use tabs instead of 8 spaces where possible. Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 --- M include/osmocom/core/linuxlist.h 1 file changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/99/13399/1 diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index 6d263a4..68cc00f 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -29,8 +29,8 @@ * \param[in] member the name of the member within the struct. */ #define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type, member) );}) + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type, member) );}) /*! @@ -72,8 +72,8 @@ * the prev/next entries already! */ static inline void __llist_add(struct llist_head *_new, - struct llist_head *prev, - struct llist_head *next) + struct llist_head *prev, + struct llist_head *next) { next->prev = _new; _new->next = next; @@ -146,8 +146,8 @@ */ static inline void llist_move(struct llist_head *llist, struct llist_head *head) { - __llist_del(llist->prev, llist->next); - llist_add(llist, head); + __llist_del(llist->prev, llist->next); + llist_add(llist, head); } /*! Delete from one llist and add as another's tail. @@ -155,10 +155,10 @@ * \param head the head that will follow our entry. */ static inline void llist_move_tail(struct llist_head *llist, - struct llist_head *head) + struct llist_head *head) { - __llist_del(llist->prev, llist->next); - llist_add_tail(llist, head); + __llist_del(llist->prev, llist->next); + llist_add_tail(llist, head); } /*! Test whether a linked list is empty. @@ -171,7 +171,7 @@ } static inline void __llist_splice(struct llist_head *llist, - struct llist_head *head) + struct llist_head *head) { struct llist_head *first = llist->next; struct llist_head *last = llist->prev; @@ -201,7 +201,7 @@ * The llist is reinitialised. */ static inline void llist_splice_init(struct llist_head *llist, - struct llist_head *head) + struct llist_head *head) { if (!llist_empty(llist)) { __llist_splice(llist, head); @@ -253,7 +253,7 @@ */ #define llist_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ - pos = pos->next, prefetch(pos->next)) + pos = pos->next, prefetch(pos->next)) /*! Iterate over a linked list (no prefetch). * \param pos the llist_head to use as a loop counter. @@ -273,7 +273,7 @@ */ #define llist_for_each_prev(pos, head) \ for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \ - pos = pos->prev, prefetch(pos->prev)) + pos = pos->prev, prefetch(pos->prev)) /*! Iterate over a linked list, safe against removal of llist entry. * \param pos the llist_head to use as a loop counter. @@ -340,12 +340,12 @@ */ #define llist_for_each_rcu(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;}), prefetch(pos->next)) - + pos = pos->next, ({ smp_read_barrier_depends(); 0;}), prefetch(pos->next)) + #define __llist_for_each_rcu(pos, head) \ for (pos = (head)->next; pos != (head); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;})) - + pos = pos->next, ({ smp_read_barrier_depends(); 0;})) + /*! Iterate over an rcu-protected llist, safe against removal of llist entry. * \param pos the llist_head to use as a loop counter. * \param n another llist_head to use as temporary storage. @@ -375,7 +375,7 @@ */ #define llist_for_each_continue_rcu(pos, head) \ for ((pos) = (pos)->next, prefetch((pos)->next); (pos) != (head); \ - (pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next)) + (pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next)) /*! Count number of llist items by iterating. * \param head the llist head to count items of. -- To view, visit https://gerrit.osmocom.org/13399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 Gerrit-Change-Number: 13399 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:19:06 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 14:19:06 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix white-space and inconsistent alignment In-Reply-To: References: Message-ID: Vadim Yanitskiy has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/13399 ) Change subject: core/linuxlist.h: fix white-space and inconsistent alignment ...................................................................... core/linuxlist.h: fix white-space and inconsistent alignment - fix trailing white-space; - properly align parameters of functions; - use tabs instead of 8 spaces where possible. Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 --- M include/osmocom/core/linuxlist.h 1 file changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/99/13399/2 -- To view, visit https://gerrit.osmocom.org/13399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 Gerrit-Change-Number: 13399 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:40:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:40:38 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 14:40:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:40:55 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Mon, 25 Mar 2019 14:40:55 +0000 Subject: Change in osmo-pcu[master]: Remove custom alarms In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13360 ) Change subject: Remove custom alarms ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13360/1/src/osmo-bts-oc2g/oc2g_l1_if.c File src/osmo-bts-oc2g/oc2g_l1_if.c: https://gerrit.osmocom.org/#/c/13360/1/src/osmo-bts-oc2g/oc2g_l1_if.c at a236 PS1, Line 236: > If those signals are not used, what about removing the enums? Or they don't exist in our tree? They were in a commit that I didn't cherry-pick so they don't exist in our code base -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 14:40:55 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:42:41 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 14:42:41 +0000 Subject: Change in libosmocore[master]: Doxygen: fix incorrect / missing parameter description In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13397 ) Change subject: Doxygen: fix incorrect / missing parameter description ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc Gerrit-Change-Number: 13397 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 14:42:41 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:42:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:42:59 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix white-space and inconsistent alignment In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13399 ) Change subject: core/linuxlist.h: fix white-space and inconsistent alignment ...................................................................... Patch Set 2: Code-Review+1 I generally try to avoid such patches as they just introduce churn in the changelog and may make merging any [current]y out of master patches harder due to whitespace differences. But if it makes you happy... -- To view, visit https://gerrit.osmocom.org/13399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 Gerrit-Change-Number: 13399 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 25 Mar 2019 14:42:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:43:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:43:15 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13398 ) Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Mon, 25 Mar 2019 14:43:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:43:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:43:31 +0000 Subject: Change in libosmocore[master]: Doxygen: fix incorrect / missing parameter description In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13397 ) Change subject: Doxygen: fix incorrect / missing parameter description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc Gerrit-Change-Number: 13397 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 14:43:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:43:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:43:35 +0000 Subject: Change in libosmocore[master]: Doxygen: fix incorrect / missing parameter description In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13397 ) Change subject: Doxygen: fix incorrect / missing parameter description ...................................................................... Doxygen: fix incorrect / missing parameter description Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc --- M src/fsm.c M src/gsmtap_util.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/fsm.c b/src/fsm.c index 5723bab..d86ff4b 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -395,7 +395,7 @@ } /*! delete a given instance of a FSM - * \param[in] fsm The FSM to be un-registered and deleted + * \param[in] fi FSM instance to be un-registered and deleted */ void osmo_fsm_inst_free(struct osmo_fsm_inst *fi) { diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 996830f..fd0bcc9 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -368,7 +368,7 @@ } /*! Add a local sink to an existing GSMTAP source and return fd - * \param[in] gsmtap_fd file descriptor of the gsmtap socket + * \param[in] gti existing GSMTAP source * \returns file descriptor of locally bound receive socket * * In case the GSMTAP socket is connected to a local destination @@ -417,8 +417,8 @@ * * Open GSMTAP source (sending) socket, connect it to host/port, * allocate 'struct gsmtap_inst' and optionally osmo_fd/osmo_wqueue - * registration. This means it is like \ref gsmtap_init2 but integrated - * with libosmocore \ref select */ + * registration. + */ struct gsmtap_inst *gsmtap_source_init(const char *host, uint16_t port, int ofd_wq_mode) { -- To view, visit https://gerrit.osmocom.org/13397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc Gerrit-Change-Number: 13397 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:43:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:43:51 +0000 Subject: Change in libosmocore[master]: Revert "ipa_ccm_idtag_parse*: Fix reported length value" In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13396 ) Change subject: Revert "ipa_ccm_idtag_parse*: Fix reported length value" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9adea35ff6de36c1611c7f85dde1b15bc1c0e786 Gerrit-Change-Number: 13396 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 14:43:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:43:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:43:53 +0000 Subject: Change in libosmocore[master]: Revert "ipa_ccm_idtag_parse*: Fix reported length value" In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13396 ) Change subject: Revert "ipa_ccm_idtag_parse*: Fix reported length value" ...................................................................... Revert "ipa_ccm_idtag_parse*: Fix reported length value" This reverts commit 1261db15058cfa94615f26c1083bb8a38d09218b. The patch broke openbsc's external tests, and currently it is unclear whether it is just an error in the test or if openbsc makes wrong assumptions about the length value. Let's revert the patch to unblock the master-openbsc jenkins job. Related: OS#3851 Change-Id: I9adea35ff6de36c1611c7f85dde1b15bc1c0e786 --- M src/gsm/ipa.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index b6fdc98..d423c26 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -128,7 +128,7 @@ DEBUGPC(DLMI, "%s='%s' ", ipa_ccm_idtag_name(t_tag), cur); - dec->lv[t_tag].len = t_len - 1 - len_offset; + dec->lv[t_tag].len = t_len - len_offset; dec->lv[t_tag].val = cur; cur += t_len - len_offset; -- To view, visit https://gerrit.osmocom.org/13396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9adea35ff6de36c1611c7f85dde1b15bc1c0e786 Gerrit-Change-Number: 13396 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:44:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 25 Mar 2019 14:44:57 +0000 Subject: Change in openbsc[master]: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13387 ) Change subject: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 Gerrit-Change-Number: 13387 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 25 Mar 2019 14:44:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:49:41 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 14:49:41 +0000 Subject: Change in osmo-pcu[master]: MCS: move Mode enum outside of class definition In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13163 ) Change subject: MCS: move Mode enum outside of class definition ...................................................................... MCS: move Mode enum outside of class definition Move Mode (EDGE/GPRS) definition and related functions outside of GprsCodingScheme class. This allows us to use standard libosmocore value_string functions. Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_vty_functions.cpp M src/tbf.cpp M tests/edge/EdgeTest.cpp 9 files changed, 50 insertions(+), 51 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 93278e7..135ddd2 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -85,3 +85,14 @@ OSMO_ASSERT(ht < NUM_HEADER_TYPES); return hdr_type_info[ht].data_block_header_bits; } + +const struct value_string mode_names[] = { + { GPRS, "GPRS" }, + { EGPRS_GMSK, "EGPRS_GMSK-only"}, + { EGPRS, "EGPRS"}, + { 0, NULL } +}; + +const char *mode_name(enum mcs_kind val) { + return get_value_string(mode_names, val); +} diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 1e8ca78..f69a76e 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -49,3 +49,11 @@ uint8_t num_data_header_bits_UL(enum HeaderType ht); uint8_t num_data_header_bits_DL(enum HeaderType ht); uint8_t num_data_block_header_bits(enum HeaderType ht); + +enum mcs_kind { + GPRS, + EGPRS_GMSK, + EGPRS, +}; + +const char *mode_name(enum mcs_kind val); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index 53b3b07..1a89b77 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -198,7 +198,7 @@ return mcs_info[m_scheme].data_hdr; } -void GprsCodingScheme::inc(Mode mode) +void GprsCodingScheme::inc(enum mcs_kind mode) { if (!isCompatible(mode)) /* This should not happen. TODO: Use assert? */ @@ -212,7 +212,7 @@ m_scheme = new_cs; } -void GprsCodingScheme::dec(Mode mode) +void GprsCodingScheme::dec(enum mcs_kind mode) { if (!isCompatible(mode)) /* This should not happen. TODO: Use assert? */ @@ -254,16 +254,6 @@ m_scheme = CodingScheme(m_scheme - 1); } -const char *GprsCodingScheme::modeName(Mode mode) -{ - switch (mode) { - case GPRS: return "GPRS"; - case EGPRS_GMSK: return "EGPRS_GMSK-only"; - case EGPRS: return "EGPRS"; - default: return "???"; - } -} - bool GprsCodingScheme::isFamilyCompatible(GprsCodingScheme o) const { if (*this == o) diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 055c166..6f965d6 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -34,12 +34,6 @@ #define EGPRS_ARQ1 0x0 #define EGPRS_ARQ2 0x1 - enum Mode { - GPRS, - EGPRS_GMSK, - EGPRS, - }; - GprsCodingScheme(CodingScheme s = UNKNOWN); operator bool() const {return m_scheme != UNKNOWN;} @@ -54,12 +48,12 @@ bool isGprs() const {return CS1 <= m_scheme && m_scheme <= CS4;} bool isEgprs() const {return m_scheme >= MCS1;} bool isEgprsGmsk() const {return isEgprs() && m_scheme <= MCS4;} - bool isCompatible(Mode mode) const; + bool isCompatible(enum mcs_kind mode) const; bool isCompatible(GprsCodingScheme o) const; bool isFamilyCompatible(GprsCodingScheme o) const; - void inc(Mode mode); - void dec(Mode mode); + void inc(enum mcs_kind mode); + void dec(enum mcs_kind mode); void inc(); void dec(); void decToSingleBlock(bool *needStuffing); @@ -81,7 +75,6 @@ static GprsCodingScheme getGprsByNum(unsigned num); static GprsCodingScheme getEgprsByNum(unsigned num); - static const char *modeName(Mode mode); static CodingScheme get_retx_mcs(const GprsCodingScheme mcs, const GprsCodingScheme retx_mcs, const unsigned arq_type); @@ -102,7 +95,7 @@ return 0; } -inline bool GprsCodingScheme::isCompatible(Mode mode) const +inline bool GprsCodingScheme::isCompatible(enum mcs_kind mode) const { switch (mode) { case GPRS: return isGprs(); diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 3c28319..e64bee4 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -110,7 +110,7 @@ m_reserved_ul_slots(0), m_current_trx(NULL), m_codel_state(NULL), - m_mode(GprsCodingScheme::GPRS), + m_mode(GPRS), m_dl_ctrl_msg(0) { int codel_interval = LLC_CODEL_USE_DEFAULT; @@ -213,7 +213,7 @@ unref(); } -void GprsMs::set_mode(GprsCodingScheme::Mode mode) +void GprsMs::set_mode(enum mcs_kind mode) { m_mode = mode; @@ -221,7 +221,7 @@ return; switch (m_mode) { - case GprsCodingScheme::GPRS: + case GPRS: if (!m_current_cs_ul.isGprs()) { m_current_cs_ul = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_ul); @@ -236,8 +236,8 @@ } break; - case GprsCodingScheme::EGPRS_GMSK: - case GprsCodingScheme::EGPRS: + case EGPRS_GMSK: + case EGPRS: if (!m_current_cs_ul.isEgprs()) { m_current_cs_ul = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_ul); diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 0a9efb8..ad8ca1d 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -74,8 +74,8 @@ bool check_tlli(uint32_t tlli); void reset(); - GprsCodingScheme::Mode mode() const; - void set_mode(GprsCodingScheme::Mode mode); + enum mcs_kind mode() const; + void set_mode(enum mcs_kind mode); const char *imsi() const; void set_imsi(const char *imsi); @@ -181,7 +181,7 @@ gprs_rlcmac_trx *m_current_trx; struct gprs_codel *m_codel_state; - GprsCodingScheme::Mode m_mode; + enum mcs_kind m_mode; unsigned m_dl_ctrl_msg; }; @@ -237,7 +237,7 @@ return m_current_cs_ul; } -inline GprsCodingScheme::Mode GprsMs::mode() const +inline enum mcs_kind GprsMs::mode() const { return m_mode; } diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 47a0559..c93935d 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -79,7 +79,7 @@ ul_tbf->window_size(), win->v_q(), win->v_r()); vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, " TBF Statistics:%s", VTY_NEWLINE); - if(GprsCodingScheme::GPRS == tbf->ms()->mode()) { + if(GPRS == tbf->ms()->mode()) { vty_out_rate_ctr_group(vty, " ", ul_tbf->m_ul_gprs_ctrs); } else { vty_out_rate_ctr_group(vty, " ", ul_tbf->m_ul_egprs_ctrs); @@ -92,7 +92,7 @@ win->window_stalled() ? " STALLED" : ""); vty_out(vty, "%s", VTY_NEWLINE); vty_out_rate_ctr_group(vty, " ", tbf->m_ctrs); - if(GprsCodingScheme::GPRS == tbf->ms()->mode()) { + if(GPRS == tbf->ms()->mode()) { vty_out_rate_ctr_group(vty, " ", dl_tbf->m_dl_gprs_ctrs); } else { vty_out_rate_ctr_group(vty, " ", dl_tbf->m_dl_egprs_ctrs); @@ -153,8 +153,7 @@ VTY_NEWLINE); vty_out(vty, " Coding scheme downlink: %s%s", mcs_name(ms->current_cs_dl()), VTY_NEWLINE); - vty_out(vty, " Mode: %s%s", - GprsCodingScheme::modeName(ms->mode()), VTY_NEWLINE); + vty_out(vty, " Mode: %s%s", mode_name(ms->mode()), VTY_NEWLINE); vty_out(vty, " MS class: %d%s", ms->ms_class(), VTY_NEWLINE); vty_out(vty, " EGPRS MS class: %d%s", ms->egprs_ms_class(), VTY_NEWLINE); vty_out(vty, " PACCH: "); diff --git a/src/tbf.cpp b/src/tbf.cpp index ffe8b82..3d9b5c4 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -897,7 +897,7 @@ bts = tbf->bts->bts_data(); - if (ms->mode() == GprsCodingScheme::EGPRS) + if (ms->mode() == EGPRS) ms_class = egprs_ms_class; tbf->m_created_ts = time(NULL); @@ -954,11 +954,11 @@ { if (GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul).isEgprsGmsk() && GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl).isEgprsGmsk() && - ms->mode() != GprsCodingScheme::EGPRS) + ms->mode() != EGPRS) { - ms->set_mode(GprsCodingScheme::EGPRS_GMSK); + ms->set_mode(EGPRS_GMSK); } else { - ms->set_mode(GprsCodingScheme::EGPRS); + ms->set_mode(EGPRS); } } @@ -992,8 +992,7 @@ if (egprs_ms_class > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); - LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", - GprsCodingScheme::modeName(ms->mode())); + LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot); @@ -1085,8 +1084,7 @@ if (egprs_ms_class > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); - LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", - GprsCodingScheme::modeName(ms->mode())); + LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot); diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 41a1115..b902806 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -48,7 +48,7 @@ int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; -static void check_coding_scheme(GprsCodingScheme& cs, GprsCodingScheme::Mode mode) +static void check_coding_scheme(GprsCodingScheme& cs, enum mcs_kind mode) { volatile unsigned expected_size; bool need_padding; @@ -148,9 +148,9 @@ OSMO_ASSERT(!cs); OSMO_ASSERT(CodingScheme(cs) == UNKNOWN); OSMO_ASSERT(cs == GprsCodingScheme(UNKNOWN)); - OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::GPRS)); - OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS_GMSK)); - OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS)); + OSMO_ASSERT(!cs.isCompatible(GPRS)); + OSMO_ASSERT(!cs.isCompatible(EGPRS_GMSK)); + OSMO_ASSERT(!cs.isCompatible(EGPRS)); last_size_UL = 0; last_size_DL = 0; @@ -170,7 +170,7 @@ /* Check header types */ OSMO_ASSERT(current_cs.headerTypeData() == HEADER_GPRS_DATA); - check_coding_scheme(current_cs, GprsCodingScheme::GPRS); + check_coding_scheme(current_cs, GPRS); } OSMO_ASSERT(i == 4); @@ -190,8 +190,8 @@ last_size_DL = current_cs.maxBytesDL(); if (egprs_schemes[i].is_gmsk) - check_coding_scheme(current_cs, GprsCodingScheme::EGPRS_GMSK); - check_coding_scheme(current_cs, GprsCodingScheme::EGPRS); + check_coding_scheme(current_cs, EGPRS_GMSK); + check_coding_scheme(current_cs, EGPRS); } OSMO_ASSERT(i == 9); -- To view, visit https://gerrit.osmocom.org/13163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3baaac7f1ca3f5b88917a23c1679d63847455f47 Gerrit-Change-Number: 13163 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:50:46 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 14:50:46 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13398 ) Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 50 PS1, Line 50: /*! Define a new llist_head pointing to another llist_head. another is confusing here, specially because immediatelly afterwards it' used to point to itself in LLIST_HEAD. So better use "a given" instead of "other". https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 69 PS1, Line 69: * Insert a new entry between two known consecutive entries. No need for extra line. You can start it with "/*! Insert", see functions below. https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 85 PS1, Line 85: * \param _new a new entry to be added. "the entry to be added". https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 86 PS1, Line 86: * \param head head of linked list to add it after. "add it after" is quite misleading here. Would be a lot clearer saying " linked list head to prepend the element to". I see nowhere the word "prepend" being used, and imho it's the one really explaining in an easy way what this function does. https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 344 PS1, Line 344: whitespace, we can remove it in this commit or add an extra one. -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 14:50:46 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:51:27 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 14:51:27 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix white-space and inconsistent alignment In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13399 ) Change subject: core/linuxlist.h: fix white-space and inconsistent alignment ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 Gerrit-Change-Number: 13399 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 14:51:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 14:59:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 Mar 2019 14:59:15 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13347 to look at the new patch set (#2). Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Forward GPRS SUSPEND REQ from DCCH to PCU socket As specified in 3GPP TS 03.60 Section 16.2.1 and 44.018 Section 3.4.15, a Class B MS is sending a "RR GPRS SUSPEND REQ" via a DCCH to the BTS if it wants to suspend GPRS services. The BSS is now responsible to somehow forward this to the SGSN. As the Gs interface between BSC and SGSN is both optional and doesn't have any provision to forward this message, we have to send it over to the PCU so it can use regular BSSGP signaling to inform the SGSN of the SUSPEND REQUEST. This patch requires libosmocore Change-Id I90113044460a6c511ced14f588876c4280d1cac7 for the related definition of struct gsm48_gprs_susp_req. Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Closes: OS#2249 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/common/rsl.c 4 files changed, 73 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/47/13347/2 -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:00:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 Mar 2019 15:00:39 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 1: (3 comments) Comments addressed, please have another look. I have tested this again with a sysmoBTS 1002 and it is still working as expected. https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/#/c/13347/1/include/osmo-bts/pcuif_proto.h at 14 PS1, Line 14: > (stray tab) Done https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2592 PS1, Line 2592: static int rslms_is_gprs_susp_req(struct msgb *msg) > I care about having things resolved as quickly as possible, so if you have time and know what needs [?] Done https://gerrit.osmocom.org/#/c/13347/1/src/common/rsl.c at 2636 PS1, Line 2636: tlli = osmo_htonl(gsr->tlli); > correct, it's network to host order that we need here. Done -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 15:00:39 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:05:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:05:45 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 15:05:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:06:58 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 15:06:58 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13398 ) Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h File include/osmocom/core/linuxlist.h: https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 50 PS1, Line 50: /*! Define a new llist_head pointing to another llist_head. > another is confusing here, specially because immediatelly afterwards it' used to point to itself in [?] Agree, done. https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 69 PS1, Line 69: * Insert a new entry between two known consecutive entries. > No need for extra line. You can start it with "/*! Insert", see functions below. This is an internal function, so we probably don't need to have any Doxygen documentation for it. I just made it look similar to __llist_del's documentation. https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 85 PS1, Line 85: * \param _new a new entry to be added. > "the entry to be added". Done https://gerrit.osmocom.org/#/c/13398/1/include/osmocom/core/linuxlist.h at 86 PS1, Line 86: * \param head head of linked list to add it after. > "add it after" is quite misleading here. [?] Done -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 15:06:58 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:07:03 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 15:07:03 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13398 to look at the new patch set (#2). Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... core/linuxlist.h: fix and unify Doxygen documentation - drop incorrect \ref and \a references; - add missing documentation to LLIST_HEAD_INIT; - document parameter 'member' of llist_entry(); - turn @argument naming into a valid \param format; - fix 'type *' vs llist_head loop counter confusion; - capitalize and dot-terminate all sentences. Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 --- M include/osmocom/core/linuxlist.h 1 file changed, 96 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/98/13398/2 -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:07:04 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 15:07:04 +0000 Subject: Change in libosmocore[master]: logging_gsmtap.c: document all params of log_target_create_gsmtap() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13400 Change subject: logging_gsmtap.c: document all params of log_target_create_gsmtap() ...................................................................... logging_gsmtap.c: document all params of log_target_create_gsmtap() Change-Id: Id7bd6b4fb4be571af351f77aa4a59b9e1076434f --- M src/logging_gsmtap.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/00/13400/1 diff --git a/src/logging_gsmtap.c b/src/logging_gsmtap.c index 98d2aad..bd64271 100644 --- a/src/logging_gsmtap.c +++ b/src/logging_gsmtap.c @@ -117,7 +117,11 @@ } /*! Create a new logging target for GSMTAP logging + * \param[in] host remote host to send the logs to + * \param[in] port remote port to send the logs to * \param[in] ident string identifier + * \param[in] ofd_wq_mode register osmo_wqueue (1) or not (0) + * \param[in] add_sink add GSMTAP sink or not * \returns Log target in case of success, NULL in case of error */ struct log_target *log_target_create_gsmtap(const char *host, uint16_t port, -- To view, visit https://gerrit.osmocom.org/13400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id7bd6b4fb4be571af351f77aa4a59b9e1076434f Gerrit-Change-Number: 13400 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:07:05 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 15:07:05 +0000 Subject: Change in libosmocore[master]: src/logging.c: fix syntax errors in Doxygen documentation Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13401 Change subject: src/logging.c: fix syntax errors in Doxygen documentation ...................................................................... src/logging.c: fix syntax errors in Doxygen documentation This change should fix the following warnings: logging.c:956: warning: unable to resolve reference to `talloc' for \ref command logging.c:203: warning: argument 'in' of command @param is not found in the argument list of log_level_str(unsigned int lvl) logging.c:194: warning: argument 'in' of command @param is not found in the argument list of log_parse_level(const char *lvl) logging.c:708: warning: argument 'print_catname' of command @param is not found in the argument list of log_set_print_category(struct log_target *target, int print_category) logging.c:687: warning: argument 'print_filename' of command @param is not found in the argument list of log_set_print_filename2(struct log_target *target, enum log_filename_type lft) logging.c:729: warning: argument 'print_catname' of command @param is not found in the argument list of log_set_print_level(struct log_target *target, int print_level) logging.c:893: warning: argument 'in' of command @param is not found in the argument list of log_target_destroy(struct log_target *target) Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 --- M src/logging.c 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/13401/1 diff --git a/src/logging.c b/src/logging.c index 09021e4..73a9c52 100644 --- a/src/logging.c +++ b/src/logging.c @@ -192,7 +192,7 @@ } /*! Parse a human-readable log level into a numeric value - * \param lvl[in] zero-terminated string containing log level name + * \param[in] lvl zero-terminated string containing log level name * \returns numeric log level */ int log_parse_level(const char *lvl) @@ -201,7 +201,7 @@ } /*! convert a numeric log level into human-readable string - * \param lvl[in] numeric log level + * \param[in] lvl numeric log level * \returns zero-terminated string (log level name) */ const char *log_level_str(unsigned int lvl) @@ -685,7 +685,7 @@ /*! Enable or disable printing of the filename while logging. * \param[in] target Log target to be affected. - * \param[in] print_filename An LOG_FILENAME_* enum value. + * \param[in] lft An LOG_FILENAME_* enum value. * LOG_FILENAME_NONE omits the source file and line information from logs. * LOG_FILENAME_PATH prints the entire source file path as passed to LOGP macros. */ @@ -707,7 +707,7 @@ /*! Enable or disable printing of the category name * \param[in] target Log target to be affected - * \param[in] print_catname Enable (1) or disable (0) filenames + * \param[in] print_category Enable (1) or disable (0) filenames * * Print the category/subsys name in front of every log message. */ @@ -727,7 +727,7 @@ /*! Enable or disable printing of the log level name. * \param[in] target Log target to be affected - * \param[in] print_catname Enable (1) or disable (0) filenames + * \param[in] print_level Enable (1) or disable (0) log level name * * Print the log level name in front of every log message. */ @@ -891,7 +891,7 @@ } /*! Unregister, close and delete a log target - * \param target[in] log target to unregister, close and delete */ + * \param[in] target log target to unregister, close and delete */ void log_target_destroy(struct log_target *target) { @@ -954,7 +954,7 @@ /*! Initialize the Osmocom logging core * \param[in] inf Information regarding logging categories, could be NULL - * \param[in] ctx \ref talloc context for logging allocations + * \param[in] ctx talloc context for logging allocations * \returns 0 in case of success, negative in case of error * * If inf is NULL then only library-internal categories are initialized. -- To view, visit https://gerrit.osmocom.org/13401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 Gerrit-Change-Number: 13401 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:08:23 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:08:23 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13398 ) Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 25 Mar 2019 15:08:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:10:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:10:12 +0000 Subject: Change in libosmocore[master]: logging_gsmtap.c: document all params of log_target_create_gsmtap() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13400 ) Change subject: logging_gsmtap.c: document all params of log_target_create_gsmtap() ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/13400/1/src/logging_gsmtap.c File src/logging_gsmtap.c: https://gerrit.osmocom.org/#/c/13400/1/src/logging_gsmtap.c at 123 PS1, Line 123: * \param[in] ofd_wq_mode register osmo_wqueue (1) or not (0) should actually be (true) (false) -- To view, visit https://gerrit.osmocom.org/13400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id7bd6b4fb4be571af351f77aa4a59b9e1076434f Gerrit-Change-Number: 13400 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 15:10:12 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:11:00 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:11:00 +0000 Subject: Change in libosmocore[master]: src/logging.c: fix syntax errors in Doxygen documentation In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13401 ) Change subject: src/logging.c: fix syntax errors in Doxygen documentation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 Gerrit-Change-Number: 13401 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 15:11:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:18:39 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:18:39 +0000 Subject: Change in openbsc[master]: osmo-bsc-mgcp.service: Fix parsing of cmdline option s In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13348 ) Change subject: osmo-bsc-mgcp.service: Fix parsing of cmdline option s ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7 Gerrit-Change-Number: 13348 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Mon, 25 Mar 2019 15:18:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:22:36 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:22:36 +0000 Subject: Change in openbsc[master]: osmo-bsc-mgcp.service: Fix parsing of cmdline option s In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13348 ) Change subject: osmo-bsc-mgcp.service: Fix parsing of cmdline option s ...................................................................... osmo-bsc-mgcp.service: Fix parsing of cmdline option s >From journald output: /usr/bin/osmo-bsc_mgcp: invalid option -- 's' Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7 --- M openbsc/src/osmo-bsc_mgcp/mgcp_main.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Vadim Yanitskiy: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c index 6cf9ab7..419f852 100644 --- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c +++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c @@ -102,7 +102,7 @@ {0, 0, 0, 0}, }; - c = getopt_long(argc, argv, "hc:VD", long_options, &option_index); + c = getopt_long(argc, argv, "hc:sVD", long_options, &option_index); if (c == -1) break; -- To view, visit https://gerrit.osmocom.org/13348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7 Gerrit-Change-Number: 13348 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:22:36 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:22:36 +0000 Subject: Change in openbsc[master]: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13387 ) Change subject: talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init ...................................................................... talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init There's already a public API to allocate libosmocore's signal ctx, so let's use it instead of accessing the global variable. This will allow to eventually Make the global variable in libosmocore static and private. Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 --- M openbsc/src/libcommon/talloc_ctx.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Vadim Yanitskiy: Looks good to me, but someone else must approve Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/src/libcommon/talloc_ctx.c b/openbsc/src/libcommon/talloc_ctx.c index 5e3d9ae..7164851 100644 --- a/openbsc/src/libcommon/talloc_ctx.c +++ b/openbsc/src/libcommon/talloc_ctx.c @@ -19,6 +19,7 @@ #include #include +#include extern void *tall_bsc_ctx; extern void *tall_fle_ctx; @@ -29,7 +30,6 @@ extern void *tall_sub_req_ctx; extern void *tall_call_ctx; extern void *tall_paging_ctx; -extern void *tall_sigh_ctx; extern void *tall_tqe_ctx; extern void *tall_trans_ctx; extern void *tall_map_ctx; @@ -47,10 +47,10 @@ tall_sub_req_ctx = talloc_named_const(ctx_root, 0, "subscr_request"); tall_call_ctx = talloc_named_const(ctx_root, 0, "gsm_call"); tall_paging_ctx = talloc_named_const(ctx_root, 0, "paging_request"); - tall_sigh_ctx = talloc_named_const(ctx_root, 0, "signal_handler"); tall_tqe_ctx = talloc_named_const(ctx_root, 0, "subch_txq_entry"); tall_trans_ctx = talloc_named_const(ctx_root, 0, "transaction"); tall_map_ctx = talloc_named_const(ctx_root, 0, "trau_map_entry"); tall_upq_ctx = talloc_named_const(ctx_root, 0, "trau_upq_entry"); tall_ctr_ctx = talloc_named_const(ctx_root, 0, "counter"); + osmo_signal_talloc_ctx_init(ctx_root); } -- To view, visit https://gerrit.osmocom.org/13387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42 Gerrit-Change-Number: 13387 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 15:28:27 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 15:28:27 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy In-Reply-To: References: Message-ID: Hello Daniel Willmann, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13363 to look at the new patch set (#2). Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy Depends on osmo-pcu Change-Id I7cd89a549c9463e81893ca7dd925299f728e4453. Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de --- M contrib/jenkins-build-osmo-pcu-oc2g.sh 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/63/13363/2 -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:09:01 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 16:09:01 +0000 Subject: Change in osmo-pcu[master]: Update MCS selection for retransmission Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13402 Change subject: Update MCS selection for retransmission ...................................................................... Update MCS selection for retransmission In 3GPP TS 44.060 the selection of MCS for retransmissions is defined as separate tables (8.1.1.1 and 8.1.1.2) depending on the value of resegmentation bit (which is opposite to the way EGPRS_ARQ are defined in the source code). Let's follow the same idea and explicitly check for resegmentation bit value and use separate tables. This also makes it easier to add proper support for special cases (MCS-6-9 and MCS-5-7) and padding in future independently for different ARQ types. The code is also moved to c to avoid unnecessary conversions to and from cpp class. Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/tbf_dl.cpp 5 files changed, 40 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/02/13402/1 diff --git a/src/coding_scheme.c b/src/coding_scheme.c index a4ae882..48a74cd 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -127,3 +127,39 @@ const char *mode_name(enum mcs_kind val) { return get_value_string(mode_names, val); } + +/* FIXME: take into account padding and special cases of commanded MCS (MCS-6-9 and MCS-5-7) */ +enum CodingScheme get_retx_mcs(enum CodingScheme initial_mcs, enum CodingScheme demanded_mcs, bool resegment_bit) +{ + OSMO_ASSERT(mcs_is_edge(initial_mcs)); + OSMO_ASSERT(mcs_is_edge(demanded_mcs)); + OSMO_ASSERT(NUM_SCHEMES - MCS1 == 9); + + if (resegment_bit) { /* 3GPP TS 44.060 Table 8.1.1.1, reflected over antidiagonal */ + enum CodingScheme egprs_reseg[NUM_SCHEMES - MCS1][NUM_SCHEMES - MCS1] = { + { MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1 }, + { MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2 }, + { MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3 }, + { MCS1, MCS1, MCS1, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4 }, + { MCS2, MCS2, MCS2, MCS2, MCS5, MCS5, MCS7, MCS7, MCS7 }, + { MCS3, MCS3, MCS3, MCS3, MCS3, MCS6, MCS6, MCS6, MCS9 }, + { MCS2, MCS2, MCS2, MCS2, MCS5, MCS5, MCS7, MCS7, MCS7 }, + { MCS3, MCS3, MCS3, MCS3, MCS3, MCS6, MCS6, MCS8, MCS8 }, + { MCS3, MCS3, MCS3, MCS3, MCS3, MCS6, MCS6, MCS6, MCS9 }, + }; + return egprs_reseg[mcs_chan_code(initial_mcs)][mcs_chan_code(demanded_mcs)]; + } else { /* 3GPP TS 44.060 Table 8.1.1.2, reflected over antidiagonal */ + enum CodingScheme egprs_no_reseg[NUM_SCHEMES - MCS1][NUM_SCHEMES - MCS1] = { + { MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1 }, + { MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2 }, + { MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3 }, + { MCS4, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4 }, + { MCS5, MCS5, MCS5, MCS5, MCS5, MCS5, MCS7, MCS7, MCS7 }, + { MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS9 }, + { MCS5, MCS5, MCS5, MCS5, MCS5, MCS5, MCS7, MCS7, MCS7 }, + { MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS8, MCS8 }, + { MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS9 }, + }; + return egprs_no_reseg[mcs_chan_code(initial_mcs)][mcs_chan_code(demanded_mcs)]; + } +} diff --git a/src/coding_scheme.h b/src/coding_scheme.h index aac4bba..f93a4a2 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -32,6 +32,7 @@ extern const struct value_string mcs_names[]; const char *mcs_name(enum CodingScheme val); +enum CodingScheme get_retx_mcs(enum CodingScheme initial_mcs, enum CodingScheme demanded_mcs, bool resegment_bit); bool mcs_is_gprs(enum CodingScheme cs); bool mcs_is_edge(enum CodingScheme cs); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index a149f81..0c22670 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -21,41 +21,6 @@ #include "gprs_coding_scheme.h" -#define MAX_NUM_ARQ 2 /* max. number of ARQ */ -#define MAX_NUM_MCS 9 /* max. number of MCS */ - -/* - * 44.060 Table 8.1.1.1 and Table 8.1.1.2 - * It has 3 level indexing. 0th level is ARQ type - * 1st level is Original MCS( index 0 corresponds to MCS1 and so on) - * 2nd level is MS MCS (index 0 corresponds to MCS1 and so on) - */ -static enum CodingScheme egprs_mcs_retx_tbl[MAX_NUM_ARQ] - [MAX_NUM_MCS][MAX_NUM_MCS] = { - { - {MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1}, - {MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2}, - {MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3}, - {MCS1, MCS1, MCS1, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4}, - {MCS2, MCS2, MCS2, MCS2, MCS5, MCS5, MCS7, MCS7, MCS7}, - {MCS3, MCS3, MCS3, MCS3, MCS3, MCS6, MCS6, MCS6, MCS9}, - {MCS2, MCS2, MCS2, MCS2, MCS5, MCS5, MCS7, MCS7, MCS7}, - {MCS3, MCS3, MCS3, MCS3, MCS3, MCS6, MCS6, MCS8, MCS8}, - {MCS3, MCS3, MCS3, MCS3, MCS3, MCS6, MCS6, MCS6, MCS9} - }, - { - {MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1}, - {MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2, MCS2}, - {MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3, MCS3}, - {MCS4, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4, MCS4}, - {MCS5, MCS5, MCS5, MCS5, MCS5, MCS5, MCS7, MCS7, MCS7}, - {MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS9}, - {MCS5, MCS5, MCS5, MCS5, MCS5, MCS5, MCS7, MCS7, MCS7}, - {MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS8, MCS8}, - {MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS6, MCS9} - } - }; - enum Family { FAMILY_INVALID, FAMILY_A, @@ -63,13 +28,6 @@ FAMILY_C, }; -CodingScheme GprsCodingScheme::get_retx_mcs(const GprsCodingScheme mcs, - const GprsCodingScheme demanded_mcs, - const unsigned arq_type) -{ - return egprs_mcs_retx_tbl[arq_type][mcs_chan_code(mcs)][mcs_chan_code(demanded_mcs)]; -} - static struct { struct { uint8_t bytes; diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index d5604fb..c31f58f 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -73,9 +73,6 @@ static GprsCodingScheme getGprsByNum(unsigned num); static GprsCodingScheme getEgprsByNum(unsigned num); - static CodingScheme get_retx_mcs(const GprsCodingScheme mcs, - const GprsCodingScheme retx_mcs, - const unsigned arq_type); private: GprsCodingScheme(int s); /* fail on use */ GprsCodingScheme& operator =(int s); /* fail on use */ diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 08df05a..c97436a 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -378,11 +378,9 @@ if (is_egprs_enabled()) { /* Table 8.1.1.2 and Table 8.1.1.1 of 44.060 */ - m_rlc.block(bsn)->cs_current_trans = - GprsCodingScheme::get_retx_mcs( - m_rlc.block(bsn)->cs_init, - ms()->current_cs_dl(), - bts->bts_data()->dl_arq_type); + m_rlc.block(bsn)->cs_current_trans = get_retx_mcs(m_rlc.block(bsn)->cs_init, + ms()->current_cs_dl(), + !bts->bts_data()->dl_arq_type); LOGPTBFDL(this, LOGL_DEBUG, "initial_cs_dl(%s) last_mcs(%s) demanded_mcs(%s) cs_trans(%s) arq_type(%d) bsn(%d)\n", -- To view, visit https://gerrit.osmocom.org/13402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 Gerrit-Change-Number: 13402 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:16:30 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 16:16:30 +0000 Subject: Change in osmo-pcu[master]: Include pdch.h in bts.h even if we're not compiling C++ In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13361 ) Change subject: Include pdch.h in bts.h even if we're not compiling C++ ...................................................................... Patch Set 2: Code-Review+1 That's generic fix unrelated to oc2g in any way. Can we rebase this on top of master and go ahead with merge? -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 16:16:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:28:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 16:28:06 +0000 Subject: Change in osmo-pcu[master]: bts.h: always include C-headers Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13403 Change subject: bts.h: always include C-headers ...................................................................... bts.h: always include C-headers Previously C-headers were only included if bts.h was used by C++ code which might lead to compilation errors if it's used from C. Fix this by including C-headers regardless of the compilation mode. Change-Id: I85b7dc8e8786671a054af2f1e7d836b863a25e60 --- M src/bts.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/03/13403/1 diff --git a/src/bts.h b/src/bts.h index ee5a692..e5bf094 100644 --- a/src/bts.h +++ b/src/bts.h @@ -23,12 +23,14 @@ #ifdef __cplusplus extern "C" { +#endif #include #include #include #include #include #include +#ifdef __cplusplus } #include -- To view, visit https://gerrit.osmocom.org/13403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I85b7dc8e8786671a054af2f1e7d836b863a25e60 Gerrit-Change-Number: 13403 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:30:55 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 16:30:55 +0000 Subject: Change in libosmocore[master]: src/logging.c: fix syntax errors in Doxygen documentation In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13401 ) Change subject: src/logging.c: fix syntax errors in Doxygen documentation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 Gerrit-Change-Number: 13401 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 16:30:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:37:56 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 16:37:56 +0000 Subject: Change in osmo-pcu[master]: Update MCS selection for retransmission In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13402 ) Change subject: Update MCS selection for retransmission ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c at 131 PS1, Line 131: /* FIXME: take into account padding and special cases of commanded MCS (MCS-6-9 and MCS-5-7) */ commanded MCS? do you mean demanded_mcs? https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c at 136 PS1, Line 136: OSMO_ASSERT(NUM_SCHEMES - MCS1 == 9); That should be actually a compile-time assert. Have a look at "_Static_assert": https://en.cppreference.com/w/c/language/_Static_assert It seems for c++ "static_assert" is used instead. May be worth adding an OSMO_STATIC_ASSERT() macro in libosmocore to make it automatically c/c++ compatible, as explained in https://stackoverflow.com/a/54993033 -- To view, visit https://gerrit.osmocom.org/13402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 Gerrit-Change-Number: 13402 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 16:37:56 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:39:27 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 16:39:27 +0000 Subject: Change in osmo-pcu[master]: bts.h: always include C-headers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13403 ) Change subject: bts.h: always include C-headers ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13403/1/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/13403/1/src/bts.h at 44 PS1, Line 44: #endif This endif should go in line 35. -- To view, visit https://gerrit.osmocom.org/13403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85b7dc8e8786671a054af2f1e7d836b863a25e60 Gerrit-Change-Number: 13403 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 16:39:27 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:44:25 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 16:44:25 +0000 Subject: Change in osmo-pcu[master]: bts.h: always include C-headers In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13403 ) Change subject: bts.h: always include C-headers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13403/1/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/13403/1/src/bts.h at 44 PS1, Line 44: #endif > This endif should go in line 35. What makes you think that? Even if it won't break the compilation (which I doubt) including cpp headers into c files doesn't seem like a good idea. -- To view, visit https://gerrit.osmocom.org/13403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85b7dc8e8786671a054af2f1e7d836b863a25e60 Gerrit-Change-Number: 13403 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 16:44:25 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:48:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 16:48:19 +0000 Subject: Change in osmo-pcu[master]: bts.h: always include C-headers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13403 ) Change subject: bts.h: always include C-headers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13403/1/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/13403/1/src/bts.h at 44 PS1, Line 44: #endif > What makes you think that? Even if it won't break the compilation (which I doubt) including cpp head [?] It doesn't makes sense from point of view of current compilation with a C compiler, since it's going to fail nowadays both ways, so I'm not going to discuss that. I'm pointing out how usually C headers are guarded on C++ code, and since you are changing those lines, make it correct: #ifdef __cplusplus extern "C" { #endif #include .... #ifdef __cplusplus } #endif -- To view, visit https://gerrit.osmocom.org/13403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85b7dc8e8786671a054af2f1e7d836b863a25e60 Gerrit-Change-Number: 13403 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 16:48:19 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:50:31 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 16:50:31 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13404 Change subject: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers ...................................................................... core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers Neither Doxygen documentation of the msgb data comparison helpers, nor their actual definitions does refer msgb2. Instead, 'msg2' is referenced in both cases. This was discovered while investigating the following Doxygen warnings: msgb.h:XXX: warning: argument 'msg2' of command @param is not found in the argument list of msgb_eq(msg1, msgb2, len) msgb.h:XXX: warning: The following parameters of msgb_eq_l2(msg1, msgb2, len) are not documented: parameter 'msgb2' parameter 'len' Due to this bug it was impossible to use the affected macros, because 'msg2' was not listed in their parameters. Having the unit test coverage would spot this bug at the beginning! Change-Id: I1079d629abdb8770eef6be7341e586a933cd9cca --- M include/osmocom/core/msgb.h 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/13404/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index f006b34..5de391e 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -668,35 +668,35 @@ * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb content is equal */ -#define msgb_eq(msg1, msgb2, len) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) +#define msgb_eq(msg1, msg2, len) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) /*! Compare msgbs L1 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L1 content is equal */ -#define msgb_eq_l1(msg1, msgb2, len) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) +#define msgb_eq_l1(msg1, msg2, len) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) /*! Compare msgbs L2 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L2 content is equal */ -#define msgb_eq_l2(msg1, msgb2, len) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) +#define msgb_eq_l2(msg1, msg2, len) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) /*! Compare msgbs L3 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L3 content is equal */ -#define msgb_eq_l3(msg1, msgb2, len) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) +#define msgb_eq_l3(msg1, msg2, len) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) /*! Compare msgbs L4 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L4 content is equal */ -#define msgb_eq_l4(msg1, msgb2, len) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) +#define msgb_eq_l4(msg1, msg2, len) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) /* non inline functions to ease binding */ -- To view, visit https://gerrit.osmocom.org/13404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1079d629abdb8770eef6be7341e586a933cd9cca Gerrit-Change-Number: 13404 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 16:50:32 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 16:50:32 +0000 Subject: Change in libosmocore[master]: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13405 Change subject: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers ...................................................................... core/msgb.h: drop meaningless parameter of msgb_eq_* helpers Thanks to the following Doxygen warning: msgb.h:XXX: warning: The following parameters of msgb_eq_l2(msg1, msgb2, len) are not documented: parameter 'msgb2' parameter 'len' it was discovered that parameter 'len' is not required at all. It basically doesn't make any sense to pass any length value, because it can be calculated using msgb_length(). Let's drop this parameter. Given that this part of the API was broken so far (see I1079d629abdb8770eef6be7341e586a933cd9cca), it should be more or less safe to do this. Change-Id: Icd9b72eb6bfa9628ff1ed2f948b57058551a4328 --- M include/osmocom/core/msgb.h 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/13405/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index 5de391e..273fc16 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -668,35 +668,35 @@ * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb content is equal */ -#define msgb_eq(msg1, msg2, len) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) +#define msgb_eq(msg1, msg2) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) /*! Compare msgbs L1 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L1 content is equal */ -#define msgb_eq_l1(msg1, msg2, len) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) +#define msgb_eq_l1(msg1, msg2) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) /*! Compare msgbs L2 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L2 content is equal */ -#define msgb_eq_l2(msg1, msg2, len) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) +#define msgb_eq_l2(msg1, msg2) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) /*! Compare msgbs L3 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L3 content is equal */ -#define msgb_eq_l3(msg1, msg2, len) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) +#define msgb_eq_l3(msg1, msg2) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) /*! Compare msgbs L4 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L4 content is equal */ -#define msgb_eq_l4(msg1, msg2, len) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) +#define msgb_eq_l4(msg1, msg2) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) /* non inline functions to ease binding */ -- To view, visit https://gerrit.osmocom.org/13405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icd9b72eb6bfa9628ff1ed2f948b57058551a4328 Gerrit-Change-Number: 13405 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 17:11:44 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 17:11:44 +0000 Subject: Change in osmo-pcu[master]: Add ARQ type helpers Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13406 Change subject: Add ARQ type helpers ...................................................................... Add ARQ type helpers Add functions to check/log EGPRS ARQ type (as described in 3GPP TS 44.060 ?8.1.1). Note - this requires updating previously incorrect TBF test output. Depends on: I85b7dc8e8786671a054af2f1e7d836b863a25e60 and Ib39e4424f73c677b34f921917440f211e400e14f in OsmoPCU. Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.h M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.err 6 files changed, 51 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/13406/1 diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 48a74cd..6ed787e 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -22,6 +22,7 @@ #include +#include "bts.h" #include "coding_scheme.h" const struct value_string mcs_names[] = { @@ -163,3 +164,20 @@ return egprs_no_reseg[mcs_chan_code(initial_mcs)][mcs_chan_code(demanded_mcs)]; } } + +/* Check whether 3GPP TS 44.060 EGPRS ARQ Type II is configured for BTS */ +bool egprs_arq_type_2(const struct gprs_rlcmac_bts *bts) +{ + if (bts->dl_arq_type != EGPRS_ARQ2) + return false; + + return true; +} + +char *egprs_arq_type_name(const struct gprs_rlcmac_bts *bts) +{ + if (egprs_arq_type_2(bts)) + return "Type II"; + + return "Type I"; +} diff --git a/src/coding_scheme.h b/src/coding_scheme.h index f93a4a2..5e58528 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -21,6 +21,9 @@ #include +#define EGPRS_ARQ1 0x0 +#define EGPRS_ARQ2 0x1 + enum CodingScheme { UNKNOWN, /* GPRS Coding Schemes: */ @@ -64,3 +67,6 @@ }; const char *mode_name(enum mcs_kind val); + +bool egprs_arq_type_2(const struct gprs_rlcmac_bts *bts); +char *egprs_arq_type_name(const struct gprs_rlcmac_bts *bts); diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index c31f58f..03b92ec 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -30,10 +30,6 @@ class GprsCodingScheme { public: - -#define EGPRS_ARQ1 0x0 -#define EGPRS_ARQ2 0x1 - GprsCodingScheme(CodingScheme s = UNKNOWN); operator bool() const {return m_scheme != UNKNOWN;} diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 960c90d..cfc7e85 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -15,6 +15,7 @@ #include #include "bts.h" #include "tbf.h" +#include "coding_scheme.h" #include "pcu_vty_functions.h" extern void *tall_pcu_ctx; @@ -218,7 +219,7 @@ vty_out(vty, " window-size %d %d%s", bts->ws_base, bts->ws_pdch, VTY_NEWLINE); - if (bts->dl_arq_type) + if (egprs_arq_type_2(bts)) vty_out(vty, " egprs dl arq-type arq2%s", VTY_NEWLINE); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index c97436a..813a550 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -383,12 +383,12 @@ !bts->bts_data()->dl_arq_type); LOGPTBFDL(this, LOGL_DEBUG, - "initial_cs_dl(%s) last_mcs(%s) demanded_mcs(%s) cs_trans(%s) arq_type(%d) bsn(%d)\n", + "initial_cs_dl(%s) last_mcs(%s) demanded_mcs(%s) cs_trans(%s) ARQ(%s) bsn(%d)\n", mcs_name(m_rlc.block(bsn)->cs_init), mcs_name(m_rlc.block(bsn)->cs_last), mcs_name(ms()->current_cs_dl()), mcs_name(m_rlc.block(bsn)->cs_current_trans), - bts->bts_data()->dl_arq_type, bsn); + egprs_arq_type_name(bts->bts_data()), bsn); /* TODO: Need to remove this check when MCS-8 -> MCS-6 * transistion is handled. diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index b58b61d..b007f13 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -4754,7 +4754,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4898,7 +4898,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -5029,7 +5029,7 @@ Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -5145,7 +5145,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-6) cs_trans(MCS-6) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5200,7 +5200,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 96 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-1) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-1) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5255,7 +5255,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 92 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-2) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-2) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5323,9 +5323,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 56 05 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 10 70 c0 ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) ARQ(Type II) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5394,9 +5394,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 4d 97 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 10 70 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) ARQ(Type II) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5461,14 +5461,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 55 81 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 18 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-7) demanded_mcs(MCS-5) cs_trans(MCS-5) ARQ(Type II) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5532,14 +5532,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 d3 a5 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) ARQ(Type II) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 12 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(1) bsn(1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-9) demanded_mcs(MCS-6) cs_trans(MCS-6) ARQ(Type II) bsn(1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5594,14 +5594,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 c6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5656,14 +5656,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 18 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-5) demanded_mcs(MCS-2) cs_trans(MCS-2) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 d2 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-5) last_mcs(MCS-2) demanded_mcs(MCS-2) cs_trans(MCS-2) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5718,14 +5718,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 80 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-4) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-4) demanded_mcs(MCS-1) cs_trans(MCS-1) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 d6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-4) last_mcs(MCS-1) demanded_mcs(MCS-1) cs_trans(MCS-1) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5780,21 +5780,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-6) demanded_mcs(MCS-3) cs_trans(MCS-3) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 2 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 c6 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-3) cs_trans(MCS-3) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 1 spb 3 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-6) cs_trans(MCS-6) arq_type(0) bsn(0) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-6) last_mcs(MCS-3) demanded_mcs(MCS-6) cs_trans(MCS-6) ARQ(Type I) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 2 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs -- To view, visit https://gerrit.osmocom.org/13406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 Gerrit-Change-Number: 13406 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 17:28:21 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 17:28:21 +0000 Subject: Change in libosmocore[master]: src/msgb.c: fix Doxygen documentation for msgb_printf() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13407 Change subject: src/msgb.c: fix Doxygen documentation for msgb_printf() ...................................................................... src/msgb.c: fix Doxygen documentation for msgb_printf() This change fixes the following Doxygen warnings: src/msgb.c:479: warning: argument 'msg' of command @param is not found in the argument list of msgb_printf(struct msgb *msgb, const char *format,...) core/msgb.h:708: warning: The following parameters of msgb_printf(struct msgb *msgb, const char *format,...) are not documented: parameter 'msgb' parameter 'format' As a bonus, it dot-terminates all sentences. Change-Id: Ib708664336eef06f748d408ae02a13c754b6647a --- M src/msgb.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/13407/1 diff --git a/src/msgb.c b/src/msgb.c index 3902f6e..ce7654a 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -476,8 +476,9 @@ /*! Print a string to the end of message buffer. - * \param[in] msg message buffer - * \returns 0 on success, -EINVAL on error + * \param[in] msgb message buffer. + * \param[in] format format string. + * \returns 0 on success, -EINVAL on error. * * The resulting string is printed to the msgb without a trailing nul * character. A nul following the data tail may be written as an implementation -- To view, visit https://gerrit.osmocom.org/13407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib708664336eef06f748d408ae02a13c754b6647a Gerrit-Change-Number: 13407 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 17:28:21 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 17:28:21 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix incorrect Doxygen parameter description Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13408 Change subject: core/msgb.h: fix incorrect Doxygen parameter description ...................................................................... core/msgb.h: fix incorrect Doxygen parameter description core/msgb.h:414: warning: argument 'msgb' of command @param is not found in the argument list of msgb_pull_to_l2(struct msgb *msg) core/msgb.h:399: warning: argument 'msgb' of command @param is not found in the argument list of msgb_pull_to_l3(struct msgb *msg) core/msgb.h:351: warning: argument 'msgb' of command @param is not found in the argument list of msgb_push_u16(struct msgb *msg, uint16_t word) core/msgb.h:361: warning: argument 'msgb' of command @param is not found in the argument list of msgb_push_u32(struct msgb *msg, uint32_t word) core/msgb.h:341: warning: argument 'msgb' of command @param is not found in the argument list of msgb_push_u8(struct msgb *msg, uint8_t word) Change-Id: I5d660933ecfa89c631319eccf9e3d5c1986ec8ff --- M include/osmocom/core/msgb.h 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/13408/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index 273fc16..5029225 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -339,7 +339,7 @@ } /*! prepend a uint8 value to the head of the message - * \param[in] msgb message buffer + * \param[in] msg message buffer * \param[in] word unsigned 8bit byte to be prepended */ static inline void msgb_push_u8(struct msgb *msg, uint8_t word) @@ -349,7 +349,7 @@ } /*! prepend a uint16 value to the head of the message - * \param[in] msgb message buffer + * \param[in] msg message buffer * \param[in] word unsigned 16bit byte to be prepended */ static inline void msgb_push_u16(struct msgb *msg, uint16_t word) @@ -359,7 +359,7 @@ } /*! prepend a uint32 value to the head of the message - * \param[in] msgb message buffer + * \param[in] msg message buffer * \param[in] word unsigned 32bit byte to be prepended */ static inline void msgb_push_u32(struct msgb *msg, uint32_t word) @@ -396,7 +396,7 @@ } /*! remove (pull) all headers in front of l3h from the message buffer. - * \param[in] msgb message buffer with a valid l3h + * \param[in] msg message buffer with a valid l3h * \returns pointer to new start of msgb (l3h) * * This function moves the \a data pointer of the \ref msgb further back @@ -411,7 +411,7 @@ } /*! remove (pull) all headers in front of l2h from the message buffer. - * \param[in] msgb message buffer with a valid l2h + * \param[in] msg message buffer with a valid l2h * \returns pointer to new start of msgb (l2h) * * This function moves the \a data pointer of the \ref msgb further back -- To view, visit https://gerrit.osmocom.org/13408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5d660933ecfa89c631319eccf9e3d5c1986ec8ff Gerrit-Change-Number: 13408 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 18:09:53 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 18:09:53 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of rate_ctr_for_each_counter() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13409 Change subject: Doxygen: fix documentation of rate_ctr_for_each_counter() ...................................................................... Doxygen: fix documentation of rate_ctr_for_each_counter() Doxygen was confused by duplicated documentation for both definition and declaration of rate_ctr_for_each_counter(). Moreover, both variants contained some mistakes. Let's avoid this duplication and keep the only (corrected) one. Change-Id: Icca2d4a95bd5f96ae85a86909ec90fb8677cacf3 --- M include/osmocom/core/rate_ctr.h M src/rate_ctr.c 2 files changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/13409/1 diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index 865467c..f7e6e22 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -111,10 +111,6 @@ typedef int (*rate_ctr_group_handler_t)(struct rate_ctr_group *, void *); -/*! Iterate over all counters - * \param[in] handle_item Call-back function, aborts if rc < 0 - * \param[in] data Private data handed through to \a handle_counter - */ int rate_ctr_for_each_counter(struct rate_ctr_group *ctrg, rate_ctr_handler_t handle_counter, void *data); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index c9319a6..82fddc6 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -385,7 +385,7 @@ } /*! Iterate over each counter in group and call function - * \param[in] counter group over whose counter to iterate + * \param[in] ctrg counter group over which to iterate * \param[in] handle_counter function pointer * \param[in] data Data to hand transparently to \ref handle_counter * \returns 0 on success; negative otherwise -- To view, visit https://gerrit.osmocom.org/13409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icca2d4a95bd5f96ae85a86909ec90fb8677cacf3 Gerrit-Change-Number: 13409 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 18:09:53 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 18:09:53 +0000 Subject: Change in libosmocore[master]: src/rate_ctr.c: drop some incorrect \ref references Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13410 Change subject: src/rate_ctr.c: drop some incorrect \ref references ...................................................................... src/rate_ctr.c: drop some incorrect \ref references rate_ctr.c:411: warning: unable to resolve reference to `handle_group' for \ref command rate_ctr.c:208: warning: unable to resolve reference to `talloc' for \ref command Change-Id: I24a80ff6cf11ce0455529515d1ecb9900f0271a8 --- M src/rate_ctr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/13410/1 diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 82fddc6..026670b 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -206,7 +206,7 @@ } /*! Allocate a new group of counters according to description - * \param[in] ctx \ref talloc context + * \param[in] ctx parent talloc context * \param[in] desc Rate counter group description * \param[in] idx Index of new counter group */ @@ -387,7 +387,7 @@ /*! Iterate over each counter in group and call function * \param[in] ctrg counter group over which to iterate * \param[in] handle_counter function pointer - * \param[in] data Data to hand transparently to \ref handle_counter + * \param[in] data Data to hand transparently to handle_counter() * \returns 0 on success; negative otherwise */ int rate_ctr_for_each_counter(struct rate_ctr_group *ctrg, @@ -409,7 +409,7 @@ /*! Iterate over all counter groups * \param[in] handle_group function pointer of callback function - * \param[in] data Data to hand transparently to \ref handle_group + * \param[in] data Data to hand transparently to handle_group() * \returns 0 on success; negative otherwise */ int rate_ctr_for_each_group(rate_ctr_group_handler_t handle_group, void *data) -- To view, visit https://gerrit.osmocom.org/13410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I24a80ff6cf11ce0455529515d1ecb9900f0271a8 Gerrit-Change-Number: 13410 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 18:15:08 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 25 Mar 2019 18:15:08 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of osmo_timer_setup() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13411 Change subject: Doxygen: fix documentation of osmo_timer_setup() ...................................................................... Doxygen: fix documentation of osmo_timer_setup() This change fixes the following Doxygen warnings: timer.c:69: warning: argument 'callback' of command @param is not found in the argument list of osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data) timer.c:69: warning: argument 'pointer' of command @param is not found in the argument list of osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data) core/timer.h:70: warning: The following parameters of osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data) are not documented: parameter 'cb' parameter 'data' Change-Id: If5668f40a7bfde2f4f22329a071c8c6eff23b99e --- M src/timer.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/13411/1 diff --git a/src/timer.c b/src/timer.c index 02160a1..0b2e3dd 100644 --- a/src/timer.c +++ b/src/timer.c @@ -68,8 +68,8 @@ /*! set up timer callback and data * \param[in] timer the timer that should be added - * \param[in] callback function to be called when timer expires - * \param[in] pointer to data that passed to the callback function + * \param[in] cb function to be called when timer expires + * \param[in] data pointer to data that passed to the callback function */ void osmo_timer_setup(struct osmo_timer_list *timer, void (*cb)(void *data), void *data) -- To view, visit https://gerrit.osmocom.org/13411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If5668f40a7bfde2f4f22329a071c8c6eff23b99e Gerrit-Change-Number: 13411 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 18:57:52 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 18:57:52 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13404 ) Change subject: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1079d629abdb8770eef6be7341e586a933cd9cca Gerrit-Change-Number: 13404 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 18:57:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 19:01:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 19:01:42 +0000 Subject: Change in libosmocore[master]: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13405 ) Change subject: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icd9b72eb6bfa9628ff1ed2f948b57058551a4328 Gerrit-Change-Number: 13405 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 19:01:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 19:02:06 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 19:02:06 +0000 Subject: Change in libosmocore[master]: src/msgb.c: fix Doxygen documentation for msgb_printf() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13407 ) Change subject: src/msgb.c: fix Doxygen documentation for msgb_printf() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib708664336eef06f748d408ae02a13c754b6647a Gerrit-Change-Number: 13407 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 19:02:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 19:02:27 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 19:02:27 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix incorrect Doxygen parameter description In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13408 ) Change subject: core/msgb.h: fix incorrect Doxygen parameter description ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5d660933ecfa89c631319eccf9e3d5c1986ec8ff Gerrit-Change-Number: 13408 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 19:02:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 19:03:29 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 19:03:29 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of rate_ctr_for_each_counter() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13409 ) Change subject: Doxygen: fix documentation of rate_ctr_for_each_counter() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icca2d4a95bd5f96ae85a86909ec90fb8677cacf3 Gerrit-Change-Number: 13409 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 19:03:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 19:04:03 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 19:04:03 +0000 Subject: Change in libosmocore[master]: src/rate_ctr.c: drop some incorrect \ref references In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13410 ) Change subject: src/rate_ctr.c: drop some incorrect \ref references ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24a80ff6cf11ce0455529515d1ecb9900f0271a8 Gerrit-Change-Number: 13410 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 19:04:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 19:04:32 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Mon, 25 Mar 2019 19:04:32 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of osmo_timer_setup() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13411 ) Change subject: Doxygen: fix documentation of osmo_timer_setup() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5668f40a7bfde2f4f22329a071c8c6eff23b99e Gerrit-Change-Number: 13411 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 19:04:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:14:38 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:14:38 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13214 ) Change subject: MCS: add mcs_is_*() helpers ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 21:14:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:14:49 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:14:49 +0000 Subject: Change in osmo-pcu[master]: MCS: add Channel Coding Command encoder In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13215 ) Change subject: MCS: add Channel Coding Command encoder ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d Gerrit-Change-Number: 13215 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 21:14:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:15:02 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:15:02 +0000 Subject: Change in osmo-pcu[master]: Fix Channel Coding Command for MCS In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13216 ) Change subject: Fix Channel Coding Command for MCS ...................................................................... Patch Set 6: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I868062a81fffe6714a811c032215f25a79259905 Gerrit-Change-Number: 13216 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 21:15:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:15:47 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:15:47 +0000 Subject: Change in osmo-pcu[master]: Rewrite Packet Uplink IA Rest Octets for MBA In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/12961 ) Change subject: Rewrite Packet Uplink IA Rest Octets for MBA ...................................................................... Patch Set 9: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/12961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibe294b26ac374b9264a734db9663cacc105a4474 Gerrit-Change-Number: 12961 Gerrit-PatchSet: 9 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 21:15:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:15:52 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:15:52 +0000 Subject: Change in osmo-pcu[master]: Rewrite Packet Uplink IA Rest Octets for SBA In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/12955 ) Change subject: Rewrite Packet Uplink IA Rest Octets for SBA ...................................................................... Patch Set 15: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/12955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I97d53c27c1ca9e032d431b3aa7f915027d63ddc0 Gerrit-Change-Number: 12955 Gerrit-PatchSet: 15 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 21:15:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:15:59 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:15:59 +0000 Subject: Change in osmo-pcu[master]: Use Timing Advance Index in UL assignments In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/12956 ) Change subject: Use Timing Advance Index in UL assignments ...................................................................... Patch Set 12: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/12956 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I69407793bdb863be5fc42adadf75842d22f27335 Gerrit-Change-Number: 12956 Gerrit-PatchSet: 12 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 21:15:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:16:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:16:06 +0000 Subject: Change in osmo-pcu[master]: TBF: update MCS counters In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13243 ) Change subject: TBF: update MCS counters ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I763136c2f356d63aa3d28d09c57fd5faf5336258 Gerrit-Change-Number: 13243 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Mon, 25 Mar 2019 21:16:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:16:17 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:16:17 +0000 Subject: Change in osmo-pcu[master]: TBF-DL: cosmetic update for helper routines In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13244 ) Change subject: TBF-DL: cosmetic update for helper routines ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e Gerrit-Change-Number: 13244 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 21:16:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:16:25 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:16:25 +0000 Subject: Change in osmo-pcu[master]: Update IA Rest Octets encoding In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13245 ) Change subject: Update IA Rest Octets encoding ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7ed5270bf95c3f6e9e026ff447eef8539f6f0314 Gerrit-Change-Number: 13245 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Mon, 25 Mar 2019 21:16:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 25 21:24:55 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Mon, 25 Mar 2019 21:24:55 +0000 Subject: Change in osmo-pcu[master]: bts.h: always include C-headers In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13403 ) Change subject: bts.h: always include C-headers ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13403/1/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/13403/1/src/bts.h at 44 PS1, Line 44: #endif > I'm pointing out how usually C headers are guarded on C++ code That doesn't seem relevant: the headers below #ifdef __cplusplus in a current patch version are C++ headers which should not be included directly into .c file which use bts.h. Especially if they were not included before this patch. And even more so if the only reason to include them is "that's how it usually looks like". -- To view, visit https://gerrit.osmocom.org/13403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85b7dc8e8786671a054af2f1e7d836b863a25e60 Gerrit-Change-Number: 13403 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 Mar 2019 21:24:55 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 08:42:26 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 Mar 2019 08:42:26 +0000 Subject: Change in pysim[master]: commands: correct case of a TLV tag (A5 => a5) In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/13339 ) Change subject: commands: correct case of a TLV tag (A5 => a5) ...................................................................... commands: correct case of a TLV tag (A5 => a5) The hexadecimal tag defintions of pytlv are case sensitive strings. So 'A5' is something different than 'a5'. Pytlv uses lower case letters for the upper hexadecimal digits. Lets correct this. Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Related: OS#3850 --- M pySim/commands.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Daniel Willmann: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim/commands.py b/pySim/commands.py index 73c2247..913f394 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -35,7 +35,7 @@ # see also: ETSI TS 102 221, chapter 11.1.1.3.1 Response for MF, # DF or ADF from pytlv.TLV import TLV - tlvparser = TLV(['82', '83', '84', 'A5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) + tlvparser = TLV(['82', '83', '84', 'a5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) # pytlv is case sensitive! fcp = fcp.lower() -- To view, visit https://gerrit.osmocom.org/13339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I41a9933707783f6b1b68ebd91a365405ac0892d0 Gerrit-Change-Number: 13339 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: dexter Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:13:57 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:13:57 +0000 Subject: Change in osmo-pcu[master]: Fix Channel Coding Command for MCS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13216 ) Change subject: Fix Channel Coding Command for MCS ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I868062a81fffe6714a811c032215f25a79259905 Gerrit-Change-Number: 13216 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 09:13:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:40:57 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Tue, 26 Mar 2019 09:40:57 +0000 Subject: Change in osmo-pcu[master]: Include pdch.h in bts.h even if we're not compiling C++ In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13361 ) Change subject: Include pdch.h in bts.h even if we're not compiling C++ ...................................................................... Include pdch.h in bts.h even if we're not compiling C++ bts.h needs pdch.h whether we're compiling C or C++ code so move it out of the #ifdef. make[1]: Entering directory '/home/daniel/scm/osmo/oc2g/osmo-pcu-oc2g/src' CC osmo-bts-oc2g/oc2g_l1_if.o In file included from osmo-bts-oc2g/oc2g_l1_if.c:39: ./bts.h:74:26: error: array type has incomplete element type ?struct gprs_rlcmac_pdch? struct gprs_rlcmac_pdch pdch[8]; ^~~~ Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f --- M src/bts.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve diff --git a/src/bts.h b/src/bts.h index ee5a692..767605c 100644 --- a/src/bts.h +++ b/src/bts.h @@ -38,9 +38,9 @@ #include "gprs_ms_storage.h" #include "gprs_coding_scheme.h" #include -#include #endif +#include #include #define LLC_CODEL_DISABLE 0 -- To view, visit https://gerrit.osmocom.org/13361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f Gerrit-Change-Number: 13361 Gerrit-PatchSet: 3 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:44:43 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 09:44:43 +0000 Subject: Change in openbsc[master]: Drop openggsn from build dependencies In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13345 ) Change subject: Drop openggsn from build dependencies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 Gerrit-Change-Number: 13345 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 09:44:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:44:45 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 09:44:45 +0000 Subject: Change in openbsc[master]: Drop openggsn from build dependencies In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13345 ) Change subject: Drop openggsn from build dependencies ...................................................................... Drop openggsn from build dependencies We don't have SGSN-related code here anymore so we don't need libgtp from openggsn any longer. Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 --- M contrib/jenkins.sh 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: Max: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7083976..f8ae49c 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -18,7 +18,6 @@ x="${x}_$($1 libosmo-netif)" x="${x}_$($1 libosmo-sccp "$sccp_branch")" x="${x}_$($1 libsmpp34)" - x="${x}_$($1 openggsn)" if [ "x$IU" = "x--enable-iu" ]; then x="${x}_$($1 libasn1c)" @@ -36,7 +35,6 @@ osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp "$sccp_branch" PARALLEL_MAKE=-j1 osmo-build-dep.sh libsmpp34 - osmo-build-dep.sh openggsn if [ "x$IU" = "x--enable-iu" ]; then osmo-build-dep.sh libasn1c -- To view, visit https://gerrit.osmocom.org/13345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6725d39449a3d498adcd83fb8c3fe892367df0e8 Gerrit-Change-Number: 13345 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:48:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:48:59 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: move functions to common.sh Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13412 Change subject: osmocom-list-commits.sh: move functions to common.sh ...................................................................... osmocom-list-commits.sh: move functions to common.sh Prepare for the upcoming osmocom-build-old-tags-against-master.sh script, which will benefit from querying the last n git tags in advance. Related: OS#3765 Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 --- A scripts/common.sh M scripts/osmocom-list-commits.sh 2 files changed, 66 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/12/13412/1 diff --git a/scripts/common.sh b/scripts/common.sh new file mode 100644 index 0000000..9f274d7 --- /dev/null +++ b/scripts/common.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# Various functions and variables used in multiple osmo-ci shell scripts +OSMO_GIT_URL="https://git.osmocom.org" + +# Print commit of HEAD for an Osmocom git repository, e.g.: +# "f90496f577e78944ce8db1aa5b900477c1e479b0" +# $1: repository +osmo_git_head_commit() { + # git output: + # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD + ret="$(git ls-remote "$OSMO_GIT_URL/$1" HEAD)" + ret="$(echo "$ret" | awk '{print $1}')" + echo "$ret" +} + +# Print last tags and related commits for an Osmocom git repository, e.g.: +# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" +# $1: Osmocom repository +# $2: amount of commit, tag pairs to print (default: 1) +# $3: string to print when there are no tags (default: empty string) +osmo_git_last_commits_tags() { + # git output: + # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 + # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} + # ... + # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} + # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 + # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 + # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} + # ... + ret="$(git ls-remote --tags "$OSMO_GIT_URL/$1")" + ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" + ret="$(echo "$ret" | sort -V -t/ -k3)" + ret="$(echo "$ret" | tail -n "$2")" + + if [ -n "$ret" ]; then + echo "$ret" + else + echo "$3" + fi +} + +# Print last commits for an Osmocom git repository, e.g.: +# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a" +# $1: repository +# $2: amount of commits to print (default: 1) +# $3: string to print when there are no tags (default: empty string) +osmo_git_last_commits() { + ret="$(osmo_git_last_commits_tags "$1" "$2" "$3")" + echo "$ret" | awk '{print $1}' +} + +# Print last tags for an Osmocom git repository, e.g.: +# "1.0.1" +# $1: repository +# $2: amount of commits to print (default: 1) +# $3: string to print when there are no tags (default: empty string) +osmo_git_last_tags() { + ret="$(osmo_git_last_commits_tags "$1" "$2" "$3")" + echo "$ret" | cut -d/ -f 3 +} diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh index 886cb03..e0d3eb0 100755 --- a/scripts/osmocom-list-commits.sh +++ b/scripts/osmocom-list-commits.sh @@ -2,8 +2,8 @@ # Environment variables: # * NO_HEADER: do not output the header line when set +. "$(dirname "$0")/common.sh" FORMAT_STR="%-22s %-42s %9s %-40s %s\n" -URL="https://git.osmocom.org" REPOS=" libasn1c libosmo-abis @@ -27,43 +27,6 @@ osmocom-bb " -# Print commit of HEAD for an Osmocom git repository, e.g.: -# "f90496f577e78944ce8db1aa5b900477c1e479b0" -# $1: repository -get_head_commit() { - # git output: - # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD - ret="$(git ls-remote "$URL/$1" HEAD)" - ret="$(echo "$ret" | awk '{print $1}')" - echo "$ret" -} - -# Print last tag and related commit for an Osmocom git repository, e.g.: -# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" -# Print "-" when no tags were found. -# $1: repository -get_last() { - # git output: - # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 - # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} - # ... - # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} - # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 - # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 - # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} - # ... - ret="$(git ls-remote --tags "$URL/$1")" - ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" - ret="$(echo "$ret" | sort -V -t/ -k3)" - ret="$(echo "$ret" | tail -n 1)" - - if [ -n "$ret" ]; then - echo "$ret" - else - echo "-" - fi -} - # Header if [ -z "$NO_HEADER" ]; then printf "$FORMAT_STR" "# repository" "clone URL" "last tag" "last tag commit" "HEAD commit" @@ -71,14 +34,13 @@ # Table for repo in $REPOS; do - last="$(get_last "$repo")" - last_tag="$(echo "$last" | cut -d/ -f 3)" - last_commit="$(echo "$last" | awk '{print $1}')" - head_commit="$(get_head_commit "$repo")" + last_tag="$(osmo_git_last_tags "$repo" 1 "-")" + last_commit="$(osmo_git_last_commits "$repo" 1 "-")" + head_commit="$(osmo_git_head_commit "$repo")" printf "$FORMAT_STR" \ "$repo.git" \ - "$URL/$repo" \ + "$OSMO_GIT_URL/$repo" \ "$last_tag" \ "$last_commit" \ "$head_commit" -- To view, visit https://gerrit.osmocom.org/13412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 Gerrit-Change-Number: 13412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:48:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:48:59 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: cd into subdir before building Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13413 Change subject: osmo-build-dep.sh: cd into subdir before building ...................................................................... osmo-build-dep.sh: cd into subdir before building Support building the legacy openbsc source with osmo-build.dep.sh. This will be used by the upcoming osmocom-build-old-tags-against-master.sh script. Related: OS#3765 Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca --- M scripts/common.sh M scripts/osmo-build-dep.sh 2 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/13/13413/1 diff --git a/scripts/common.sh b/scripts/common.sh index 9f274d7..0a32c31 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -59,3 +59,13 @@ ret="$(osmo_git_last_commits_tags "$1" "$2" "$3")" echo "$ret" | cut -d/ -f 3 } + +# Print the subdirectory of the repository where the source lies (configure.ac etc.). +# Print nothing when the source is in the topdir of the repository. +osmo_source_subdir() { + case "$1" in + openbsc) + echo "openbsc" + ;; + esac +} diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh index dfec9be..2e4fb31 100755 --- a/scripts/osmo-build-dep.sh +++ b/scripts/osmo-build-dep.sh @@ -1,4 +1,5 @@ #!/bin/sh +. "$(dirname "$0")/common.sh" project="$1" branch="$2" @@ -48,6 +49,11 @@ # of the -I and -L search paths mkdir -p "$inst/stow" +subdir="$(osmo_source_subdir "$project")" +if [ -n "$subdir" ]; then + cd "$subdir" +fi + autoreconf --install --force ./configure --prefix="$inst/stow/$project" --with-systemdsystemunitdir="$inst/stow/$project/lib/systemd/system" $cfg $MAKE $PARALLEL_MAKE install -- To view, visit https://gerrit.osmocom.org/13413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca Gerrit-Change-Number: 13413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:49:00 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:49:00 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: run 'make check' when CHECK=1 Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13414 Change subject: osmo-build-dep.sh: run 'make check' when CHECK=1 ...................................................................... osmo-build-dep.sh: run 'make check' when CHECK=1 Prepare for osmocom-build-old-tags-against-master.sh. Related: OS#3765 Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de --- M scripts/osmo-build-dep.sh 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/14/13414/1 diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh index 2e4fb31..7013414 100755 --- a/scripts/osmo-build-dep.sh +++ b/scripts/osmo-build-dep.sh @@ -56,6 +56,11 @@ autoreconf --install --force ./configure --prefix="$inst/stow/$project" --with-systemdsystemunitdir="$inst/stow/$project/lib/systemd/system" $cfg + +if [ -n "$CHECK" ]; then + $MAKE $PARALLEL_MAKE check +fi + $MAKE $PARALLEL_MAKE install # Make the dependencies available through symlinks in $deps ($PWD/..). -- To view, visit https://gerrit.osmocom.org/13414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de Gerrit-Change-Number: 13414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:49:00 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:49:00 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13415 Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Add osmocom-build-old-tags-against-master.sh Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. This initial configuration builds the last three release tags of the Osmocom repositories against master, but specific tags could be configured as well if needed. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 --- M .gitignore A scripts/osmocom-build-old-tags-against-master.sh 2 files changed, 138 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/13415/1 diff --git a/.gitignore b/.gitignore index 1717928..00fe73d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ jenkins_jobs.ini jenkins-jobs.ini __pycache__/ +_temp/ +_deps/ diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh new file mode 100755 index 0000000..a94156e --- /dev/null +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -0,0 +1,136 @@ +#!/bin/sh -e + +cd "$(dirname "$0")" +. ./common.sh +PARALLEL_MAKE="${PARALLEL_MAKE:--j5}" + +REPOS_MASTER=" + libosmocore + libosmo-abis + libosmo-netif + libosmo-sccp + libsmpp34 + libasn1c + osmo-ggsn + osmo-iuh + osmo-hlr + osmo-mgw +" + +REPOS_TAGS=" + libosmo-abis + libosmocore + libosmo-netif + libosmo-sccp + openbsc + osmo-bsc + osmo-bts + osmo-ggsn + osmo-hlr + osmo-iuh + osmo-mgw + osmo-msc + osmo-pcu + osmo-sgsn + osmo-sip-connector + osmo-trx +" + +# Print which tags should be built for a specific repository. +# This function is part of the configuration, do not insert functions above. +# $1: repository +tags_to_build() { + case "$1" in + # Add repository specific tag listings here: + # libosmocore) + # echo "0.1.0" + # osmo_git_last_tags "$1" 3 + # ;; + *) + osmo_git_last_tags "$1" 3 + ;; + esac + +} + +# Delete existing temp dir and create a new one, output the path. +prepare_temp_dir() { + TEMP="$(cd ..; pwd)/_temp" + if [ -d "$TEMP" ]; then + rm -r "$TEMP" + fi + mkdir -p "$TEMP/log" + echo "Temp dir (with build logs): $TEMP" +} + +# Build a repository either from master or from a specific tag against master. +# The build output is redirected to a file, and partially shown on error. +# $1: installation path (either $TEMP/inst_master or $TEMP/inst) +# $2: repository +# $3: branch, tag or commit +build_repo() { + local log="$TEMP/log/$2-$3.txt" + + if ! PATH="$PWD:$PATH"\ + PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$PKG_CONFIG_PATH" \ + LD_LIBRARY_PATH="$TEMP/inst_master/lib:$LD_LIBRARY_PATH" \ + MAKE="make" \ + PARALLEL_MAKE="$PARALLEL_MAKE" \ + CHECK="1" \ + deps="../_deps" \ + inst="$1" \ + ./osmo-build-dep.sh "$2" "$3" \ + > "$log" 2>&1 + then + printf "\n" + echo "BUILD FAILED!" + echo "Showing last lines of build log below, full log (see jenkins artifacts):" + echo "$log" + echo "---" + tail -n 20 "$log" + exit 1 + fi +} + +# Build all configured repositories from master and install to $TEMP/inst_master. +build_repos_master() { + local repo_master + + echo "Building libraries from current master..." + for repo_master in $REPOS_MASTER; do + local commit="$(osmo_git_head_commit "$repo_master")" + printf "%-21s %s" " * $repo_master" "$commit" + build_repo "$TEMP/inst_master" "$repo_master" "$commit" + printf "\n" + done +} + +# Build all configured repositories on specific tags against master. The result is installed to $TEMP/inst, but deleted +# after each build. +build_repos_tags() { + local repo + + echo "Building old tags against libraries from current master..." + for repo in $REPOS_TAGS; do + local tags="$(tags_to_build "$repo" | sort -V | tr '\n' ' ')" + if [ -z "$tags" ]; then + echo "ERROR: no tags configured for: $repo" + exit 1 + fi + printf "%-21s" " * $repo" + + local tag + for tag in $tags; do + printf "%10s" " $tag" + if [ -d "$TEMP/inst" ]; then + rm -r "$TEMP/inst" + fi + build_repo "$TEMP/inst" "$repo" "$tag" + done + printf "\n" + done +} + +prepare_temp_dir +build_repos_master +build_repos_tags -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:49:00 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:49:00 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13416 Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... jobs: add osmocom-build-tags-against-master.yml Run osmocom-build-old-tags-against-master.sh every night in jenkins. Related: OS#3765 Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 --- A jobs/osmocom-build-tags-against-master.yml 1 file changed, 42 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/16/13416/1 diff --git a/jobs/osmocom-build-tags-against-master.yml b/jobs/osmocom-build-tags-against-master.yml new file mode 100644 index 0000000..4c45687 --- /dev/null +++ b/jobs/osmocom-build-tags-against-master.yml @@ -0,0 +1,42 @@ +--- +- project: + name: Osmocom-build-tags-against-master + jobs: + - Osmocom-build-tags-against-master + +- job-template: + name: 'Osmocom-build-tags-against-master' + project-type: freestyle + defaults: global + description: | + + node: osmocom-master-debian9 + parameters: + - string: + name: BRANCH + description: | + osmo-ci.git branch where the osmocom-build-old-tags-against-master.sh gets pulled from + default: '*/master' + builders: + - shell: | + scripts/osmocom-build-old-tags-against-master.sh + scm: + - git: + branches: + - '$BRANCH' + url: git://git.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + triggers: + - timed: "@midnight" + publishers: + - archive: + allow-empty: false + artifacts: _temp/log/* + case-sensitive: true + only-if-success: false + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + +# vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:53:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:53:06 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 1: Here's how the output looks like: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/7/console -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 09:53:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:58:18 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:58:18 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13415 to look at the new patch set (#2). Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Add osmocom-build-old-tags-against-master.sh Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. Redirect each build's output to its own log file, so it is easy to see what is currently getting build, and what failed. On error, print the end of the failing build log, along with a note to find the full log in the jenkins artifacts. This initial configuration builds the last three release tags of the Osmocom repositories against master, but specific tags could be configured as well if needed. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 --- M .gitignore A scripts/osmocom-build-old-tags-against-master.sh 2 files changed, 138 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/13415/2 -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 09:58:18 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 09:58:18 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13416 to look at the new patch set (#2). Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... jobs: add osmocom-build-tags-against-master.yml Run osmocom-build-old-tags-against-master.sh every night in jenkins. Related: OS#3765 Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 --- A jobs/osmocom-build-tags-against-master.yml 1 file changed, 42 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/16/13416/2 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 Mar 2019 10:05:03 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/13340 ) Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... Patch Set 3: (1 comment) > Patch Set 3: Code-Review+2 https://gerrit.osmocom.org/#/c/13340/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/#/c/13340/2/pySim/cards.py at 540 PS2, Line 540: > You're overwriting the other sel_ctrl here, is that intended? [?] During my tests it did not break anything. The 0004 makes the card placing a report of the file properties in the buffer, we can then use a GET RESPONSE command to fetch this data to figure out the file length. (in the old days of normal SIMs things were much easier, the length was returned by default along with some other parameters, also no TLV parsing was necessary) -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Tue, 26 Mar 2019 10:05:03 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:06:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:06:36 +0000 Subject: Change in openbsc[master]: Drop Iu*S support and related dependencies Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13417 Change subject: Drop Iu*S support and related dependencies ...................................................................... Drop Iu*S support and related dependencies There's optional libiu for Iu*S support but it's just a leftover from pre repo-split times: * it's not used by any code * it's not checked by gerrit verification in osmo-ci * it's disabled by default * it's not supported in .deb packages Instead of dragging old code in unknown stage of bit-rotting, let's just drop it completely. Change-Id: Id5678a74504b4456aba0438ccc34731770801128 --- M contrib/jenkins.sh M openbsc/configure.ac M openbsc/include/openbsc/Makefile.am D openbsc/include/openbsc/iu.h M openbsc/src/Makefile.am D openbsc/src/libiu/Makefile.am D openbsc/src/libiu/iu.c D openbsc/src/libiu/iu_vty.c 8 files changed, 1 insertion(+), 935 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/17/13417/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index f8ae49c..277fece 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -2,7 +2,6 @@ # jenkins build helper script for openbsc. This is how we build on jenkins.osmocom.org # # environment variables: -# * IU: configure 3G support (values: "--enable-iu", "--disable-iu") # * MGCP: configure transcoding for MGCP (values: "--enable-mgcp-transcoding", "--disable-mgcp-transcoding") # * SMPP: configure the SMPP interface (values: "--enable-smpp", "--disable-smpp") # * WITH_MANUALS: build manual PDFs if set to "1" @@ -19,11 +18,6 @@ x="${x}_$($1 libosmo-sccp "$sccp_branch")" x="${x}_$($1 libsmpp34)" - if [ "x$IU" = "x--enable-iu" ]; then - x="${x}_$($1 libasn1c)" - x="${x}_$($1 osmo-iuh "$osmo_iuh_branch")" - fi - echo "${x}.tar.gz" } @@ -35,11 +29,6 @@ osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp "$sccp_branch" PARALLEL_MAKE=-j1 osmo-build-dep.sh libsmpp34 - - if [ "x$IU" = "x--enable-iu" ]; then - osmo-build-dep.sh libasn1c - osmo-build-dep.sh osmo-iuh "$osmo_iuh_branch" - fi } build_project() { @@ -48,7 +37,7 @@ autoreconf --install --force - ./configure "$SMPP" "$MGCP" "$IU" \ + ./configure "$SMPP" "$MGCP" \ --enable-osmo-bsc \ --enable-nat \ --enable-vty-tests \ @@ -59,11 +48,6 @@ "$MAKE" distcheck || cat-testlogs.sh } -if [ "x$IU" = "x--enable-iu" ]; then - sccp_branch="old_sua" - osmo_iuh_branch="old_sua" -fi - . osmo-build.sh # Build and publish manuals diff --git a/openbsc/configure.ac b/openbsc/configure.ac index 4b432b1..704c7d7 100644 --- a/openbsc/configure.ac +++ b/openbsc/configure.ac @@ -98,18 +98,6 @@ AM_CONDITIONAL(BUILD_MGCP_TRANSCODING, test "x$osmo_ac_mgcp_transcoding" = "xyes") AC_SUBST(osmo_ac_mgcp_transcoding) -# Enable/disable 3G aka IuPS + IuCS support? -AC_ARG_ENABLE([iu], [AS_HELP_STRING([--enable-iu], [Build 3G support, aka IuPS and IuCS interfaces])], - [osmo_ac_iu="$enableval"],[osmo_ac_iu="no"]) -if test "x$osmo_ac_iu" = "xyes" ; then - PKG_CHECK_MODULES(LIBASN1C, libasn1c >= 0.9.31) - PKG_CHECK_MODULES(LIBOSMORANAP, libosmo-ranap >= 0.3.0) - PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.9.0) - AC_DEFINE(BUILD_IU, 1, [Define if we want to build IuPS and IuCS interfaces support]) -fi -AM_CONDITIONAL(BUILD_IU, test "x$osmo_ac_iu" = "xyes") -AC_SUBST(osmo_ac_iu) - dnl checks for header files AC_HEADER_STDC @@ -252,7 +240,6 @@ src/libmgcp/Makefile src/libcommon/Makefile src/libfilter/Makefile - src/libiu/Makefile src/libcommon-cs/Makefile src/osmo-nitb/Makefile src/osmo-bsc/Makefile diff --git a/openbsc/include/openbsc/Makefile.am b/openbsc/include/openbsc/Makefile.am index 1fa30d5..59b2231 100644 --- a/openbsc/include/openbsc/Makefile.am +++ b/openbsc/include/openbsc/Makefile.am @@ -32,7 +32,6 @@ handover.h \ handover_decision.h \ ipaccess.h \ - iu.h \ meas_feed.h \ meas_rep.h \ mgcp.h \ diff --git a/openbsc/include/openbsc/iu.h b/openbsc/include/openbsc/iu.h deleted file mode 100644 index f973ac1..0000000 --- a/openbsc/include/openbsc/iu.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include - -struct sgsn_pdp_ctx; -struct msgb; -struct gprs_ra_id; - -struct RANAP_RAB_SetupOrModifiedItemIEs_s; -struct RANAP_GlobalRNC_ID; - -struct ue_conn_ctx { - struct llist_head list; - struct osmo_sccp_link *link; - uint32_t conn_id; - int integrity_active; - struct gprs_ra_id ra_id; -}; - -enum iu_event_type { - IU_EVENT_RAB_ASSIGN, - IU_EVENT_SECURITY_MODE_COMPLETE, - IU_EVENT_IU_RELEASE, /* An actual Iu Release message was received */ - IU_EVENT_LINK_INVALIDATED, /* A SUA link was lost or closed down */ - /* FIXME: maybe IU_EVENT_IU_RELEASE and IU_EVENT_LINK_INVALIDATED - * should be combined to one generic event that simply means the - * ue_conn_ctx should no longer be used, for whatever reason. */ -}; - -extern const struct value_string iu_event_type_names[]; -static inline const char *iu_event_type_str(enum iu_event_type e) -{ - return get_value_string(iu_event_type_names, e); -} - -/* Implementations of iu_recv_cb_t shall find the ue_conn_ctx in msg->dst. */ -typedef int (* iu_recv_cb_t )(struct msgb *msg, struct gprs_ra_id *ra_id, - /* TODO "gprs_" in generic CS+PS domain ^ */ - uint16_t *sai); - -typedef int (* iu_event_cb_t )(struct ue_conn_ctx *ue_ctx, - enum iu_event_type type, void *data); - -typedef int (* iu_rab_ass_resp_cb_t )(struct ue_conn_ctx *ue_ctx, uint8_t rab_id, - struct RANAP_RAB_SetupOrModifiedItemIEs_s *setup_ies); - -int iu_init(void *ctx, const char *listen_addr, uint16_t listen_port, - iu_recv_cb_t iu_recv_cb, iu_event_cb_t iu_event_cb); - -void iu_link_del(struct osmo_sccp_link *link); - -int iu_tx(struct msgb *msg, uint8_t sapi); - -int iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac); -int iu_page_ps(const char *imsi, const uint32_t *ptmsi, uint16_t lac, uint8_t rac); - -int iu_rab_act(struct ue_conn_ctx *ue_ctx, struct msgb *msg); -int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id); -int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp, - int send_ck, int new_key); - -void iu_vty_init(int *asn_debug_p); diff --git a/openbsc/src/Makefile.am b/openbsc/src/Makefile.am index 86d6f8f..46f30d7 100644 --- a/openbsc/src/Makefile.am +++ b/openbsc/src/Makefile.am @@ -30,13 +30,6 @@ libcommon-cs \ $(NULL) -# Conditional Libraries -if BUILD_IU -SUBDIRS += \ - libiu \ - $(NULL) -endif - # Programs SUBDIRS += \ osmo-nitb \ diff --git a/openbsc/src/libiu/Makefile.am b/openbsc/src/libiu/Makefile.am deleted file mode 100644 index e5f9e27..0000000 --- a/openbsc/src/libiu/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -AM_CPPFLAGS = \ - $(all_includes) \ - -I$(top_srcdir)/include \ - -I$(top_builddir) \ - $(NULL) - -AM_CFLAGS = \ - -Wall \ - $(COVERAGE_CFLAGS) \ - $(LIBCRYPTO_CFLAGS) \ - $(LIBASN1C_CFLAGS) \ - $(LIBOSMOCORE_CFLAGS) \ - $(LIBOSMOVTY_CFLAGS) \ - $(LIBOSMOGSM_CFLAGS) \ - $(LIBOSMOABIS_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMORANAP_CFLAGS) \ - $(NULL) - -noinst_LIBRARIES = \ - libiu.a \ - $(NULL) - -libiu_a_SOURCES = \ - iu.c \ - iu_vty.c \ - $(NULL) - diff --git a/openbsc/src/libiu/iu.c b/openbsc/src/libiu/iu.c deleted file mode 100644 index b4e7ac8..0000000 --- a/openbsc/src/libiu/iu.c +++ /dev/null @@ -1,757 +0,0 @@ -/* Common parts of IuCS and IuPS interfaces implementation */ - -/* (C) 2016 by sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -/* Parsed global RNC id. See also struct RANAP_GlobalRNC_ID, and note that the - * PLMN identity is a BCD representation of the MCC and MNC. - * See iu_grnc_id_parse(). */ -struct iu_grnc_id { - struct osmo_plmn_id plmn; - uint16_t rnc_id; -}; - -/* A remote RNC (Radio Network Controller, like BSC but for UMTS) that has - * called us and is currently reachable at the given osmo_sccp_link. So, when we - * know a LAC for a subscriber, we can page it at the RNC matching that LAC or - * RAC. An HNB-GW typically presents itself as if it were a single RNC, even - * though it may have several RNCs in hNodeBs connected to it. Those will then - * share the same RNC id, which they actually receive and adopt from the HNB-GW - * in the HNBAP HNB REGISTER ACCEPT message. */ -struct iu_rnc { - struct llist_head entry; - - uint16_t rnc_id; - uint16_t lac; /* Location Area Code (used for CS and PS) */ - uint8_t rac; /* Routing Area Code (used for PS only) */ - struct osmo_sccp_link *link; -}; - -void *talloc_iu_ctx; - -int asn1_xer_print = 1; -void *talloc_asn1_ctx; - -iu_recv_cb_t global_iu_recv_cb = NULL; -iu_event_cb_t global_iu_event_cb = NULL; - -static LLIST_HEAD(ue_conn_ctx_list); -static LLIST_HEAD(rnc_list); - -const struct value_string iu_event_type_names[] = { - OSMO_VALUE_STRING(IU_EVENT_RAB_ASSIGN), - OSMO_VALUE_STRING(IU_EVENT_SECURITY_MODE_COMPLETE), - OSMO_VALUE_STRING(IU_EVENT_IU_RELEASE), - OSMO_VALUE_STRING(IU_EVENT_LINK_INVALIDATED), - { 0, NULL } -}; - -struct ue_conn_ctx *ue_conn_ctx_alloc(struct osmo_sccp_link *link, uint32_t conn_id) -{ - struct ue_conn_ctx *ctx = talloc_zero(talloc_iu_ctx, struct ue_conn_ctx); - - ctx->link = link; - ctx->conn_id = conn_id; - llist_add(&ctx->list, &ue_conn_ctx_list); - - return ctx; -} - -struct ue_conn_ctx *ue_conn_ctx_find(struct osmo_sccp_link *link, - uint32_t conn_id) -{ - struct ue_conn_ctx *ctx; - - llist_for_each_entry(ctx, &ue_conn_ctx_list, list) { - if (ctx->link == link && ctx->conn_id == conn_id) - return ctx; - } - return NULL; -} - -static struct iu_rnc *iu_rnc_alloc(uint16_t rnc_id, uint16_t lac, uint8_t rac, - struct osmo_sccp_link *link) -{ - struct iu_rnc *rnc = talloc_zero(talloc_iu_ctx, struct iu_rnc); - - rnc->rnc_id = rnc_id; - rnc->lac = lac; - rnc->rac = rac; - rnc->link = link; - llist_add(&rnc->entry, &rnc_list); - - LOGP(DRANAP, LOGL_NOTICE, "New RNC %d (LAC=%d RAC=%d)\n", - rnc->rnc_id, rnc->lac, rnc->rac); - - return rnc; -} - -static struct iu_rnc *iu_rnc_register(uint16_t rnc_id, uint16_t lac, - uint8_t rac, struct osmo_sccp_link *link) -{ - struct iu_rnc *rnc; - llist_for_each_entry(rnc, &rnc_list, entry) { - if (rnc->rnc_id != rnc_id) - continue; - - /* We have this RNC Id registered already. Make sure that the - * details match. */ - - /* TODO should a mismatch be an error? */ - if (rnc->lac != lac || rnc->rac != rac) - LOGP(DRANAP, LOGL_NOTICE, "RNC %d changes its details:" - " LAC=%d RAC=%d --> LAC=%d RAC=%d\n", - rnc->rnc_id, rnc->lac, rnc->rac, - lac, rac); - rnc->lac = lac; - rnc->rac = rac; - - if (link && rnc->link != link) - LOGP(DRANAP, LOGL_NOTICE, "RNC %d on new link" - " (LAC=%d RAC=%d)\n", - rnc->rnc_id, rnc->lac, rnc->rac); - rnc->link = link; - return rnc; - } - - /* Not found, make a new one. */ - return iu_rnc_alloc(rnc_id, lac, rac, link); -} - -/* Discard/invalidate all ue_conn_ctx and iu_rnc entries that reference the - * given link, since this link is invalid and about to be deallocated. For - * each ue_conn_ctx, invoke the iu_event_cb_t with IU_EVENT_LINK_INVALIDATED. - */ -void iu_link_del(struct osmo_sccp_link *link) -{ - struct iu_rnc *rnc, *rnc_next; - llist_for_each_entry_safe(rnc, rnc_next, &rnc_list, entry) { - if (!rnc->link) - continue; - if (rnc->link != link) - continue; - rnc->link = NULL; - llist_del(&rnc->entry); - talloc_free(rnc); - } - - struct ue_conn_ctx *uec, *uec_next; - llist_for_each_entry_safe(uec, uec_next, &ue_conn_ctx_list, list) { - if (uec->link != link) - continue; - uec->link = NULL; - global_iu_event_cb(uec, IU_EVENT_LINK_INVALIDATED, NULL); - } -} - -/*********************************************************************** - * RANAP handling - ***********************************************************************/ - -int iu_rab_act(struct ue_conn_ctx *ue_ctx, struct msgb *msg) -{ - struct osmo_scu_prim *prim; - - /* wrap RANAP message in SCCP N-DATA.req */ - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = ue_ctx->conn_id; - osmo_prim_init(&prim->oph, - SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, - msg); - return osmo_sua_user_link_down(ue_ctx->link, &prim->oph); -} - -int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id) -{ - /* FIXME */ - return -1; -} - -int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp, - int send_ck, int new_key) -{ - struct osmo_scu_prim *prim; - struct msgb *msg; - uint8_t ik[16]; - uint8_t ck[16]; - unsigned int i; - - /* C5 function to derive IK from Kc */ - for (i = 0; i < 4; i++) - ik[i] = tp->vec.kc[i] ^ tp->vec.kc[i+4]; - memcpy(ik+4, tp->vec.kc, 8); - for (i = 12; i < 16; i++) - ik[i] = ik[i-12]; - - if (send_ck) { - /* C4 function to derive CK from Kc */ - memcpy(ck, tp->vec.kc, 8); - memcpy(ck+8, tp->vec.kc, 8); - } - - /* create RANAP message */ - msg = ranap_new_msg_sec_mod_cmd(ik, send_ck? ck : NULL, new_key ? RANAP_KeyStatus_new : RANAP_KeyStatus_old); - msg->l2h = msg->data; - /* wrap RANAP message in SCCP N-DATA.req */ - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = uectx->conn_id; - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, msg); - osmo_sua_user_link_down(uectx->link, &prim->oph); - - return 0; -} - -static int iu_grnc_id_parse(struct iu_grnc_id *dst, - struct RANAP_GlobalRNC_ID *src) -{ - /* The size is coming from arbitrary sender, check it gracefully */ - if (src->pLMNidentity.size != 3) { - LOGP(DRANAP, LOGL_ERROR, "Invalid PLMN Identity size:" - " should be 3, is %d\n", src->pLMNidentity.size); - return -1; - } - osmo_plmn_from_bcd(&src->pLMNidentity.buf[0], &dst->plmn); - dst->rnc_id = (uint16_t)src->rNC_ID; - return 0; -} - -#if 0 - -- not used at present -- -static int iu_grnc_id_compose(struct iu_grnc_id *src, - struct RANAP_GlobalRNC_ID *dst) -{ - /* The caller must ensure proper size */ - OSMO_ASSERT(dst->pLMNidentity.size == 3); - gsm48_mcc_mnc_to_bcd(&dst->pLMNidentity.buf[0], - src->mcc, src->mnc); - dst->rNC_ID = src->rnc_id; - return 0; -} -#endif - -static int ranap_handle_co_initial_ue(void *ctx, RANAP_InitialUE_MessageIEs_t *ies) -{ - struct ue_conn_ctx *ue_conn = ctx; - struct gprs_ra_id ra_id; - struct iu_grnc_id grnc_id; - uint16_t sai; - struct msgb *msg = msgb_alloc(256, "RANAP->NAS"); - - if (ranap_parse_lai(&ra_id, &ies->lai) != 0) { - LOGP(DRANAP, LOGL_ERROR, "Failed to parse RANAP LAI IE\n"); - return -1; - } - - if (ies->presenceMask & INITIALUE_MESSAGEIES_RANAP_RAC_PRESENT) { - ra_id.rac = asn1str_to_u8(&ies->rac); - } - - if (iu_grnc_id_parse(&grnc_id, &ies->globalRNC_ID) != 0) { - LOGP(DRANAP, LOGL_ERROR, - "Failed to parse RANAP Global-RNC-ID IE\n"); - return -1; - } - - sai = asn1str_to_u16(&ies->sai.sAC); - msgb_gmmh(msg) = msgb_put(msg, ies->nas_pdu.size); - memcpy(msgb_gmmh(msg), ies->nas_pdu.buf, ies->nas_pdu.size); - - /* Make sure we know the RNC Id and LAC+RAC coming in on this connection. */ - iu_rnc_register(grnc_id.rnc_id, ra_id.lac, ra_id.rac, ue_conn->link); - ue_conn->ra_id = ra_id; - - /* Feed into the MM layer */ - msg->dst = ctx; - global_iu_recv_cb(msg, &ra_id, &sai); - - msgb_free(msg); - - return 0; -} - -static int ranap_handle_co_dt(void *ctx, RANAP_DirectTransferIEs_t *ies) -{ - struct gprs_ra_id _ra_id, *ra_id = NULL; - uint16_t _sai, *sai = NULL; - struct msgb *msg = msgb_alloc(256, "RANAP->NAS"); - - if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_LAI_PRESENT) { - if (ranap_parse_lai(&_ra_id, &ies->lai) != 0) { - LOGP(DRANAP, LOGL_ERROR, "Failed to parse RANAP LAI IE\n"); - return -1; - } - ra_id = &_ra_id; - if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_RAC_PRESENT) { - _ra_id.rac = asn1str_to_u8(&ies->rac); - } - if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_SAI_PRESENT) { - _sai = asn1str_to_u16(&ies->sai.sAC); - sai = &_sai; - } - } - - msgb_gmmh(msg) = msgb_put(msg, ies->nas_pdu.size); - memcpy(msgb_gmmh(msg), ies->nas_pdu.buf, ies->nas_pdu.size); - - /* Feed into the MM/CC/SMS-CP layer */ - msg->dst = ctx; - global_iu_recv_cb(msg, ra_id, sai); - - msgb_free(msg); - - return 0; -} - -static int ranap_handle_co_err_ind(void *ctx, RANAP_ErrorIndicationIEs_t *ies) -{ - if (ies->presenceMask & ERRORINDICATIONIES_RANAP_CAUSE_PRESENT) - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication (%s)\n", - ranap_cause_str(&ies->cause)); - else - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication\n"); - - return 0; -} - -int iu_tx(struct msgb *msg_nas, uint8_t sapi) -{ - struct ue_conn_ctx *uectx = msg_nas->dst; - struct msgb *msg; - struct osmo_scu_prim *prim; - - LOGP(DRANAP, LOGL_INFO, "Transmitting L3 Message as RANAP DT (SUA link %p conn_id %u)\n", - uectx->link, uectx->conn_id); - - msg = ranap_new_msg_dt(sapi, msg_nas->data, msgb_length(msg_nas)); - msgb_free(msg_nas); - msg->l2h = msg->data; - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = uectx->conn_id; - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, msg); - osmo_sua_user_link_down(uectx->link, &prim->oph); - return 0; -} - -static int ranap_handle_co_iu_rel_req(struct ue_conn_ctx *ctx, RANAP_Iu_ReleaseRequestIEs_t *ies) -{ - struct msgb *msg; - struct osmo_scu_prim *prim; - - LOGP(DRANAP, LOGL_INFO, "Received Iu Release Request, Sending Release Command\n"); - msg = ranap_new_msg_iu_rel_cmd(&ies->cause); - msg->l2h = msg->data; - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = ctx->conn_id; - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, msg); - osmo_sua_user_link_down(ctx->link, &prim->oph); - return 0; -} - -static int ranap_handle_co_rab_ass_resp(struct ue_conn_ctx *ctx, RANAP_RAB_AssignmentResponseIEs_t *ies) -{ - int rc = -1; - - LOGP(DRANAP, LOGL_INFO, - "Rx RAB Assignment Response for UE conn_id %u\n", ctx->conn_id); - if (ies->presenceMask & RAB_ASSIGNMENTRESPONSEIES_RANAP_RAB_SETUPORMODIFIEDLIST_PRESENT) { - /* TODO: Iterate over list of SetupOrModifiedList IEs and handle each one */ - RANAP_IE_t *ranap_ie = ies->raB_SetupOrModifiedList.raB_SetupOrModifiedList_ies.list.array[0]; - RANAP_RAB_SetupOrModifiedItemIEs_t setup_ies; - - rc = ranap_decode_rab_setupormodifieditemies_fromlist(&setup_ies, &ranap_ie->value); - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Error in ranap_decode_rab_setupormodifieditemies()\n"); - return rc; - } - - rc = global_iu_event_cb(ctx, IU_EVENT_RAB_ASSIGN, &setup_ies); - - ranap_free_rab_setupormodifieditemies(&setup_ies); - } - - return rc; -} - -/* Entry point for connection-oriented RANAP message */ -static void cn_ranap_handle_co(void *ctx, ranap_message *message) -{ - int rc; - - LOGP(DRANAP, LOGL_NOTICE, "handle_co(dir=%u, proc=%u)\n", message->direction, message->procedureCode); - - switch (message->direction) { - case RANAP_RANAP_PDU_PR_initiatingMessage: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_InitialUE_Message: - rc = ranap_handle_co_initial_ue(ctx, &message->msg.initialUE_MessageIEs); - break; - case RANAP_ProcedureCode_id_DirectTransfer: - rc = ranap_handle_co_dt(ctx, &message->msg.directTransferIEs); - break; - case RANAP_ProcedureCode_id_ErrorIndication: - rc = ranap_handle_co_err_ind(ctx, &message->msg.errorIndicationIEs); - break; - case RANAP_ProcedureCode_id_Iu_ReleaseRequest: - /* Iu Release Request */ - rc = ranap_handle_co_iu_rel_req(ctx, &message->msg.iu_ReleaseRequestIEs); - break; - default: - LOGP(DRANAP, LOGL_ERROR, "Received Initiating Message: unknown Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_successfulOutcome: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_SecurityModeControl: - /* Security Mode Complete */ - rc = global_iu_event_cb(ctx, IU_EVENT_SECURITY_MODE_COMPLETE, NULL); - break; - case RANAP_ProcedureCode_id_Iu_Release: - /* Iu Release Complete */ - rc = global_iu_event_cb(ctx, IU_EVENT_IU_RELEASE, NULL); - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Iu Release event: Iu Event callback returned %d\n", - rc); - } - break; - default: - LOGP(DRANAP, LOGL_ERROR, "Received Successful Outcome: unknown Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_outcome: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_RAB_Assignment: - /* RAB Assignment Response */ - rc = ranap_handle_co_rab_ass_resp(ctx, &message->msg.raB_AssignmentResponseIEs); - break; - default: - LOGP(DRANAP, LOGL_ERROR, "Received Outcome: unknown Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_unsuccessfulOutcome: - default: - LOGP(DRANAP, LOGL_ERROR, "Received Unsuccessful Outcome: Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Error in cn_ranap_handle_co (%d)\n", - rc); - /* TODO handling of the error? */ - } -} - -static int ranap_handle_cl_reset_req(void *ctx, RANAP_ResetIEs_t *ies) -{ - /* FIXME: send reset response */ - return -1; -} - -static int ranap_handle_cl_err_ind(void *ctx, RANAP_ErrorIndicationIEs_t *ies) -{ - if (ies->presenceMask & ERRORINDICATIONIES_RANAP_CAUSE_PRESENT) - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication (%s)\n", - ranap_cause_str(&ies->cause)); - else - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication\n"); - - return 0; -} - -/* Entry point for connection-less RANAP message */ -static void cn_ranap_handle_cl(void *ctx, ranap_message *message) -{ - int rc; - - switch (message->direction) { - case RANAP_RANAP_PDU_PR_initiatingMessage: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_Reset: - /* received reset.req, send reset.resp */ - rc = ranap_handle_cl_reset_req(ctx, &message->msg.resetIEs); - break; - case RANAP_ProcedureCode_id_ErrorIndication: - rc = ranap_handle_cl_err_ind(ctx, &message->msg.errorIndicationIEs); - break; - default: - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_successfulOutcome: - case RANAP_RANAP_PDU_PR_unsuccessfulOutcome: - case RANAP_RANAP_PDU_PR_outcome: - default: - rc = -1; - break; - } - - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Error in cn_ranap_handle_cl (%d)\n", - rc); - /* TODO handling of the error? */ - } -} - -/*********************************************************************** - * Paging - ***********************************************************************/ - -/* Send a paging command down a given SUA link. tmsi and paging_cause are - * optional and may be passed NULL and 0, respectively, to disable their use. - * See enum RANAP_PagingCause. - * - * If TMSI is given, the IMSI is not sent over the air interface. Nevertheless, - * the IMSI is still required for resolution in the HNB-GW and/or(?) RNC. */ -static int iu_tx_paging_cmd(struct osmo_sccp_link *link, - const char *imsi, const uint32_t *tmsi, - bool is_ps, uint32_t paging_cause) -{ - struct msgb *msg; - msg = ranap_new_msg_paging_cmd(imsi, tmsi, is_ps? 1 : 0, paging_cause); - msg->l2h = msg->data; - return osmo_sccp_tx_unitdata_ranap(link, 1, 2, msg->data, - msgb_length(msg)); -} - -static int iu_page(const char *imsi, const uint32_t *tmsi_or_ptimsi, - uint16_t lac, uint8_t rac, bool is_ps) -{ - struct iu_rnc *rnc; - int pagings_sent = 0; - - if (tmsi_or_ptimsi) { - LOGP(DRANAP, LOGL_DEBUG, "%s: Looking for RNCs to page for IMSI %s" - " (paging will use %s %x)\n", - is_ps? "IuPS" : "IuCS", - imsi, - is_ps? "PTMSI" : "TMSI", - *tmsi_or_ptimsi); - } else { - LOGP(DRANAP, LOGL_DEBUG, "%s: Looking for RNCs to page for IMSI %s" - " (paging will use IMSI)\n", - is_ps? "IuPS" : "IuCS", - imsi - ); - } - - llist_for_each_entry(rnc, &rnc_list, entry) { - if (!rnc->link) { - /* Not actually connected, don't count it. */ - continue; - } - if (rnc->lac != lac) - continue; - if (is_ps && rnc->rac != rac) - continue; - - /* Found a match! */ - if (iu_tx_paging_cmd(rnc->link, imsi, tmsi_or_ptimsi, is_ps, 0) - == 0) { - LOGP(DRANAP, LOGL_DEBUG, - "%s: Paged for IMSI %s on RNC %d, on SUA link %p\n", - is_ps? "IuPS" : "IuCS", - imsi, rnc->rnc_id, rnc->link); - pagings_sent ++; - } - } - - /* Some logging... */ - if (pagings_sent > 0) { - LOGP(DRANAP, LOGL_DEBUG, - "%s: %d RNCs were paged for IMSI %s.\n", - is_ps? "IuPS" : "IuCS", - pagings_sent, imsi); - } - else { - if (is_ps) { - LOGP(DRANAP, LOGL_ERROR, "IuPS: Found no RNC to page for" - " LAC %d RAC %d (would have paged IMSI %s)\n", - lac, rac, imsi); - } - else { - LOGP(DRANAP, LOGL_ERROR, "IuCS: Found no RNC to page for" - " LAC %d (would have paged IMSI %s)\n", - lac, imsi); - } - } - - return pagings_sent; -} - -int iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac) -{ - return iu_page(imsi, tmsi, lac, 0, false); -} - -int iu_page_ps(const char *imsi, const uint32_t *ptmsi, uint16_t lac, uint8_t rac) -{ - return iu_page(imsi, ptmsi, lac, rac, true); -} - - -/*********************************************************************** - * - ***********************************************************************/ - -int tx_unitdata(struct osmo_sccp_link *link); -int tx_conn_req(struct osmo_sccp_link *link, uint32_t conn_id); - -struct osmo_prim_hdr *make_conn_req(uint32_t conn_id); -struct osmo_prim_hdr *make_dt1_req(uint32_t conn_id, const uint8_t *data, unsigned int len); - -struct osmo_prim_hdr *make_conn_resp(struct osmo_scu_connect_param *param) -{ - struct msgb *msg = msgb_alloc(1024, "conn_resp"); - struct osmo_scu_prim *prim; - - prim = (struct osmo_scu_prim *) msgb_put(msg, sizeof(*prim)); - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_CONNECT, - PRIM_OP_RESPONSE, msg); - memcpy(&prim->u.connect, param, sizeof(prim->u.connect)); - return &prim->oph; -} - -static int sccp_sap_up(struct osmo_prim_hdr *oph, void *link) -{ - struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; - struct osmo_prim_hdr *resp = NULL; - int rc; - struct ue_conn_ctx *ue; - - DEBUGP(DRANAP, "sccp_sap_up(%s)\n", osmo_scu_prim_name(oph)); - - switch (OSMO_PRIM_HDR(oph)) { - case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_CONFIRM): - /* confirmation of outbound connection */ - rc = -1; - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_INDICATION): - /* indication of new inbound connection request*/ - DEBUGP(DRANAP, "N-CONNECT.ind(X->%u)\n", prim->u.connect.conn_id); - if (/* prim->u.connect.called_addr.ssn != OSMO_SCCP_SSN_RANAP || */ - !msgb_l2(oph->msg) || msgb_l2len(oph->msg) == 0) { - LOGP(DRANAP, LOGL_NOTICE, - "Received invalid N-CONNECT.ind\n"); - return 0; - } - ue = ue_conn_ctx_alloc(link, prim->u.connect.conn_id); - /* first ensure the local SUA/SCCP socket is ACTIVE */ - resp = make_conn_resp(&prim->u.connect); - osmo_sua_user_link_down(link, resp); - /* then handle the RANAP payload */ - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_DISCONNECT, PRIM_OP_INDICATION): - /* indication of disconnect */ - DEBUGP(DRANAP, "N-DISCONNECT.ind(%u)\n", - prim->u.disconnect.conn_id); - ue = ue_conn_ctx_find(link, prim->u.disconnect.conn_id); - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): - /* connection-oriented data received */ - DEBUGP(DRANAP, "N-DATA.ind(%u, %s)\n", prim->u.data.conn_id, - osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); - /* resolve UE context */ - ue = ue_conn_ctx_find(link, prim->u.data.conn_id); - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): - /* connection-less data received */ - DEBUGP(DRANAP, "N-UNITDATA.ind(%s)\n", - osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); - rc = ranap_cn_rx_cl(cn_ranap_handle_cl, link, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - default: - rc = -1; - break; - } - - msgb_free(oph->msg); - return rc; -} - -int iu_init(void *ctx, const char *listen_addr, uint16_t listen_port, - iu_recv_cb_t iu_recv_cb, iu_event_cb_t iu_event_cb) -{ - struct osmo_sccp_user *user; - talloc_iu_ctx = talloc_named_const(ctx, 1, "iu"); - talloc_asn1_ctx = talloc_named_const(talloc_iu_ctx, 1, "asn1"); - - global_iu_recv_cb = iu_recv_cb; - global_iu_event_cb = iu_event_cb; - osmo_sua_set_log_area(DSUA); - user = osmo_sua_user_create(talloc_iu_ctx, sccp_sap_up, talloc_iu_ctx); - return osmo_sua_server_listen(user, listen_addr, listen_port); -} - diff --git a/openbsc/src/libiu/iu_vty.c b/openbsc/src/libiu/iu_vty.c deleted file mode 100644 index 91eed96..0000000 --- a/openbsc/src/libiu/iu_vty.c +++ /dev/null @@ -1,50 +0,0 @@ -/* OpenBSC Iu related interface to quagga VTY */ -/* (C) 2016 by sysmocom s.m.f.c. GmbH - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include - -#include -#include - -/* Pointer to the actual asn_debug value as passed from main scopes. */ -static int *g_asn_debug_p = NULL; - -DEFUN(logging_asn_debug, - logging_asn_debug_cmd, - "logging asn1-debug (1|0)", - LOGGING_STR - "Log human readable representations of all ASN.1 messages to stderr\n" - "Log decoded ASN.1 messages to stderr\n" - "Do not log decoded ASN.1 messages to stderr\n") -{ - if (!g_asn_debug_p) { - vty_out(vty, "%%ASN.1 debugging not available%s", VTY_NEWLINE); - return CMD_WARNING; - } - - *g_asn_debug_p = atoi(argv[0]); - return CMD_SUCCESS; -} - -void iu_vty_init(int *asn_debug_p) -{ - g_asn_debug_p = asn_debug_p; - - install_element(CFG_LOG_NODE, &logging_asn_debug_cmd); -} -- To view, visit https://gerrit.osmocom.org/13417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id5678a74504b4456aba0438ccc34731770801128 Gerrit-Change-Number: 13417 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:10:53 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:10:53 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: move functions to common.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13412 ) Change subject: osmocom-list-commits.sh: move functions to common.sh ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 Gerrit-Change-Number: 13412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 10:10:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:12:25 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:12:25 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: cd into subdir before building In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13413 ) Change subject: osmo-build-dep.sh: cd into subdir before building ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca Gerrit-Change-Number: 13413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 10:12:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:12:55 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:12:55 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: run 'make check' when CHECK=1 In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13414 ) Change subject: osmo-build-dep.sh: run 'make check' when CHECK=1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de Gerrit-Change-Number: 13414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 10:12:55 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:14:16 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:14:16 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13416 ) Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13416/2/jobs/osmocom-build-tags-against-master.yml File jobs/osmocom-build-tags-against-master.yml: https://gerrit.osmocom.org/#/c/13416/2/jobs/osmocom-build-tags-against-master.yml at 12 PS2, Line 12: whitespace -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 10:14:16 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:20:58 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:20:58 +0000 Subject: Change in osmo-bsc[master]: nanobts: use libosmocore's osmo_store*() for OML attr. patching Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13418 Change subject: nanobts: use libosmocore's osmo_store*() for OML attr. patching ...................................................................... nanobts: use libosmocore's osmo_store*() for OML attr. patching This slightly simplifies things by making endianness more obvious and removing abstraction. Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a --- M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c 1 file changed, 3 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/13418/1 diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index d674c18..be40410 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -25,15 +25,6 @@ #include #include -static void patch_16(uint8_t *data, const uint16_t val) -{ - memcpy(data, &val, sizeof(val)); -} - -static void patch_32(uint8_t *data, const uint32_t val) -{ - memcpy(data, &val, sizeof(val)); -} struct msgb *nanobts_attr_bts_get(struct gsm_bts *bts) { @@ -213,11 +204,11 @@ msgb_tl16v_put(msgb, NM_ATT_IPACC_NSVCI, 2, buf); /* remote udp port */ - patch_16(&buf[0], htons(bts->gprs.nsvc[0].remote_port)); + osmo_store16be(bts->gprs.nsvc[0].remote_port, &buf[0]); /* remote ip address */ - patch_32(&buf[2], htonl(bts->gprs.nsvc[0].remote_ip)); + osmo_store32be(bts->gprs.nsvc[0].remote_ip, &buf[2]); /* local udp port */ - patch_16(&buf[6], htons(bts->gprs.nsvc[0].local_port)); + osmo_store16be(bts->gprs.nsvc[0].local_port, &buf[6]); msgb_tl16v_put(msgb, NM_ATT_IPACC_NS_LINK_CFG, 8, buf); return msgb; -- To view, visit https://gerrit.osmocom.org/13418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a Gerrit-Change-Number: 13418 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:33:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 10:33:29 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13416 to look at the new patch set (#4). Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... jobs: add osmocom-build-tags-against-master.yml Run osmocom-build-old-tags-against-master.sh every night in jenkins. Related: OS#3765 Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 --- A jobs/osmocom-build-tags-against-master.yml 1 file changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/16/13416/4 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:40:10 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 10:40:10 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13416 ) Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 10:40:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:45:22 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 Mar 2019 10:45:22 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13319 to look at the new patch set (#4). Change subject: a_iface_bssap: add context information to log output ...................................................................... a_iface_bssap: add context information to log output At the moment many of the log statements in a_iface_bssap.c are just LOGP statements without futrher context information. Since those messages appear at a point where no related ran conn can be identified, lets use the BSC as context information, so that the origin of those messages can be traced back to at least one specific BSC. Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 --- M src/libmsc/a_iface_bssap.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err 3 files changed, 68 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/19/13319/4 -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 10:55:51 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 Mar 2019 10:55:51 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13319 to look at the new patch set (#5). Change subject: a_iface_bssap: add context information to log output ...................................................................... a_iface_bssap: add context information to log output At the moment many of the log statements in a_iface_bssap.c are just LOGP statements without futrher context information. Since those messages appear at a point where no related ran conn can be identified, lets use the BSC as context information, so that the origin of those messages can be traced back to at least one specific BSC. Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 --- M src/libmsc/a_iface_bssap.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err 3 files changed, 68 insertions(+), 56 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/19/13319/5 -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Harald Welte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 11:00:01 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 11:00:01 +0000 Subject: Change in python/osmo-python-tests[master]: deb: fix wrong changelog date In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/12487 ) Change subject: deb: fix wrong changelog date ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/12487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie73b1f29bd13e68e9b5e05896f1f048bc8108d17 Gerrit-Change-Number: 12487 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 11:00:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 11:21:38 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 11:21:38 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... Patch Set 3: (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/13204/1/src/gb/gprs_bssgp.c File src/gb/gprs_bssgp.c: https://gerrit.osmocom.org/#/c/13204/1/src/gb/gprs_bssgp.c at 1039 PS1, Line 1039: > 1) we don't assign values to multiple variables in one line [?] Done -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 26 Mar 2019 11:21:38 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:12:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 12:12:01 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:12:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:12:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 12:12:45 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 5: Failing tags disabled, it runs through now: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/9/console -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:12:45 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:18:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:18:36 +0000 Subject: Change in osmo-msc[master]: a_iface_bssap: add context information to log output In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13319 ) Change subject: a_iface_bssap: add context information to log output ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I704954edc8677688fc7cccd2b23d2aff958ebf32 Gerrit-Change-Number: 13319 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 26 Mar 2019 12:18:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:24:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:24:08 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... Patch Set 2: > I want to keep the commit from others unchanged as much as a can - even if this is really trivial. Than it probably make sense to keep commit meta-info as well: author, date, original repo/branch etc. It's kinda confusing that for some commits in this series it's preserved and for other it isn't. -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Tue, 26 Mar 2019 12:24:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:24:56 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:24:56 +0000 Subject: Change in osmo-pcu[master]: Add ARQ type helpers In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13406 ) Change subject: Add ARQ type helpers ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 Gerrit-Change-Number: 13406 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:24:56 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:25:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:25:07 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 8: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:25:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:29:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:29:36 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 5: > osmo-sgsn (no tags configured) So it was manually disabled due to some problems? -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:29:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:33:10 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:33:10 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 5: (1 comment) I think the entire test should not stop/fail if one particular tag is failing to build. Instead it should be recorded which tag failed (and why) and the test should proceed to check other tags. https://gerrit.osmocom.org/#/c/13415/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13415/5//COMMIT_MSG at 19 PS5, Line 19: and commented out, so this test runs through and we can detect further Would it be possible to enable them and still run through with the rest of the test? -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:33:10 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:41:24 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:41:24 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 5: (1 comment) Looking at other FOSS projects, it seems likely that eventually we'll just use 2-3 explicit tags: "latest stable", "latest unstable" and perhaps "LTS release". Not sure if it would make sense to change the release process to introduce those as explicit tags in git and just move them from one commit to another as new releases made/promoted to stable/LTS status. Not smth of immediate concern, just a thing to consider while looking at the code. https://gerrit.osmocom.org/#/c/13415/5/scripts/osmocom-build-old-tags-against-master.sh File scripts/osmocom-build-old-tags-against-master.sh: https://gerrit.osmocom.org/#/c/13415/5/scripts/osmocom-build-old-tags-against-master.sh at 53 PS5, Line 53: echo "1.3.0" Would be nice to document output format: is it space-separated list of tags? -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:41:24 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:56:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:56:11 +0000 Subject: Change in osmo-pcu[master]: Add test for MS mode and (M)CS settings In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13164 ) Change subject: Add test for MS mode and (M)CS settings ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibf917f4b49d927a21cbd467775806fa6ea06a6a6 Gerrit-Change-Number: 13164 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 12:56:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 12:59:24 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 12:59:24 +0000 Subject: Change in osmo-pcu[master]: TS alloc: expand tests log In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/3895 ) Change subject: TS alloc: expand tests log ...................................................................... Patch Set 28: (1 comment) Should have replied year ago but thanks to underwhelming pace of OsmoPCU development this patch is still relevant :) https://gerrit.osmocom.org/#/c/3895/27/tests/alloc/AllocTest.err File tests/alloc/AllocTest.err: https://gerrit.osmocom.org/#/c/3895/27/tests/alloc/AllocTest.err at 196 PS27, Line 196: [DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) > why does the old log line statte "multi" and the new one "single"? This looks suspicious. [?] Erm, old log doesn't state "multi" - at least I don't see where. In fact the old log does not give any info about single/multi allocation being used and that's exactly what this patch is trying to address. -- To view, visit https://gerrit.osmocom.org/3895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5 Gerrit-Change-Number: 3895 Gerrit-PatchSet: 28 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 26 Mar 2019 12:59:24 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:15:00 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:15:00 +0000 Subject: Change in osmo-pcu[master]: vty: add commands to show TBF of a certain kind In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/6239 ) Change subject: vty: add commands to show TBF of a certain kind ...................................................................... Patch Set 6: (1 comment) Doh! Somehow lost it during patch rebase before submission. Thanks! https://gerrit.osmocom.org/#/c/6239/4/src/pcu_vty_functions.cpp File src/pcu_vty_functions.cpp: https://gerrit.osmocom.org/#/c/6239/4/src/pcu_vty_functions.cpp at 46 PS4, Line 46: > looks like these parameters added in this commit are not used in this function. Done -- To view, visit https://gerrit.osmocom.org/6239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I80f8df4fe663a0346f4289a4220b761e39726312 Gerrit-Change-Number: 6239 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 13:15:00 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:36:41 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:36:41 +0000 Subject: Change in osmo-bsc[master]: Use osmo_lcls instead of anonymous struct Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13419 Change subject: Use osmo_lcls instead of anonymous struct ...................................................................... Use osmo_lcls instead of anonymous struct This allows us to (re)use code from libosmocore for parameter checks, printing etc. Change-Id: I0f2c2a065755d9051fc7d7ce52c19ab0b7d9288a Related: OS#2487 --- M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/osmo_bsc_lcls.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_lcls.c 6 files changed, 71 insertions(+), 106 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/19/13419/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 47ca5e8..3ee7694 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -292,10 +292,7 @@ /* LCLS (local call, local switch) related state */ struct { - uint8_t global_call_ref[15]; - uint8_t global_call_ref_len; /* length of global_call_ref */ - enum gsm0808_lcls_config config; /* TS 48.008 3.2.2.116 */ - enum gsm0808_lcls_control control; /* TS 48.008 3.2.2.117 */ + struct osmo_lcls *par; /* LCLS parameters */ /* LCLS FSM */ struct osmo_fsm_inst *fi; /* pointer to "other" connection, if Call Leg Relocation was successful */ diff --git a/include/osmocom/bsc/osmo_bsc_lcls.h b/include/osmocom/bsc/osmo_bsc_lcls.h index 8bbd552..b7836ce 100644 --- a/include/osmocom/bsc/osmo_bsc_lcls.h +++ b/include/osmocom/bsc/osmo_bsc_lcls.h @@ -47,9 +47,6 @@ enum gsm0808_lcls_status lcls_get_status(const struct gsm_subscriber_connection *conn); -void lcls_update_config(struct gsm_subscriber_connection *conn, - const uint8_t *config, const uint8_t *control); - void lcls_apply_config(struct gsm_subscriber_connection *conn); extern struct osmo_fsm lcls_fsm; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 1cc0c78..3f43801 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -889,16 +889,28 @@ return NULL; } + conn->lcls.par = talloc_zero(conn, struct osmo_lcls); + /* indicate "IE not [yet] received" */ - conn->lcls.config = GSM0808_LCLS_CFG_NA; - conn->lcls.control = GSM0808_LCLS_CSC_NA; + conn->lcls.par->config = GSM0808_LCLS_CFG_NA; + conn->lcls.par->control = GSM0808_LCLS_CSC_NA; + conn->lcls.fi = osmo_fsm_inst_alloc_child(&lcls_fsm, conn->fi, GSCON_EV_LCLS_FAIL); + if (!conn->lcls.fi) { osmo_fsm_inst_term(conn->fi, OSMO_FSM_TERM_ERROR, NULL); return NULL; } conn->lcls.fi->priv = conn; + if (conn->lchan) { + LOG_LCHAN(conn->lchan, LOGL_NOTICE, "New %s\n", osmo_lcls_dump(conn->lcls.par)); + LOG_LCHAN(conn->lchan, LOGL_NOTICE, "New %s\n", osmo_gcr_dump(conn->lcls.par)); + } else { + LOGPFSM(conn->fi, "New %s\n", osmo_lcls_dump(conn->lcls.par)); + LOGPFSM(conn->fi, "New %s\n", osmo_gcr_dump(conn->lcls.par)); + } + llist_add_tail(&conn->entry, &net->subscr_conns); return conn; } diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 9413d36..769ddeb 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1586,16 +1586,9 @@ vty_out(vty, "conn ID=%u, MSC=%u, hodec2_fail=%d, mgw_ep=%s%s", conn->sccp.conn_id, conn->sccp.msc->nr, conn->hodec2.failures, mgw_endpoint_name(conn->user_plane.mgw_endpoint), VTY_NEWLINE); - if (conn->lcls.global_call_ref_len) { - vty_out(vty, " LCLS GCR: %s%s", - osmo_hexdump_nospc(conn->lcls.global_call_ref, conn->lcls.global_call_ref_len), - VTY_NEWLINE); - vty_out(vty, " LCLS Config: %s, LCLS Control: %s, LCLS BSS Status: %s%s", - gsm0808_lcls_config_name(conn->lcls.config), - gsm0808_lcls_control_name(conn->lcls.control), - osmo_fsm_inst_state_name(conn->lcls.fi), - VTY_NEWLINE); - } + vty_out(vty, " %s%s", osmo_lcls_dump(conn->lcls.par), VTY_NEWLINE); + vty_out(vty, " %s%s", osmo_gcr_dump(conn->lcls.par), VTY_NEWLINE); + if (conn->lchan) lchan_dump_full_vty(vty, conn->lchan); if (conn->assignment.new_lchan) diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 85aab22..74f0901 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -541,36 +541,20 @@ /* handle LCLS specific IES in BSSMAP ASS REQ */ static void bssmap_handle_ass_req_lcls(struct gsm_subscriber_connection *conn, - const struct tlv_parsed *tp) + const struct tlv_parsed *tp) { - const uint8_t *config, *control, *gcr, gcr_len = TLVP_LEN(tp, GSM0808_IE_GLOBAL_CALL_REF); - - if (gcr_len > sizeof(conn->lcls.global_call_ref)) - LOGPFSML(conn->fi, LOGL_ERROR, "Global Call Ref IE of %u bytes is too long\n", - gcr_len); - else { - gcr = TLVP_VAL_MINLEN(tp, GSM0808_IE_GLOBAL_CALL_REF, 13); - if (gcr) { - LOGPFSM(conn->fi, "Setting GCR to %s\n", osmo_hexdump_nospc(gcr, gcr_len)); - memcpy(&conn->lcls.global_call_ref, gcr, gcr_len); - conn->lcls.global_call_ref_len = gcr_len; - } else - LOGPFSML(conn->fi, LOGL_ERROR, "Global Call Ref IE of %u bytes is too short\n", - gcr_len); - } - - config = TLVP_VAL_MINLEN(tp, GSM0808_IE_LCLS_CONFIG, 1); - control = TLVP_VAL_MINLEN(tp, GSM0808_IE_LCLS_CONN_STATUS_CTRL, 1); - - if (config || control) { - LOGPFSM(conn->fi, "BSSMAP ASS REQ contains LCLS (%s / %s)\n", - config ? gsm0808_lcls_config_name(*config) : "NULL", - control ? gsm0808_lcls_control_name(*control) : "NULL"); - } - /* Update the LCLS state with Config + CSC (if any) */ - lcls_update_config(conn, config, control); - + LOGPFSML(conn->fi, LOGL_NOTICE, "Old %s\n", osmo_lcls_dump(conn->lcls.par)); + LOGPFSML(conn->fi, LOGL_NOTICE, "Old <%u> %s\n", conn->lcls.par->gcr_available, osmo_gcr_dump(conn->lcls.par)); + int rc = gsm0808_dec_lcls(conn->lcls.par, tp); + if (rc < 0) { + LOGPFSML(conn->fi, LOGL_ERROR, "LCLS decoding failed: %s\n", strerror(-rc)); + } else + conn->lcls.par->gcr_available = true; + LOGPFSML(conn->fi, LOGL_NOTICE, "New %s\n", osmo_lcls_dump(conn->lcls.par)); + LOGPFSML(conn->fi, LOGL_NOTICE, "New <%u> %s\n", conn->lcls.par->gcr_available, osmo_gcr_dump(conn->lcls.par)); + /* notify the LCLS FSM about new LCLS Config and/or CSC */ + osmo_fsm_inst_dispatch(conn->lcls.fi, LCLS_EV_UPDATE_CFG_CSC, conn->lcls.par); /* Do not attempt to perform correlation yet, as during processing of the ASS REQ * we don't have the MGCP/MGW connections yet, and hence couldn't enable LS. */ } @@ -581,7 +565,6 @@ { struct msgb *resp; struct tlv_parsed tp; - const uint8_t *config, *control; int rc; OSMO_ASSERT(conn); @@ -592,20 +575,8 @@ msgb_hexdump(msg)); return rc; } - config = TLVP_VAL_MINLEN(&tp, GSM0808_IE_LCLS_CONFIG, 1); - control = TLVP_VAL_MINLEN(&tp, GSM0808_IE_LCLS_CONN_STATUS_CTRL, 1); - LOGPFSM(conn->fi, "Rx LCLS CONNECT CTRL (%s / %s)\n", - config ? gsm0808_lcls_config_name(*config) : "NULL", - control ? gsm0808_lcls_control_name(*control) : "NULL"); - - if (conn->lcls.global_call_ref_len == 0) { - LOGPFSML(conn->fi, LOGL_ERROR, "Ignoring LCLS as no GCR was set before\n"); - return 0; - } - /* Update the LCLS state with Config + CSC (if any) */ - lcls_update_config(conn, TLVP_VAL_MINLEN(&tp, GSM0808_IE_LCLS_CONFIG, 1), - TLVP_VAL_MINLEN(&tp, GSM0808_IE_LCLS_CONN_STATUS_CTRL, 1)); + bssmap_handle_ass_req_lcls(conn, &tp); lcls_apply_config(conn); LOGPFSM(conn->fi, "Tx LCLS CONNECT CTRL ACK (%s)\n", diff --git a/src/osmo-bsc/osmo_bsc_lcls.c b/src/osmo-bsc/osmo_bsc_lcls.c index c1f62dc..e81e8f8 100644 --- a/src/osmo-bsc/osmo_bsc_lcls.c +++ b/src/osmo-bsc/osmo_bsc_lcls.c @@ -101,12 +101,12 @@ /* don't report back the same connection */ if (conn_other == conn_local) continue; - /* don't consider any conn where GCR length is not the same as before */ - if (conn_other->lcls.global_call_ref_len != conn_local->lcls.global_call_ref_len) - continue; - if (!memcmp(conn_other->lcls.global_call_ref, conn_local->lcls.global_call_ref, - conn_local->lcls.global_call_ref_len)) + + if (osmo_gcr_eq(&conn_other->lcls.par->gcr, &conn_local->lcls.par->gcr)) return conn_other; + else + LOGPFSM(conn_local->lcls.fi, "LCLS local %s != other %s\n", + osmo_gcr_dump(conn_local->lcls.par), osmo_gcr_dump(conn_other->lcls.par)); } return NULL; } @@ -126,7 +126,9 @@ struct gsm_subscriber_connection *conn_other; /* We can only correlate if a GCR is present */ - OSMO_ASSERT(conn_local->lcls.global_call_ref_len); + if (!conn_local->lcls.par->gcr_available) + return -EINVAL; + /* We can only correlate if we're not in active LS */ OSMO_ASSERT(conn_local->lcls.fi->state != ST_LOCALLY_SWITCHED && conn_local->lcls.fi->state != ST_LOCALLY_SWITCHED_WAIT_BREAK && @@ -146,7 +148,7 @@ conn_other = find_conn_with_same_gcr(conn_local); if (!conn_other) { /* we found no other call with same GCR: not possible */ - LOGPFSM(conn_local->lcls.fi, "Unsuccessful correlation\n"); + LOGPFSM(conn_local->lcls.fi, "Unsuccessful correlation: we found no other call with same GCR\n"); return -ENODEV; } @@ -168,25 +170,25 @@ const struct osmo_lcls *new_cfg_csc) { static struct osmo_lcls old_cfg_csc = { 0 }; - old_cfg_csc.config = conn->lcls.config; - old_cfg_csc.control = conn->lcls.control; + old_cfg_csc.config = conn->lcls.par->config; + old_cfg_csc.control = conn->lcls.par->control; if (new_cfg_csc->config != GSM0808_LCLS_CFG_NA) { if (!lcls_is_supported_config(new_cfg_csc->config)) return NULL; - if (conn->lcls.config != new_cfg_csc->config) { + if (conn->lcls.par->config != new_cfg_csc->config) { LOGPFSM(conn->lcls.fi, "LCLS update Config %s -> %s\n", - gsm0808_lcls_config_name(conn->lcls.config), + gsm0808_lcls_config_name(conn->lcls.par->config), gsm0808_lcls_config_name(new_cfg_csc->config)); - conn->lcls.config = new_cfg_csc->config; + conn->lcls.par->config = new_cfg_csc->config; } } if (new_cfg_csc->control != GSM0808_LCLS_CSC_NA) { - if (conn->lcls.control != new_cfg_csc->control) { + if (conn->lcls.par->control != new_cfg_csc->control) { LOGPFSM(conn->lcls.fi, "LCLS update Control %s -> %s\n", - gsm0808_lcls_control_name(conn->lcls.control), + gsm0808_lcls_control_name(conn->lcls.par->control), gsm0808_lcls_control_name(new_cfg_csc->control)); - conn->lcls.control = new_cfg_csc->control; + conn->lcls.par->control = new_cfg_csc->control; } } @@ -208,25 +210,7 @@ return 0; } -/* notify the LCLS FSM about new LCLS Config and/or CSC */ -void lcls_update_config(struct gsm_subscriber_connection *conn, - const uint8_t *config, const uint8_t *control) -{ - struct osmo_lcls new_cfg = { - .config = GSM0808_LCLS_CFG_NA, - .control = GSM0808_LCLS_CSC_NA, - }; - /* nothing to update, skip it */ - if (!config && !control) - return; - if (config) - new_cfg.config = *config; - if (control) - new_cfg.control = *control; - osmo_fsm_inst_dispatch(conn->lcls.fi, LCLS_EV_UPDATE_CFG_CSC, &new_cfg); -} - -/* apply the configuration, may be changed before by lcls_update_config */ +/* apply the configuration, might have been changed before by corresponding BSSMAP handlers */ void lcls_apply_config(struct gsm_subscriber_connection *conn) { osmo_fsm_inst_dispatch(conn->lcls.fi, LCLS_EV_APPLY_CFG_CSC, NULL); @@ -277,6 +261,10 @@ { mgcp_pick_codec(mdcx_info, conn->lchan, false); + LOGPFSM(conn->lcls.fi, "LCLS(%s) MGW to %s\n", + bsc_lcls_mode_name(conn->sccp.msc->lcls_mode), + mgwep_ci_name(conn->user_plane.mgw_endpoint_ci_msc)); + mgw_endpoint_ci_request(conn->user_plane.mgw_endpoint_ci_msc, MGCP_VERB_MDCX, mdcx_info, NULL, 0, 0, NULL); } @@ -295,9 +283,11 @@ case BSC_LCLS_MODE_MGW_LOOP: mdcx_info.port = conn->user_plane.msc_assigned_rtp_port; osmo_strlcpy(mdcx_info.addr, conn->user_plane.msc_assigned_rtp_addr, sizeof(mdcx_info.addr)); + LOGPFSM(conn->lcls.fi, "LCLS(%s) MDCX breaking\n", bsc_lcls_mode_name(conn->sccp.msc->lcls_mode)); lcls_mdcx(conn, &mdcx_info); break; case BSC_LCLS_MODE_BTS_LOOP: + LOGPFSM(conn->lcls.fi, "LCLS(%s) RSL breaking\n", bsc_lcls_mode_name(conn->sccp.msc->lcls_mode)); lcls_rsl(conn, false); break; case BSC_LCLS_MODE_DISABLED: @@ -314,22 +304,22 @@ struct gsm_subscriber_connection *other_conn = conn->lcls.other; OSMO_ASSERT(other_conn); - if (!lcls_is_supported_config(conn->lcls.config)) { + if (!lcls_is_supported_config(conn->lcls.par->config)) { LOGPFSM(conn->lcls.fi, "Not enabling LS due to unsupported local config\n"); return false; } - if (!lcls_is_supported_config(other_conn->lcls.config)) { + if (!lcls_is_supported_config(other_conn->lcls.par->config)) { LOGPFSM(conn->lcls.fi, "Not enabling LS due to unsupported other config\n"); return false; } - if (conn->lcls.control != GSM0808_LCLS_CSC_CONNECT) { + if (conn->lcls.par->control != GSM0808_LCLS_CSC_CONNECT) { LOGPFSM(conn->lcls.fi, "Not enabling LS due to insufficient local control\n"); return false; } - if (other_conn->lcls.control != GSM0808_LCLS_CSC_CONNECT) { + if (other_conn->lcls.par->control != GSM0808_LCLS_CSC_CONNECT) { LOGPFSM(conn->lcls.fi, "Not enabling LS due to insufficient other control\n"); return false; } @@ -378,9 +368,12 @@ } /* If there's no GCR set, we can never leave this state */ - if (conn->lcls.global_call_ref_len == 0) { - LOGPFSML(fi, LOGL_NOTICE, "No GCR set, ignoring %s\n", - osmo_fsm_event_name(fi->fsm, event)); + if (!conn->lcls.par->gcr_available) { + LOGPFSML(fi, LOGL_NOTICE, "No GCR set, ignoring %s: %s <%u> %s\n", + osmo_fsm_event_name(fi->fsm, event), + osmo_lcls_dump(conn->lcls.par), + conn->lcls.par->gcr_available, + osmo_gcr_dump(conn->lcls.par)); return; } @@ -390,7 +383,7 @@ return; return; case LCLS_EV_APPLY_CFG_CSC: - if (conn->lcls.config == GSM0808_LCLS_CFG_NA) + if (conn->lcls.par->config == GSM0808_LCLS_CFG_NA) return; if (lcls_perform_correlation(conn) != 0) { /* Correlation leads to no result: Not Possible to LS */ @@ -565,7 +558,7 @@ } /* we now have two correlated calls */ OSMO_ASSERT(conn->lcls.other); - if (!lcls_is_supported_config(conn->lcls.config)) + if (!lcls_is_supported_config(conn->lcls.par->config)) return; if (lcls_enable_possible(conn)) osmo_fsm_inst_state_chg(fi, ST_LOCALLY_SWITCHED, 0, 0); @@ -601,7 +594,7 @@ } break; case LCLS_EV_APPLY_CFG_CSC: - if (conn->lcls.control == GSM0808_LCLS_CSC_RELEASE_LCLS) { + if (conn->lcls.par->control == GSM0808_LCLS_CSC_RELEASE_LCLS) { osmo_fsm_inst_state_chg(fi, ST_LOCALLY_SWITCHED_WAIT_OTHER_BREAK, 0, 0); osmo_fsm_inst_dispatch(conn->lcls.other->lcls.fi, LCLS_EV_OTHER_BREAK, conn); /* FIXME: what if there's a new config included? */ @@ -659,9 +652,11 @@ mdcx_info = *other_mgw_info; /* Make sure the request doesn't want to use the other side's endpoint string. */ mdcx_info.endpoint[0] = 0; + LOGPFSM(fi, "LCLS(%s) MDCX making\n", bsc_lcls_mode_name(conn->sccp.msc->lcls_mode)); lcls_mdcx(conn, &mdcx_info); break; case BSC_LCLS_MODE_BTS_LOOP: + LOGPFSM(fi, "LCLS(%s) RSL making\n", bsc_lcls_mode_name(conn->sccp.msc->lcls_mode)); lcls_rsl(conn, true); break; case BSC_LCLS_MODE_DISABLED: @@ -687,7 +682,7 @@ } break; case LCLS_EV_APPLY_CFG_CSC: - if (conn->lcls.control == GSM0808_LCLS_CSC_RELEASE_LCLS) { + if (conn->lcls.par->control == GSM0808_LCLS_CSC_RELEASE_LCLS) { lcls_break_local_switching(conn); osmo_fsm_inst_state_chg(fi, ST_NO_LONGER_LS, 0, 0); osmo_fsm_inst_dispatch(conn->lcls.other->lcls.fi, LCLS_EV_OTHER_BREAK, conn); -- To view, visit https://gerrit.osmocom.org/13419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0f2c2a065755d9051fc7d7ce52c19ab0b7d9288a Gerrit-Change-Number: 13419 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:37:16 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:37:16 +0000 Subject: Change in osmo-pcu[master]: cosmetic: use const pointer for bts_data In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/12246 ) Change subject: cosmetic: use const pointer for bts_data ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/12246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icfd9e5603a5d8701f487f17e9c0335d458e9e80b Gerrit-Change-Number: 12246 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 13:37:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:41:33 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:41:33 +0000 Subject: Change in osmo-msc[master]: Log protocol for which transaction is allocated Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13420 Change subject: Log protocol for which transaction is allocated ...................................................................... Log protocol for which transaction is allocated Change-Id: If4a5f3ecaec568b3f8d5a57d864184d7af2b95cc --- M src/libmsc/transaction.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/20/13420/1 diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 66126e6..6cce62a 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -114,8 +114,8 @@ return NULL; } - DEBUGP(DCC, "(ti %02x sub %s callref %x) New transaction\n", - trans_id, vlr_subscr_name(vsub), callref); + DEBUGP(DCC, "(%s ti %02x sub %s callref %x) New transaction\n", + gsm48_pdisc_name(protocol), trans_id, vlr_subscr_name(vsub), callref); trans = talloc_zero(tall_trans_ctx, struct gsm_trans); if (!trans) -- To view, visit https://gerrit.osmocom.org/13420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If4a5f3ecaec568b3f8d5a57d864184d7af2b95cc Gerrit-Change-Number: 13420 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:46:34 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:46:34 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13421 Change subject: Add vty option to globally enable LCLS ...................................................................... Add vty option to globally enable LCLS It's disabled by default and will be used in follow-up patches. Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 --- M include/osmocom/msc/vlr.h M src/libmsc/msc_vty.c 2 files changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/21/13421/1 diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index d2d59c7..308a110 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -274,6 +274,7 @@ bool retrieve_imeisv_early; bool retrieve_imeisv_ciphered; bool assign_tmsi; + bool lcls_enabled; bool check_imei_rqd; int auth_tuple_max_reuse_count; bool auth_reuse_old_sets_on_error; diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index a79f451..3d812e7 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -404,6 +404,22 @@ return CMD_SUCCESS; } +DEFUN(cfg_msc_lcls_enable, cfg_msc_lcls_enable_cmd, + "lcls-enable", + "Enable LCLS for all calls.\n") +{ + gsmnet->vlr->cfg.lcls_enabled = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_msc_no_lcls_enable, cfg_msc_no_lcls_enable_cmd, + "no lcls-enable", + "Disable LCLS for all calls.\n") +{ + gsmnet->vlr->cfg.lcls_enabled = false; + return CMD_SUCCESS; +} + DEFUN(cfg_msc_cs7_instance_a, cfg_msc_cs7_instance_a_cmd, "cs7-instance-a <0-15>", @@ -513,6 +529,8 @@ gsmnet->ncss_guard_timeout, VTY_NEWLINE); vty_out(vty, " %sassign-tmsi%s", gsmnet->vlr->cfg.assign_tmsi? "" : "no ", VTY_NEWLINE); + vty_out(vty, " %slcls-enable%s", + gsmnet->vlr->cfg.lcls_enabled ? "" : "no ", VTY_NEWLINE); vty_out(vty, " cs7-instance-a %u%s", gsmnet->a.cs7_instance, VTY_NEWLINE); @@ -1673,12 +1691,14 @@ install_element(CONFIG_NODE, &cfg_msc_cmd); install_node(&msc_node, config_write_msc); install_element(MSC_NODE, &cfg_msc_assign_tmsi_cmd); + install_element(MSC_NODE, &cfg_msc_lcls_enable_cmd); install_element(MSC_NODE, &cfg_msc_mncc_internal_cmd); install_element(MSC_NODE, &cfg_msc_mncc_external_cmd); install_element(MSC_NODE, &cfg_msc_mncc_guard_timeout_cmd); install_element(MSC_NODE, &cfg_msc_deprecated_mncc_guard_timeout_cmd); install_element(MSC_NODE, &cfg_msc_ncss_guard_timeout_cmd); install_element(MSC_NODE, &cfg_msc_no_assign_tmsi_cmd); + install_element(MSC_NODE, &cfg_msc_no_lcls_enable_cmd); install_element(MSC_NODE, &cfg_msc_auth_tuple_max_reuse_count_cmd); install_element(MSC_NODE, &cfg_msc_auth_tuple_reuse_on_error_cmd); install_element(MSC_NODE, &cfg_msc_check_imei_rqd_cmd); -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:55:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:55:11 +0000 Subject: Change in osmo-msc[master]: Log protocol for which transaction is allocated In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13420 ) Change subject: Log protocol for which transaction is allocated ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If4a5f3ecaec568b3f8d5a57d864184d7af2b95cc Gerrit-Change-Number: 13420 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 13:55:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 13:55:34 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 13:55:34 +0000 Subject: Change in osmo-bsc[master]: Use osmo_lcls instead of anonymous struct In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13419 ) Change subject: Use osmo_lcls instead of anonymous struct ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0f2c2a065755d9051fc7d7ce52c19ab0b7d9288a Gerrit-Change-Number: 13419 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Comment-Date: Tue, 26 Mar 2019 13:55:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:00:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 14:00:06 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:00:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:12:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:12:20 +0000 Subject: Change in openbsc[master]: Drop Iu*S support and related dependencies In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13417 ) Change subject: Drop Iu*S support and related dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5678a74504b4456aba0438ccc34731770801128 Gerrit-Change-Number: 13417 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:12:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:14:39 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 14:14:39 +0000 Subject: Change in osmo-msc[master]: Autofill LCLS parameters for A-interface transactions Message-ID: Max has uploaded this change for review. ( https://gerrit.osmocom.org/13422 Change subject: Autofill LCLS parameters for A-interface transactions ...................................................................... Autofill LCLS parameters for A-interface transactions That's experimental patch to facilitate testing of BSC implementation of LCLS. Change-Id: I35ae6b6ca04925c8d300bc1a0269af00eac727f3 --- M include/osmocom/msc/debug.h M include/osmocom/msc/transaction.h M src/libmsc/a_iface.c M src/libmsc/transaction.c 4 files changed, 62 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/22/13422/1 diff --git a/include/osmocom/msc/debug.h b/include/osmocom/msc/debug.h index 28ba482..3d3f5e6 100644 --- a/include/osmocom/msc/debug.h +++ b/include/osmocom/msc/debug.h @@ -8,6 +8,7 @@ DCC, DMM, DRR, + DLCLS, DMNCC, DPAG, DMSC, diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index 830328b..eb5a0d0 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -108,6 +108,8 @@ const struct vlr_subscr *vsub, uint8_t sm_rp_mr); +struct osmo_lcls *trans_fill_lcls(const struct gsm_trans *trans, bool use_lac); + struct gsm_trans *trans_alloc(struct gsm_network *net, struct vlr_subscr *vsub, uint8_t protocol, uint8_t trans_id, diff --git a/src/libmsc/a_iface.c b/src/libmsc/a_iface.c index 91a2b6a..b707b59 100644 --- a/src/libmsc/a_iface.c +++ b/src/libmsc/a_iface.c @@ -425,7 +425,11 @@ memset(&rtp_addr, 0, sizeof(rtp_addr)); memcpy(&rtp_addr, &rtp_addr_in, sizeof(rtp_addr_in)); - msg = gsm0808_create_ass(&ct, NULL, &rtp_addr, &scl, NULL); + LOGPCONN(conn, LOGL_NOTICE, "Preparing LCLS...\n"); + bool use_lac = true; + msg = gsm0808_create_ass2(&ct, NULL, &rtp_addr, &scl, NULL, NULL, trans_fill_lcls(trans, use_lac)); + LOGPCONN(conn, LOGL_DEBUG, "N-DATA.req(%s)\n", msgb_hexdump_l2(msg)); + return a_iface_tx_bssap(conn, msg); } diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 66126e6..8aa81c6 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -93,6 +93,60 @@ return NULL; } +struct osmo_lcls *trans_fill_lcls(const struct gsm_trans *trans, bool use_lac) +{ + struct osmo_ss7_instance *ss7 = osmo_sccp_get_ss7(trans->net->a.sccp);//FIXME: ensure that a interface is in use for this transaction + struct osmo_lcls *lcls; + uint8_t w = osmo_ss7_pc_width(&ss7->cfg.pc_fmt); + + if(!trans->vsub->vlr->cfg.lcls_enabled) { + LOGP(DCC, LOGL_NOTICE, "LCLS disabled globally\n"); + return NULL; + } + + if(!trans) { + LOGP(DCC, LOGL_ERROR, "LCLS: unable to fill parameters for unallocated transaction\n"); + return NULL; + } + + if(!trans->conn) { + LOGP(DCC, LOGL_ERROR, "LCLS: unable to fill parameters for transaction without connection\n"); + return NULL; + } + + if (trans->conn->via_ran != OSMO_RAT_GERAN_A) { + LOGP(DCC, LOGL_ERROR, "LCLS: only A interface is supported at the moment\n"); + return NULL; + } + + lcls = talloc_zero(trans, struct osmo_lcls); + if (!lcls) { + LOGP(DCC, LOGL_ERROR, "LCLS: failed to allocate osmo_lcls\n"); + return NULL; + } + + LOGP(DCC, LOGL_INFO, "LCLS: using %u bits (%u bytes) for node ID\n", w, w / 8); + + lcls->gcr.net_len = 3; + lcls->gcr.node = ss7->cfg.primary_pc; + + osmo_plmn_to_bcd(lcls->gcr.net, &trans->net->plmn); /* net id from Q.1902.3 3-5 bytes, this function gives 3 bytes exactly */ + + osmo_store32be(trans->callref, lcls->gcr.cr); + osmo_store16be(use_lac ? trans->conn->lac : trans->conn->ci, lcls->gcr.cr + 3); + + LOGP(DCC, LOGL_INFO, "LCLS: allocated %s-based CR-ID %s\n", use_lac ? "LAC" : "CI", osmo_hexdump(lcls->gcr.cr, 5)); + + lcls->config = GSM0808_LCLS_CFG_BOTH_WAY; + lcls->control = GSM0808_LCLS_CSC_CONNECT; + lcls->corr_needed = true; + lcls->gcr_available = true; + + LOGP(DCC, LOGL_INFO, "Filled %s, %s\n", osmo_lcls_dump(lcls), osmo_gcr_dump(lcls)); + + return lcls; +} + /*! Allocate a new transaction and add it to network list * \param[in] net Netwokr in which we allocate transaction * \param[in] subscr Subscriber for which we allocate transaction -- To view, visit https://gerrit.osmocom.org/13422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I35ae6b6ca04925c8d300bc1a0269af00eac727f3 Gerrit-Change-Number: 13422 Gerrit-PatchSet: 1 Gerrit-Owner: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:15:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:15:23 +0000 Subject: Change in python/osmo-python-tests[master]: deb: fix wrong changelog date In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/12487 ) Change subject: deb: fix wrong changelog date ...................................................................... Patch Set 3: Code-Review+1 checked with a calendar this time, this is a valid date ;) -- To view, visit https://gerrit.osmocom.org/12487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie73b1f29bd13e68e9b5e05896f1f048bc8108d17 Gerrit-Change-Number: 12487 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:15:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:21:43 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:21:43 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13415 to look at the new patch set (#6). Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Add osmocom-build-old-tags-against-master.sh Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. Redirect each build's output to its own log file, so it is easy to see what is currently getting build, and what failed. On error, print the end of the new failing build logs, along with a note to find the full logs in the jenkins artifacts. This initial configuration builds the last three release tags of the Osmocom repositories against master. The configuration can be changed easily. Indicate known failures with "err" instead of "ERR" in the output, do not cause them to fail the build and do not print the beginning of the error log (it is still in the artifacts). This way, new errors stand out and don't get overlooked among the known errors. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 --- M .gitignore A scripts/osmocom-build-old-tags-against-master.sh 2 files changed, 231 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/13415/6 -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:24:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:24:58 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 6: (2 comments) > I think the entire test should not stop/fail if one particular tag is failing to build. Instead it should be recorded which tag failed (and why) and the test should proceed to check other tags. Thanks for the input! It does not stop anymore if a tag fails to build. If the failure is known, it just prints "err" besides the tag name. Otherwise it prints "ERR" and shows a chunk of the new-error-logs at the end and fails the jenkins job. It looks like this now: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/10/console https://gerrit.osmocom.org/#/c/13415/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13415/5//COMMIT_MSG at 19 PS5, Line 19: easily. > Would it be possible to enable them and still run through with the rest of the test? Done https://gerrit.osmocom.org/#/c/13415/5/scripts/osmocom-build-old-tags-against-master.sh File scripts/osmocom-build-old-tags-against-master.sh: https://gerrit.osmocom.org/#/c/13415/5/scripts/osmocom-build-old-tags-against-master.sh at 53 PS5, Line 53: echo "1.2.1" # depends on libosmo-legacy-mgcp > Would be nice to document output format: is it space-separated list of tags? It is one tag per line. Documented it now on top of the function. -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:24:58 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:26:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:26:37 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 6: > Looking at other FOSS projects, it seems likely that eventually we'll just use 2-3 explicit tags: "latest stable", "latest unstable" and perhaps "LTS release". Not sure if it would make sense to change the release process to introduce those as explicit tags in git and just move them from one commit to another as new releases made/promoted to stable/LTS status. Not smth of immediate concern, just a thing to consider while looking at the code. It is probably worth discussing this idea on the ML. -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:26:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:33:34 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 14:33:34 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 6: Code-Review+1 Neat. Now it's rather obvious that we should make OsmoSGSN release so we have at least one version which is working with current libosmocore master :) -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:33:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:36:04 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 14:36:04 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 6: (1 comment) Btw, is there stable URL which could use instead of https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/10/console to check the results of latest test? https://gerrit.osmocom.org/#/c/13415/6/scripts/osmocom-build-old-tags-against-master.sh File scripts/osmocom-build-old-tags-against-master.sh: https://gerrit.osmocom.org/#/c/13415/6/scripts/osmocom-build-old-tags-against-master.sh at 5 PS6, Line 5: Btw, is there stable URL which could use instead of https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/10/console to check the results of latest test? If so than it's better to put it in here. -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:36:04 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:48:17 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 14:48:17 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:48:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:51:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:51:55 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/#/c/13204/3/src/gb/gprs_bssgp.c File src/gb/gprs_bssgp.c: https://gerrit.osmocom.org/#/c/13204/3/src/gb/gprs_bssgp.c at 848 PS3, Line 848: return bssgp_tx_fc_bvc_ack(nsei, *TLVP_VAL(tp, BSSGP_IE_TAG), : msgb_bvci(msg)); What's the benefit of introducing the nsei variable here? Since it is used only in one place, and there's no dedicated bvci variable either. https://gerrit.osmocom.org/#/c/13204/3/src/gb/gprs_bssgp_util.c File src/gb/gprs_bssgp_util.c: https://gerrit.osmocom.org/#/c/13204/3/src/gb/gprs_bssgp_util.c at 240 PS3, Line 240: nsei same here -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 26 Mar 2019 14:51:55 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:54:57 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:54:57 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Max, Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13415 to look at the new patch set (#7). Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Add osmocom-build-old-tags-against-master.sh Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. Redirect each build's output to its own log file, so it is easy to see what is currently getting build, and what failed. On error, print the end of the new failing build logs, along with a note to find the full logs in the jenkins artifacts. This initial configuration builds the last three release tags of the Osmocom repositories against master. The configuration can be changed easily. Indicate known failures with "err" instead of "ERR" in the output, do not cause them to fail the build and do not print the beginning of the error log (it is still in the artifacts). This way, new errors stand out and don't get overlooked among the known errors. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 --- M .gitignore A scripts/osmocom-build-old-tags-against-master.sh 2 files changed, 234 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/13415/7 -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:55:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 14:55:07 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/#/c/13415/6/scripts/osmocom-build-old-tags-against-master.sh File scripts/osmocom-build-old-tags-against-master.sh: https://gerrit.osmocom.org/#/c/13415/6/scripts/osmocom-build-old-tags-against-master.sh at 5 PS6, Line 5: > Btw, is there stable URL which could use instead of https://jenkins.osmocom. [?] Done -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:55:07 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 14:56:12 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Tue, 26 Mar 2019 14:56:12 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 14:56:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 15:16:26 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 15:16:26 +0000 Subject: Change in osmo-pcu[master]: Add ARQ type helpers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13406 ) Change subject: Add ARQ type helpers ...................................................................... Patch Set 3: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/13406/3/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13406/3/src/coding_scheme.c at 177 PS3, Line 177: char *egprs_arq_type_name(const struct gprs_rlcmac_bts *bts) "const char *"? https://gerrit.osmocom.org/#/c/13406/3/src/pcu_vty.c File src/pcu_vty.c: https://gerrit.osmocom.org/#/c/13406/3/src/pcu_vty.c at 222 PS3, Line 222: if (egprs_arq_type_2(bts)) Just being curious: what's the advantage of using a function here? The previous statement is shorter and one less function to maintain, so I'm wondering. -- To view, visit https://gerrit.osmocom.org/13406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 Gerrit-Change-Number: 13406 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 15:16:26 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 15:32:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 15:32:34 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 15:32:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 15:34:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 Mar 2019 15:34:28 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/#/c/13057/8/src/pcu_main.cpp File src/pcu_main.cpp: https://gerrit.osmocom.org/#/c/13057/8/src/pcu_main.cpp at 264 PS8, Line 264: * can also be configured through VTY consider mentioning the VTY option here, since it isn't obvious from the variable name anymore. -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 15:34:28 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 16:15:44 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 26 Mar 2019 16:15:44 +0000 Subject: Change in osmo-bsc[master]: nanobts: use libosmocore's osmo_store*() for OML attr. patching In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13418 ) Change subject: nanobts: use libosmocore's osmo_store*() for OML attr. patching ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c File src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c: https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c at 202 PS1, Line 202: buf[0] = bts->gprs.nsvc[0].nsvci >> 8; Aren't these 2 lines assuming the code runs on a little endian system? afaiu it converts nsvci to big endian to store it in the message, but that's wrong on BE system. I think we need here something like this: osmo_store16be(&bts->gprs.nsvc[0].nsvci, &buf[0]) Or maybe specs just expect something special? https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c at 207 PS1, Line 207: osmo_store16be(bts->gprs.nsvc[0].remote_port, &buf[0]); Be careful, you are changing the result/encoding here. Either before there was a bug or you are introducing it now. In any of the cases, please describe and state so in the commit log. Before it used to memcpy, and now you are mangling what you store on little endian systems, so there's a change. -- To view, visit https://gerrit.osmocom.org/13418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a Gerrit-Change-Number: 13418 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 16:15:44 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 16:17:26 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 26 Mar 2019 16:17:26 +0000 Subject: Change in osmo-bts[master]: contrib: Remove deprecated screen script helpers Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13423 Change subject: contrib: Remove deprecated screen script helpers ...................................................................... contrib: Remove deprecated screen script helpers Nowadays only known users (OE images) use systemd and don't require this kind of screen setup. In any case, this kind of file belongs to scpeific setup and are not needed here. Change-Id: I65b0eee44336e4627620443861092b8988f2e01d --- M Makefile.am D contrib/l1fwd.init D contrib/respawn-only.sh D contrib/respawn.sh D contrib/screenrc-l1fwd D contrib/screenrc-sysmobts 6 files changed, 1 insertion(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/23/13423/1 diff --git a/Makefile.am b/Makefile.am index e403f5e..62bad69 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,8 +5,7 @@ # package the contrib and doc EXTRA_DIST = \ - contrib/dump_docs.py contrib/screenrc-l1fwd \ - contrib/l1fwd.init contrib/screenrc-sysmobts contrib/respawn.sh \ + contrib/dump_docs.py \ git-version-gen .version \ README.md diff --git a/contrib/l1fwd.init b/contrib/l1fwd.init deleted file mode 100755 index b228580..0000000 --- a/contrib/l1fwd.init +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: l1fwd -# Required-Start: -# Required-Stop: $local_fs -# Default-Start: 5 -# Default-Stop: 0 6 -# Short-Description: Start screen session with l1fwd software -# Description: -### END INIT INFO - -. /etc/default/rcS - -case "$1" in - start) - /usr/bin/screen -d -m -c /etc/osmocom/screenrc-l1fwd - ;; - stop) - echo "This script doesn't support stop" - exit 1 - ;; - restart|reload|force-reload) - exit 0 - ;; - show) - ;; - *) - echo "Usage: sysmobts {start|stop|show|reload|restart}" >&2 - exit 1 - ;; -esac diff --git a/contrib/respawn-only.sh b/contrib/respawn-only.sh deleted file mode 100755 index 478abd6..0000000 --- a/contrib/respawn-only.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -PID=$$ -echo "-1000" > /proc/$PID/oom_score_adj - -trap "{ kill 0; kill -2 0; }" EXIT - -while [ -f $1 ]; do - (echo "0" > /proc/self/oom_score_adj && exec nice -n -20 $*) & - LAST_PID=$! - wait $LAST_PID - sleep 10s -done diff --git a/contrib/respawn.sh b/contrib/respawn.sh deleted file mode 100755 index 196edad..0000000 --- a/contrib/respawn.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -PID=$$ -echo "-1000" > /proc/$PID/oom_score_adj - -trap "kill 0" EXIT - -while [ -e /etc/passwd ]; do - cat /lib/firmware/sysmobts-v?.bit > /dev/fpgadl_par0 - sleep 2s - cat /lib/firmware/sysmobts-v?.out > /dev/dspdl_dm644x_0 - sleep 1s - echo "0" > /sys/class/leds/activity_led/brightness - (echo "0" > /proc/self/oom_score_adj && exec nice -n -20 $*) & - LAST_PID=$! - wait $LAST_PID - sleep 10s -done diff --git a/contrib/screenrc-l1fwd b/contrib/screenrc-l1fwd deleted file mode 100644 index 4256a38..0000000 --- a/contrib/screenrc-l1fwd +++ /dev/null @@ -1,3 +0,0 @@ -chdir /tmp -screen -t BTS 0 /etc/osmocom/respawn.sh /usr/bin/l1fwd-proxy -detach diff --git a/contrib/screenrc-sysmobts b/contrib/screenrc-sysmobts deleted file mode 100644 index 9c810d9..0000000 --- a/contrib/screenrc-sysmobts +++ /dev/null @@ -1,5 +0,0 @@ -chdir /tmp -screen -t BTS 0 /etc/osmocom/respawn.sh /usr/bin/osmo-bts-sysmo -c /etc/osmocom/osmo-bts.cfg -r 1 -M -screen -t PCU 1 /etc/osmocom/respawn-only.sh /usr/bin/osmo-pcu -c /etc/osmocom/osmo-pcu.cfg -e -screen -t MGR 2 /etc/osmocom/respawn-only.sh /usr/bin/sysmobts-mgr -n -c /etc/osmocom/sysmobts-mgr.cfg -detach -- To view, visit https://gerrit.osmocom.org/13423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I65b0eee44336e4627620443861092b8988f2e01d Gerrit-Change-Number: 13423 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 17:43:09 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 Mar 2019 17:43:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: execute S15-S0 related tests only on AoIP Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/13424 Change subject: BSC_Tests: execute S15-S0 related tests only on AoIP ...................................................................... BSC_Tests: execute S15-S0 related tests only on AoIP Make sure that the S15-S0 related testcases are only executed when AoIP is used as transport. Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Related: OS#3864 --- M bsc/BSC_Tests.ttcn 1 file changed, 20 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/13424/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 659b3f6..1e89cf3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3958,23 +3958,26 @@ execute( TC_assignment_codec_efr() ); execute( TC_assignment_codec_amr_f() ); execute( TC_assignment_codec_amr_h() ); - execute( TC_assignment_codec_amr_f_S1() ); - execute( TC_assignment_codec_amr_h_S1() ); - execute( TC_assignment_codec_amr_f_S124() ); - execute( TC_assignment_codec_amr_h_S124() ); - execute( TC_assignment_codec_amr_f_S0() ); - execute( TC_assignment_codec_amr_f_S02() ); - execute( TC_assignment_codec_amr_f_S024() ); - execute( TC_assignment_codec_amr_f_S0247() ); - execute( TC_assignment_codec_amr_h_S0() ); - execute( TC_assignment_codec_amr_h_S02() ); - execute( TC_assignment_codec_amr_h_S024() ); - execute( TC_assignment_codec_amr_h_S0247() ); - execute( TC_assignment_codec_amr_f_S01234567() ); - execute( TC_assignment_codec_amr_f_S0234567() ); - execute( TC_assignment_codec_amr_f_zero() ); - execute( TC_assignment_codec_amr_f_unsupp() ); - execute( TC_assignment_codec_amr_h_S7() ); + + if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { + execute( TC_assignment_codec_amr_f_S1() ); + execute( TC_assignment_codec_amr_h_S1() ); + execute( TC_assignment_codec_amr_f_S124() ); + execute( TC_assignment_codec_amr_h_S124() ); + execute( TC_assignment_codec_amr_f_S0() ); + execute( TC_assignment_codec_amr_f_S02() ); + execute( TC_assignment_codec_amr_f_S024() ); + execute( TC_assignment_codec_amr_f_S0247() ); + execute( TC_assignment_codec_amr_h_S0() ); + execute( TC_assignment_codec_amr_h_S02() ); + execute( TC_assignment_codec_amr_h_S024() ); + execute( TC_assignment_codec_amr_h_S0247() ); + execute( TC_assignment_codec_amr_f_S01234567() ); + execute( TC_assignment_codec_amr_f_S0234567() ); + execute( TC_assignment_codec_amr_f_zero() ); + execute( TC_assignment_codec_amr_f_unsupp() ); + execute( TC_assignment_codec_amr_h_S7() ); + } execute( TC_assignment_codec_fr_exhausted_req_hr() ); execute( TC_assignment_codec_fr_exhausted_req_fr() ); -- To view, visit https://gerrit.osmocom.org/13424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Gerrit-Change-Number: 13424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 18:35:02 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 26 Mar 2019 18:35:02 +0000 Subject: Change in osmo-pcu[master]: vty: add commands to show TBF of a certain kind In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/6239 ) Change subject: vty: add commands to show TBF of a certain kind ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/6239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I80f8df4fe663a0346f4289a4220b761e39726312 Gerrit-Change-Number: 6239 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 18:35:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 18:36:37 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 26 Mar 2019 18:36:37 +0000 Subject: Change in osmo-pcu[master]: cosmetic: use const pointer for bts_data In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/12246 ) Change subject: cosmetic: use const pointer for bts_data ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/12246/3/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/#/c/12246/3/src/tbf_ul.cpp at 598 PS3, Line 598: LOGPTBFUL(this, LOGL_INFO, "setting EGPRS UL window size to %u, base(%u) slots(%u) ws_pdch(%u)\n", Add empty line here please -- To view, visit https://gerrit.osmocom.org/12246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icfd9e5603a5d8701f487f17e9c0335d458e9e80b Gerrit-Change-Number: 12246 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 18:36:37 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 19:27:35 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 26 Mar 2019 19:27:35 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13214 ) Change subject: MCS: add mcs_is_*() helpers ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 26 Mar 2019 19:27:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 26 19:30:15 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Tue, 26 Mar 2019 19:30:15 +0000 Subject: Change in osmo-pcu[master]: MCS: add Channel Coding Command encoder In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13215 ) Change subject: MCS: add Channel Coding Command encoder ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/#/c/13215/6/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/#/c/13215/6/tests/tbf/TbfTest.cpp at 2740 PS6, Line 2740: OSMO_ASSERT(mcs_chan_code(tbf->m_rlc.block(bsn)->cs_current_trans) == cs - 1); \ This new check looks really cryptic, at least it deserves come comment. -- To view, visit https://gerrit.osmocom.org/13215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d Gerrit-Change-Number: 13215 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 26 Mar 2019 19:30:15 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 06:57:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 06:57:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: execute S15-S0 related tests only on AoIP In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13424 ) Change subject: BSC_Tests: execute S15-S0 related tests only on AoIP ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Gerrit-Change-Number: 13424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 06:57:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 06:57:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 06:57:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: execute S15-S0 related tests only on AoIP In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13424 ) Change subject: BSC_Tests: execute S15-S0 related tests only on AoIP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Gerrit-Change-Number: 13424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 06:57:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 06:58:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 06:58:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: execute S15-S0 related tests only on AoIP In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13424 ) Change subject: BSC_Tests: execute S15-S0 related tests only on AoIP ...................................................................... Patch Set 1: I think it's rather trivial so let's merge it directly and see how far we get with it. -- To view, visit https://gerrit.osmocom.org/13424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Gerrit-Change-Number: 13424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 06:58:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 06:58:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 06:58:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13350 ) Change subject: bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml ...................................................................... bsc: add TC_chan_rel_hard_clear_csfb to expected-results.xml The testcase TC_chan_rel_hard_clear_csfb is missing from the expected-results.xml. Lets add it. Change-Id: I087e6715364f72944cb47fa64d96eab6538afda5 --- M bsc/expected-results.xml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index f9de543..33bf677 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -14,6 +14,7 @@ + -- To view, visit https://gerrit.osmocom.org/13350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I087e6715364f72944cb47fa64d96eab6538afda5 Gerrit-Change-Number: 13350 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:01:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:01:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13351 ) Change subject: MSC_Tests: add testcase TC_sgsap_impl_imsi_det_noneps ...................................................................... Patch Set 2: -Code-Review (1 comment) let's adress the FIXME first. Implementing this in a re-usable function seems very useful even for other detach-related tests. https://gerrit.osmocom.org/#/c/13351/2/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/#/c/13351/2/msc/MSC_Tests.ttcn at 3850 PS2, Line 3850: /* FIXME: How to verify that VLR has removed MM context? * you could attempt a CM SERVIC REQUEST by TMSI. If it fails with "CM SERVICE REJECT / SUBSCRIBER UNKNOWN IN VLR" you know it was removed. There might also be ways to use GSUP (e.g. try to deliver a SMS or Network-originated USSD) or MNCC in a similar way. Finally, you could use the vty ("show subscriber cache") but the VtY interface is probably th least stable. -- To view, visit https://gerrit.osmocom.org/13351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I76049e6717680c54c18f97b7cd51944901a81ae7 Gerrit-Change-Number: 13351 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 07:01:02 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:02:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:02:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC_Tests: execute S15-S0 related tests only on AoIP In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13424 ) Change subject: BSC_Tests: execute S15-S0 related tests only on AoIP ...................................................................... BSC_Tests: execute S15-S0 related tests only on AoIP Make sure that the S15-S0 related testcases are only executed when AoIP is used as transport. Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Related: OS#3864 --- M bsc/BSC_Tests.ttcn 1 file changed, 20 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 659b3f6..1e89cf3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3958,23 +3958,26 @@ execute( TC_assignment_codec_efr() ); execute( TC_assignment_codec_amr_f() ); execute( TC_assignment_codec_amr_h() ); - execute( TC_assignment_codec_amr_f_S1() ); - execute( TC_assignment_codec_amr_h_S1() ); - execute( TC_assignment_codec_amr_f_S124() ); - execute( TC_assignment_codec_amr_h_S124() ); - execute( TC_assignment_codec_amr_f_S0() ); - execute( TC_assignment_codec_amr_f_S02() ); - execute( TC_assignment_codec_amr_f_S024() ); - execute( TC_assignment_codec_amr_f_S0247() ); - execute( TC_assignment_codec_amr_h_S0() ); - execute( TC_assignment_codec_amr_h_S02() ); - execute( TC_assignment_codec_amr_h_S024() ); - execute( TC_assignment_codec_amr_h_S0247() ); - execute( TC_assignment_codec_amr_f_S01234567() ); - execute( TC_assignment_codec_amr_f_S0234567() ); - execute( TC_assignment_codec_amr_f_zero() ); - execute( TC_assignment_codec_amr_f_unsupp() ); - execute( TC_assignment_codec_amr_h_S7() ); + + if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) { + execute( TC_assignment_codec_amr_f_S1() ); + execute( TC_assignment_codec_amr_h_S1() ); + execute( TC_assignment_codec_amr_f_S124() ); + execute( TC_assignment_codec_amr_h_S124() ); + execute( TC_assignment_codec_amr_f_S0() ); + execute( TC_assignment_codec_amr_f_S02() ); + execute( TC_assignment_codec_amr_f_S024() ); + execute( TC_assignment_codec_amr_f_S0247() ); + execute( TC_assignment_codec_amr_h_S0() ); + execute( TC_assignment_codec_amr_h_S02() ); + execute( TC_assignment_codec_amr_h_S024() ); + execute( TC_assignment_codec_amr_h_S0247() ); + execute( TC_assignment_codec_amr_f_S01234567() ); + execute( TC_assignment_codec_amr_f_S0234567() ); + execute( TC_assignment_codec_amr_f_zero() ); + execute( TC_assignment_codec_amr_f_unsupp() ); + execute( TC_assignment_codec_amr_h_S7() ); + } execute( TC_assignment_codec_fr_exhausted_req_hr() ); execute( TC_assignment_codec_fr_exhausted_req_fr() ); -- To view, visit https://gerrit.osmocom.org/13424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I62d51bbe4b1f089ded6c271b68414a4a37d509d8 Gerrit-Change-Number: 13424 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:02:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:02:53 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13214 ) Change subject: MCS: add mcs_is_*() helpers ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 07:02:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:02:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:02:55 +0000 Subject: Change in osmo-pcu[master]: MCS: add mcs_is_*() helpers In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13214 ) Change subject: MCS: add mcs_is_*() helpers ...................................................................... MCS: add mcs_is_*() helpers In preparation for Channel Coding Command encoder in follow-up patches let's add necessary helpers. Those are similar to previously used helpers from GprsCodingScheme class but without CamelCase and with less typo chances between Gprs and Egprs cases. Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e --- M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/encoding.cpp M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp 12 files changed, 65 insertions(+), 45 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 135ddd2..4a5d0d4 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -46,6 +46,24 @@ return get_value_string(mcs_names, val); } +bool mcs_is_gprs(enum CodingScheme cs) +{ + return CS1 <= cs && cs <= CS4; +} + +bool mcs_is_edge(enum CodingScheme cs) +{ + return MCS1 <= cs && cs <= MCS9; +} + +bool mcs_is_edge_gmsk(enum CodingScheme cs) +{ + if (mcs_is_edge(cs)) + return cs <= MCS4; + + return false; +} + static struct { struct { uint8_t data_header_bits; diff --git a/src/coding_scheme.h b/src/coding_scheme.h index f69a76e..3a9ef25 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -33,6 +33,10 @@ extern const struct value_string mcs_names[]; const char *mcs_name(enum CodingScheme val); +bool mcs_is_gprs(enum CodingScheme cs); +bool mcs_is_edge(enum CodingScheme cs); +bool mcs_is_edge_gmsk(enum CodingScheme cs); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, diff --git a/src/decoding.cpp b/src/decoding.cpp index 1473ff7..d439e30 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -215,7 +215,7 @@ "but no more chunks possible\n"); return -ENOSPC; } - } else if (cs.isEgprs()) { + } else if (mcs_is_edge(cs)) { /* if E is not set (LI follows), EGPRS */ num_chunks = parse_extensions_egprs(data, data_len, &offs, is_last_block, @@ -240,7 +240,7 @@ } memcpy(&tlli_enc, data + offs, sizeof(tlli_enc)); - if (cs.isGprs()) + if (mcs_is_gprs(cs)) /* The TLLI is encoded in big endian for GPRS (see * TS 44.060, figure 10.2.2.1, note) */ *tlli = be32toh(tlli_enc); diff --git a/src/encoding.cpp b/src/encoding.cpp index e21a7fc..9920b46 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1605,12 +1605,12 @@ gprs_llc *llc, int *offset, int *num_chunks, uint8_t *data_block, bool is_final, int *count_payload) { - if (cs.isGprs()) + if (mcs_is_gprs(cs)) return rlc_data_to_dl_append_gprs(rdbi, llc, offset, num_chunks, data_block, is_final, count_payload); - if (cs.isEgprs()) + if (mcs_is_edge(cs)) return rlc_data_to_dl_append_egprs(rdbi, llc, offset, num_chunks, data_block, is_final, count_payload); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index 1a89b77..8e6593b 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -228,10 +228,10 @@ void GprsCodingScheme::inc() { - if (isGprs() && m_scheme == CS4) + if (mcs_is_gprs(m_scheme) && m_scheme == CS4) return; - if (isEgprs() && m_scheme == MCS9) + if (mcs_is_edge(m_scheme) && m_scheme == MCS9) return; if (!isValid()) @@ -242,10 +242,10 @@ void GprsCodingScheme::dec() { - if (isGprs() && m_scheme == CS1) + if (mcs_is_gprs(m_scheme) && m_scheme == CS1) return; - if (isEgprs() && m_scheme == MCS1) + if (mcs_is_edge(m_scheme) && m_scheme == MCS1) return; if (!isValid()) diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 6f965d6..728ffd6 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -45,9 +45,7 @@ GprsCodingScheme& operator =(GprsCodingScheme o); bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;} - bool isGprs() const {return CS1 <= m_scheme && m_scheme <= CS4;} - bool isEgprs() const {return m_scheme >= MCS1;} - bool isEgprsGmsk() const {return isEgprs() && m_scheme <= MCS4;} + bool isCompatible(enum mcs_kind mode) const; bool isCompatible(GprsCodingScheme o) const; bool isFamilyCompatible(GprsCodingScheme o) const; @@ -86,10 +84,10 @@ inline uint8_t GprsCodingScheme::to_num() const { - if (isGprs()) + if (mcs_is_gprs(m_scheme)) return (m_scheme - CS1) + 1; - if (isEgprs()) + if (mcs_is_edge(m_scheme)) return (m_scheme - MCS1) + 1; return 0; @@ -98,9 +96,9 @@ inline bool GprsCodingScheme::isCompatible(enum mcs_kind mode) const { switch (mode) { - case GPRS: return isGprs(); - case EGPRS_GMSK: return isEgprsGmsk(); - case EGPRS: return isEgprs(); + case GPRS: return mcs_is_gprs(m_scheme); + case EGPRS_GMSK: return mcs_is_edge_gmsk(m_scheme); + case EGPRS: return mcs_is_edge(m_scheme); } return false; @@ -108,7 +106,7 @@ inline bool GprsCodingScheme::isCompatible(GprsCodingScheme o) const { - return (isGprs() && o.isGprs()) || (isEgprs() && o.isEgprs()); + return (mcs_is_gprs(m_scheme) && mcs_is_gprs(o)) || (mcs_is_edge(m_scheme) && mcs_is_edge(o)); } inline GprsCodingScheme::GprsCodingScheme(CodingScheme s) diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index e64bee4..f8f6227 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -222,13 +222,13 @@ switch (m_mode) { case GPRS: - if (!m_current_cs_ul.isGprs()) { + if (!mcs_is_gprs(m_current_cs_ul)) { m_current_cs_ul = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_ul); if (!m_current_cs_ul.isValid()) m_current_cs_ul = CS1; } - if (!m_current_cs_dl.isGprs()) { + if (!mcs_is_gprs(m_current_cs_dl)) { m_current_cs_dl = GprsCodingScheme::getGprsByNum( m_bts->bts_data()->initial_cs_dl); if (!m_current_cs_dl.isValid()) @@ -238,13 +238,13 @@ case EGPRS_GMSK: case EGPRS: - if (!m_current_cs_ul.isEgprs()) { + if (!mcs_is_edge(m_current_cs_ul)) { m_current_cs_ul = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_ul); if (!m_current_cs_ul.isValid()) m_current_cs_ul = MCS1; } - if (!m_current_cs_dl.isEgprs()) { + if (!mcs_is_edge(m_current_cs_dl)) { m_current_cs_dl = GprsCodingScheme::getEgprsByNum( m_bts->bts_data()->initial_mcs_dl); if (!m_current_cs_dl.isValid()) @@ -564,14 +564,14 @@ OSMO_ASSERT(m_bts != NULL); bts_data = m_bts->bts_data(); - if (m_current_cs_ul.isGprs()) { + if (mcs_is_gprs(m_current_cs_ul)) { if (!bts_data->max_cs_ul) return GprsCodingScheme(CS4); return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul); } - if (!m_current_cs_ul.isEgprs()) + if (!mcs_is_edge(m_current_cs_ul)) return GprsCodingScheme(); /* UNKNOWN */ if (bts_data->max_mcs_ul) @@ -594,14 +594,14 @@ OSMO_ASSERT(m_bts != NULL); bts_data = m_bts->bts_data(); - if (m_current_cs_dl.isGprs()) { + if (mcs_is_gprs(m_current_cs_dl)) { if (!bts_data->max_cs_dl) return GprsCodingScheme(CS4); return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl); } - if (!m_current_cs_dl.isEgprs()) + if (!mcs_is_edge(m_current_cs_dl)) return GprsCodingScheme(); /* UNKNOWN */ if (bts_data->max_mcs_dl) @@ -650,12 +650,12 @@ old_link_qual = meas->link_qual; - if (m_current_cs_ul.isGprs()) { + if (mcs_is_gprs(m_current_cs_ul)) { if (current_cs_num > MAX_GPRS_CS) current_cs_num = MAX_GPRS_CS; low = bts_data->cs_lqual_ranges[current_cs_num-1].low; high = bts_data->cs_lqual_ranges[current_cs_num-1].high; - } else if (m_current_cs_ul.isEgprs()) { + } else if (mcs_is_edge(m_current_cs_ul)) { if (current_cs_num > MAX_EDGE_MCS) current_cs_num = MAX_EDGE_MCS; low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; diff --git a/src/pdch.cpp b/src/pdch.cpp index c6c677c..8003105 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -741,10 +741,10 @@ LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); - if (cs.isGprs()) + if (mcs_is_gprs(cs)) return rcv_block_gprs(data, len, fn, meas, cs); - if (cs.isEgprs()) + if (mcs_is_edge(cs)) return rcv_data_block(data, len, fn, meas, cs); bts()->decode_error(); @@ -765,7 +765,7 @@ /* These are always data blocks, since EGPRS still uses CS-1 for * control blocks (see 44.060, section 10.3, 1st par.) */ - if (cs.isEgprs()) { + if (mcs_is_edge(cs)) { if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", diff --git a/src/tbf.cpp b/src/tbf.cpp index 3d9b5c4..dc90dbb 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -952,8 +952,8 @@ static void setup_egprs_mode(gprs_rlcmac_bts *bts, GprsMs *ms) { - if (GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul).isEgprsGmsk() && - GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl).isEgprsGmsk() && + if (mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul)) && + mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl)) && ms->mode() != EGPRS) { ms->set_mode(EGPRS_GMSK); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index c276b3a..13ef143 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -363,7 +363,7 @@ if (previous_bsn >= 0) { force_cs = m_rlc.block(previous_bsn)->cs_current_trans; - if (!force_cs.isEgprs()) + if (!mcs_is_edge(force_cs)) return -1; force_data_len = m_rlc.block(previous_bsn)->len; } @@ -765,7 +765,7 @@ m_rlc.block(bsn)->next_ps, m_rlc.block(bsn)->cs_last, cs, spb); - if (cs.isEgprs()) { + if (mcs_is_edge(cs)) { OSMO_ASSERT(m_rlc.block(bsn)->next_ps >= EGPRS_PS_1); OSMO_ASSERT(m_rlc.block(bsn)->next_ps <= EGPRS_PS_3); } @@ -812,7 +812,7 @@ } /* Calculate CPS only for EGPRS case */ - if (cs.isEgprs()) + if (mcs_is_edge(cs)) rlc.cps = gprs_rlc_mcs_cps(cs, punct[0], punct[1], need_padding); /* If the TBF has just started, relate frames_since_last_poll to the @@ -1369,7 +1369,7 @@ uint8_t coding_scheme = 0; coding_scheme = CodingScheme(cs); - if (cs.isGprs()) { + if (mcs_is_gprs(cs)) { switch (coding_scheme) { case CS1 : bts->gprs_dl_cs1(); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 0bf5765..f40ec3d 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -530,7 +530,7 @@ uint8_t coding_scheme = 0; coding_scheme = CodingScheme(cs); - if (cs.isGprs()) { + if (mcs_is_gprs(cs)) { switch (coding_scheme) { case CS1 : bts->gprs_ul_cs1(); diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index b902806..f124b76 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -59,14 +59,14 @@ /* Check static getBySizeUL() */ expected_size = cs.usedSizeUL(); - if (cs.spareBitsUL() > 0 && cs.isGprs()) + if (cs.spareBitsUL() > 0 && mcs_is_gprs(cs)) expected_size += 1; OSMO_ASSERT(expected_size == cs.sizeUL()); OSMO_ASSERT(cs == GprsCodingScheme::getBySizeUL(expected_size)); /* Check static sizeUL() */ expected_size = cs.usedSizeDL(); - if (cs.spareBitsDL() > 0 && cs.isGprs()) + if (cs.spareBitsDL() > 0 && mcs_is_gprs(cs)) expected_size += 1; OSMO_ASSERT(expected_size == cs.sizeDL()); @@ -157,9 +157,9 @@ for (i = 0; i < ARRAY_SIZE(gprs_schemes); i++) { GprsCodingScheme current_cs(gprs_schemes[i]); - OSMO_ASSERT(current_cs.isGprs()); - OSMO_ASSERT(!current_cs.isEgprs()); - OSMO_ASSERT(!current_cs.isEgprsGmsk()); + OSMO_ASSERT(mcs_is_gprs(current_cs)); + OSMO_ASSERT(!mcs_is_edge(current_cs)); + OSMO_ASSERT(!mcs_is_edge_gmsk(current_cs)); OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]); OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i])); @@ -179,9 +179,9 @@ for (i = 0; i < ARRAY_SIZE(egprs_schemes); i++) { GprsCodingScheme current_cs(egprs_schemes[i].s); - OSMO_ASSERT(!current_cs.isGprs()); - OSMO_ASSERT(current_cs.isEgprs()); - OSMO_ASSERT(!!current_cs.isEgprsGmsk() == !!egprs_schemes[i].is_gmsk); + OSMO_ASSERT(!mcs_is_gprs(current_cs)); + OSMO_ASSERT(mcs_is_edge(current_cs)); + OSMO_ASSERT(mcs_is_edge_gmsk(current_cs) == !!egprs_schemes[i].is_gmsk); OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s); OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s)); -- To view, visit https://gerrit.osmocom.org/13214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e Gerrit-Change-Number: 13214 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:05:03 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 07:05:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:06:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:06:15 +0000 Subject: Change in osmo-bts[master]: contrib: Remove deprecated screen script helpers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13423 ) Change subject: contrib: Remove deprecated screen script helpers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65b0eee44336e4627620443861092b8988f2e01d Gerrit-Change-Number: 13423 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 07:06:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:09:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:09:24 +0000 Subject: Change in osmo-bsc[master]: nanobts: use libosmocore's osmo_store*() for OML attr. patching In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13418 ) Change subject: nanobts: use libosmocore's osmo_store*() for OML attr. patching ...................................................................... Patch Set 1: Code-Review+2 (2 comments) https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c File src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c: https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c at 202 PS1, Line 202: buf[0] = bts->gprs.nsvc[0].nsvci >> 8; > Aren't these 2 lines assuming the code runs on a little endian system? afaiu it converts nsvci to bi [?] your assessment appears correct. This should be fixed in an independent patch/fix. https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c at 207 PS1, Line 207: osmo_store16be(bts->gprs.nsvc[0].remote_port, &buf[0]); > Be careful, you are changing the result/encoding here. [?] but the previous patch_16/32() always had a htons/htonl inside, so I think for this line and the two instances below for remoote ip and local udp port are functionally equivalent, AFAICT. -- To view, visit https://gerrit.osmocom.org/13418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a Gerrit-Change-Number: 13418 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:09:24 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:11:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:11:33 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... Patch Set 3: Agreeing with osmith here. As Max is leaving sysmocom, assignign this to osmith so he can remove the hunks related to the two "single use" instances. Thanks! -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 27 Mar 2019 07:11:33 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:13:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:13:35 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: move functions to common.sh In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13412 ) Change subject: osmocom-list-commits.sh: move functions to common.sh ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 Gerrit-Change-Number: 13412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:13:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:13:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:13:53 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: cd into subdir before building In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13413 ) Change subject: osmo-build-dep.sh: cd into subdir before building ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca Gerrit-Change-Number: 13413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:13:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:14:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:14:05 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: run 'make check' when CHECK=1 In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13414 ) Change subject: osmo-build-dep.sh: run 'make check' when CHECK=1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de Gerrit-Change-Number: 13414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:14:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:14:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:14:48 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 07:14:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:15:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:15:00 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13416 ) Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:15:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:19:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:19:16 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 5: As it is likely that we'll have more fine-grained control over LCLS in the future, I think the naming should reflect that. Maybe rather introduce something called "lcls-mode (disable|enable-all)" which could later be extended with other options. In the end we will have to introduce some MNCC based signaling for it, etc. -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 07:19:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:22:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:22:25 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13363 ) Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 07:22:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:23:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:23:38 +0000 Subject: Change in pysim[master]: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT an... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13340 ) Change subject: cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13340/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/#/c/13340/2/pySim/cards.py at 540 PS2, Line 540: self._scc.sel_ctrl = "0004" #request an FCP > During my tests it did not break anything. [?] Daniel's point remains: You're first setting the variable to 000C and then overwriting it with 0004. Just remove the first [bogus] assignment for cleanliness. Thanks! -- To view, visit https://gerrit.osmocom.org/13340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0cac3041f1902383d98d6dc211cf31ae6e3a610b Gerrit-Change-Number: 13340 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: K?vin Redon Gerrit-Reviewer: dexter Gerrit-CC: Max Gerrit-Comment-Date: Wed, 27 Mar 2019 07:23:38 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:27:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:27:13 +0000 Subject: Change in pysim[master]: sysmo-usim-sjs1: update EF.AD with correct MNC length In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13366 ) Change subject: sysmo-usim-sjs1: update EF.AD with correct MNC length ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/#/c/13366/3/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/#/c/13366/3/pySim/cards.py at 121 PS3, Line 121: def update_ad(self, mnc): so this is part of the generic "card" class... https://gerrit.osmocom.org/#/c/13366/3/pySim/cards.py at 603 PS3, Line 603: # EF.AD but it's used only from the sysmoUSIM-SJS1 specicic code. However, the other cards likely have exactly the same problem. I hope there's nothing card-model specific about writing EF.AD (a standard file) and hence I would assume we can simply make this common to all card typeS? If there are cards where writing the file is not allowed, then we have to at least copy this block to all cards that do support it. -- To view, visit https://gerrit.osmocom.org/13366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I827092b2c7f7952f54b2d9f8dbda419a0dbfaf65 Gerrit-Change-Number: 13366 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 07:27:13 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:31:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:31:30 +0000 Subject: Change in libosmocore[master]: add osmo_use_count API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13121 ) Change subject: add osmo_use_count API ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0 Gerrit-Change-Number: 13121 Gerrit-PatchSet: 7 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Max Gerrit-Comment-Date: Wed, 27 Mar 2019 07:31:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:32:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:32:25 +0000 Subject: Change in libosmocore[master]: add fsm_dealloc_test.c In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13391 ) Change subject: add fsm_dealloc_test.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If801907c541bca9f524c9e5fd22ac280ca16979a Gerrit-Change-Number: 13391 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 07:32:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:36:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:36:47 +0000 Subject: Change in libosmocore[master]: fsm: support graceful osmo_fsm_inst_term() cascades In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13392 ) Change subject: fsm: support graceful osmo_fsm_inst_term() cascades ...................................................................... Patch Set 4: (4 comments) https://gerrit.osmocom.org/#/c/13392/4//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13392/4//COMMIT_MSG at 33 PS4, Line 33: Note: at least osmo-msc's msc_vlr_tests' expected output needs to be adjusted : after merging this, because of logging changes for FSM deallocations this is *very* bad. Is there any way we can avoid this? https://gerrit.osmocom.org/#/c/13392/4//COMMIT_MSG at 36 PS4, Line 36: This patch's mechanism is not thread safe. It might be made thread safe : if the new global variable osmo_fsm_inst_terminating_root were handled : per-thread instead of once globally. please mark the related global variables as __thread right away. It doesn't cost us anything, AFAIK. https://gerrit.osmocom.org/#/c/13392/4/include/osmocom/core/fsm.h File include/osmocom/core/fsm.h: https://gerrit.osmocom.org/#/c/13392/4/include/osmocom/core/fsm.h at 118 PS4, Line 118: bool terminating; as this breaks ABI, please add TODO-RELEASE entry. https://gerrit.osmocom.org/#/c/13392/4/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/#/c/13392/4/src/fsm.c at 397 PS4, Line 397: static int osmo_fsm_inst_terminating = 0; : static struct osmo_fsm_inst *osmo_fsm_inst_terminating_root = NULL; mark as __thread, possibly even put both in a struct and then have a "static __thread struct" for tidyness? -- To view, visit https://gerrit.osmocom.org/13392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8eda67540a1cd444491beb7856b9fcd0a3143b18 Gerrit-Change-Number: 13392 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 27 Mar 2019 07:36:47 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:38:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:38:13 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Patch Set 13: Code-Review+2 (2 comments) https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp at 615 PS13, Line 615: susp_req->tlli > As far as I can see, tlli is of type uint32_t, and we're using the network byte order on PCU interfa [?] The PCU interface is a local unix domain socket. We use native host byte order and no network byte order there. https://gerrit.osmocom.org/#/c/3384/13/src/pcu_l1_if.cpp at 620 PS13, Line 620: susp_req->tlli, > ... [?] no, there is no network byte order in any of this. -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 13 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 07:38:13 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:39:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:39:00 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Fix erroneous endian-swapping of the CellID In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13369 ) Change subject: pcu_l1_if: Fix erroneous endian-swapping of the CellID ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/13369/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/13369/1/src/pcu_l1_if.cpp at 447 PS1, Line 447: info_ind->cell_id > Don't we need to call ntohs() here? there is no network byte order on the Osmocom unix domain socket related protocols like PCUIF, MNCC, ... -- To view, visit https://gerrit.osmocom.org/13369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2f6cc930c5dbf8dac386b24b0756df2efe8199e4 Gerrit-Change-Number: 13369 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 27 Mar 2019 07:39:00 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:39:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:39:02 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if: Fix erroneous endian-swapping of the CellID In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13369 ) Change subject: pcu_l1_if: Fix erroneous endian-swapping of the CellID ...................................................................... pcu_l1_if: Fix erroneous endian-swapping of the CellID In Change-Id I787fed84a7b613158a5618dd5cffafe4e4927234 in February 2018 we accidentially introduced a change that would erroneously swap the endianness of the CellID on the way between PCUIF socket and BSGSP. This meant that all OsmoPCU based BTSs would report the wrong CellId to the SGSN. Closes: OS#3854 Change-Id: I2f6cc930c5dbf8dac386b24b0756df2efe8199e4 --- M src/pcu_l1_if.cpp 1 file changed, 2 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 27e86dd..b59f198 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -414,7 +414,6 @@ int rc = 0; unsigned int trx, ts; int i; - uint16_t cell_id = ntohs(info_ind->cell_id); if (info_ind->version != PCU_IF_VERSION) { fprintf(stderr, "PCU interface version number of BTS (%d) is " @@ -445,7 +444,7 @@ LOGP(DL1IF, LOGL_DEBUG, " mnc=%0*u\n", info_ind->mnc_3_digits, info_ind->mnc); LOGP(DL1IF, LOGL_DEBUG, " lac=%d\n", info_ind->lac); LOGP(DL1IF, LOGL_DEBUG, " rac=%d\n", info_ind->rac); - LOGP(DL1IF, LOGL_DEBUG, " cell_id=%d\n", cell_id); + LOGP(DL1IF, LOGL_DEBUG, " cell_id=%d\n", info_ind->cell_id); LOGP(DL1IF, LOGL_DEBUG, " bsic=%d\n", info_ind->bsic); LOGP(DL1IF, LOGL_DEBUG, " nsei=%d\n", info_ind->nsei); LOGP(DL1IF, LOGL_DEBUG, " nse_timer=%d %d %d %d %d %d %d\n", @@ -496,7 +495,7 @@ info_ind->remote_ip[0], info_ind->remote_port[0], info_ind->nsei, info_ind->nsvci[0], info_ind->bvci, info_ind->mcc, info_ind->mnc, info_ind->mnc_3_digits, info_ind->lac, info_ind->rac, - cell_id); + info_ind->cell_id); if (!pcu) { LOGP(DL1IF, LOGL_NOTICE, "SGSN not available\n"); goto bssgp_failed; -- To view, visit https://gerrit.osmocom.org/13369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2f6cc930c5dbf8dac386b24b0756df2efe8199e4 Gerrit-Change-Number: 13369 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:39:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:39:02 +0000 Subject: Change in osmo-pcu[master]: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/3384 ) Change subject: Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP ...................................................................... Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP As specified in 3GPP TS 03.60 Section 16.2.1 and 44.018 Section 3.4.15, a Class B MS is sending a "RR GPRS SUSPEND REQ" via a DCCH to the BTS if it wants to suspend GPRS services. As of Change-Id I3c1af662c8f0d3d22da200638480f6ef05c3ed1f, OsmoBTS forwards this via the PCU socket, so we need to pick it up and send it via BSSGP to the SGSN. Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Closes: OS#2249 --- M include/osmocom/pcu/pcuif_proto.h M src/pcu_l1_if.cpp 2 files changed, 28 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index b06077c..144fba6 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -12,6 +12,7 @@ #define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ +#define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -171,6 +172,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ +struct gsm_pcu_if_susp_req { + uint32_t tlli; + uint8_t ra_id[6]; + uint8_t cause; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -182,6 +190,7 @@ struct gsm_pcu_if_data data_cnf; struct gsm_pcu_if_data_cnf_dt data_cnf_dt; struct gsm_pcu_if_data data_ind; + struct gsm_pcu_if_susp_req susp_req; struct gsm_pcu_if_rts_req rts_req; struct gsm_pcu_if_rach_ind rach_ind; struct gsm_pcu_if_txt_ind txt_ind; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index b59f198..5cabe4f 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -604,6 +604,22 @@ pag_req->identity_lv); } +static int pcu_rx_susp_req(struct gsm_pcu_if_susp_req *susp_req) +{ + struct bssgp_bvc_ctx *bctx = gprs_bssgp_pcu_current_bctx(); + struct gprs_ra_id ra_id; + + gsm48_parse_ra(&ra_id, susp_req->ra_id); + + LOGP(DL1IF, LOGL_INFO, "GPRS Suspend request received: TLLI=0x%08x RAI=%s\n", + susp_req->tlli, osmo_rai_name(&ra_id)); + + if (!bctx) + return -1; + + return bssgp_tx_suspend(bctx->nsei, susp_req->tlli, &ra_id); +} + int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim) { int rc = 0; @@ -630,6 +646,9 @@ case PCU_IF_MSG_PAG_REQ: rc = pcu_rx_pag_req(&pcu_prim->u.pag_req); break; + case PCU_IF_MSG_SUSP_REQ: + rc = pcu_rx_susp_req(&pcu_prim->u.susp_req); + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknwon PCU msg type %d\n", msg_type); -- To view, visit https://gerrit.osmocom.org/3384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Gerrit-Change-Number: 3384 Gerrit-PatchSet: 14 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:39:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:39:03 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use named initializers and explicit array indicies In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13384 ) Change subject: gprs_debug: Use named initializers and explicit array indicies ...................................................................... gprs_debug: Use named initializers and explicit array indicies This is a much safe way, it allows for modifications of the debug subsystem enum member values without breakage. Also, the syntax introduced here is what we do in all other Osmocom CNI projects. Change-Id: I2be88586ca44b0b8361f96cf3c034c8459244c2c --- M src/gprs_debug.cpp 1 file changed, 99 insertions(+), 14 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index f1ae6ad..91933a2 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -1,6 +1,7 @@ /* gprs_debug.cpp * * Copyright (C) 2012 Ivan Klyuchnikov + * Copyright (C) 2019 Harald Welte * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -24,20 +25,104 @@ /* default categories */ static const struct log_info_cat default_categories[] = { - {"DCSN1", "\033[1;31m", "Concrete Syntax Notation One (CSN1)", LOGL_INFO, 0}, - {"DL1IF", "\033[1;32m", "GPRS PCU L1 interface (L1IF)", LOGL_INFO, 1}, - {"DRLCMAC", "\033[0;33m", "GPRS RLC/MAC layer (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACDATA", "\033[0;33m", "GPRS RLC/MAC layer Data (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACDL", "\033[1;33m", "GPRS RLC/MAC layer Downlink (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACUL", "\033[1;36m", "GPRS RLC/MAC layer Uplink (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACSCHED", "\033[0;36m", "GPRS RLC/MAC layer Scheduling (RLCMAC)", LOGL_NOTICE, 1}, - {"DRLCMACMEAS", "\033[1;31m", "GPRS RLC/MAC layer Measurements (RLCMAC)", LOGL_INFO, 1}, - {"DTBF","\033[1;34m", "Temporary Block Flow (TBF)", LOGL_INFO , 1}, - {"DTBFDL","\033[1;34m", "Temporary Block Flow (TBF) Downlink", LOGL_INFO , 1}, - {"DTBFUL","\033[1;34m", "Temporary Block Flow (TBF) Uplink", LOGL_INFO , 1}, - {"DNS","\033[1;34m", "GPRS Network Service Protocol (NS)", LOGL_INFO , 1}, - {"DBSSGP","\033[1;34m", "GPRS BSS Gateway Protocol (BSSGP)", LOGL_INFO , 1}, - {"DPCU", "\033[1;35m", "GPRS Packet Control Unit (PCU)", LOGL_NOTICE, 1}, + [DCSN1] = { + .name = "DCSN1", + .color = "\033[1;31m", + .description = "Concrete Syntax Notation One (CSN1)", + .loglevel = LOGL_INFO, + .enabled = 0, + }, + [DL1IF] = { + .name = "DL1IF", + .color = "\033[1;32m", + .description = "GPRS PCU L1 interface (L1IF)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DRLCMAC] = { + .name = "DRLCMAC", + .color = "\033[0;33m", + .description = "GPRS RLC/MAC layer (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACDATA] = { + .name = "DRLCMACDATA", + .color = "\033[0;33m", + .description = "GPRS RLC/MAC layer Data (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACDL] = { + .name = "DRLCMACDL", + .color = "\033[1;33m", + .description = "GPRS RLC/MAC layer Downlink (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACUL] = { + .name = "DRLCMACUL", + .color = "\033[1;36m", + .description = "GPRS RLC/MAC layer Uplink (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACSCHED] = { + .name = "DRLCMACSCHED", + .color = "\033[0;36m", + .description = "GPRS RLC/MAC layer Scheduling (RLCMAC)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, + [DRLCMACMEAS] = { + .name = "DRLCMACMEAS", + .color = "\033[1;31m", + .description = "GPRS RLC/MAC layer Measurements (RLCMAC)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DTBF] = { + .name = "DTBF", + .color = "\033[1;34m", + .description = "Temporary Block Flow (TBF)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DTBFDL] = { + .name = "DTBFDL", + .color = "\033[1;34m", + .description = "Temporary Block Flow (TBF) Downlink", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DTBFUL] = { + .name = "DTBFUL", + .color = "\033[1;34m", + .description = "Temporary Block Flow (TBF) Uplink", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DNS] = { + .name = "DNS", + .color = "\033[1;34m", + .description = "GPRS Network Service Protocol (NS)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DBSSGP] = { + .name = "DBSSGP", + .color = "\033[1;34m", + .description = "GPRS BSS Gateway Protocol (BSSGP)", + .loglevel = LOGL_INFO, + .enabled = 1, + }, + [DPCU] = { + .name = "DPCU", + .color = "\033[1;35m", + .description = "GPRS Packet Control Unit (PCU)", + .loglevel = LOGL_NOTICE, + .enabled = 1, + }, }; static int filter_fn(const struct log_context *ctx, -- To view, visit https://gerrit.osmocom.org/13384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2be88586ca44b0b8361f96cf3c034c8459244c2c Gerrit-Change-Number: 13384 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:39:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:39:19 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13368 ) Change subject: Also build oc2g support for osmo-pcu ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-CC: Andr? Boddenberg Gerrit-Comment-Date: Wed, 27 Mar 2019 07:39:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:41:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:41:57 +0000 Subject: Change in libosmocore[master]: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13259 ) Change subject: add gsm0808_create_handover_request_ack2 to add AoIP RTP addr ...................................................................... Patch Set 8: Code-Review-1 I thin we have to keep this one out of master until the "embedded ARM builds" question is resolved. This is clearly in need of cleanup, and I really don't like us to make work around in APIs / runtime code just because some compile-time deicisons are not taken correctly. It may be time to simply disable lots of code that we'd never want to run inside a phone (like osmocombb) in the arm-non-eabi (EMBEDDED) builds. I'm not saying neels has to do this, I'm just saying it needs to happen. -- To view, visit https://gerrit.osmocom.org/13259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia71542ea37d4fd2c9fb9b40357db7aeb111ec576 Gerrit-Change-Number: 13259 Gerrit-PatchSet: 8 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Comment-Date: Wed, 27 Mar 2019 07:41:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:42:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:42:29 +0000 Subject: Change in libosmocore[master]: gsm_utils.h: remove unused include of gsm_08_08.h In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13390 ) Change subject: gsm_utils.h: remove unused include of gsm_08_08.h ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 Gerrit-Change-Number: 13390 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 27 Mar 2019 07:42:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:48:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:48:38 +0000 Subject: Change in libosmocore[master]: add osmo_str_startswith() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13394 ) Change subject: add osmo_str_startswith() ...................................................................... Patch Set 1: (4 comments) So I'm happy with adding this new function, but I'm worried about the explanation given in the commitlog and your plan to fix this on the callback side of every VTY function rather than in the libosmovty core. https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG at 20 PS1, Line 20: : One could expect the VTY to then pass the unambiguous match of "apples" to the : parsing function, but that is not the case. why not "simply" change the VTY internals to adjust its behavior around our existing assumptions? https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG at 24 PS1, Line 24: Hence a VTY function implementation is faced with parsing a keyword of "app" : instead of the expected "apples". that's *really* unexpected and odd. It should definitely be fixed inside the VTY library and not in applications. https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG at 28 PS1, Line 28: I am now writing new : commands in a way that are able to manage only the starts of keywords Please don't. Let's rather fix it once in the parser. If the parser matches "app" against "apples" but then passes "app" into the function, it may very well pass "apples" instead and make everyone happy, including the hundreds of existing functions. Alternatively, we may simply requrie the user to pres "tab" until the full keyword is entered. That's how I've used Osmocom VTYs during the past decade. https://gerrit.osmocom.org/#/c/13394/1//COMMIT_MSG at 31 PS1, Line 31: Arguably, strstr(a, b) == a does the same thing, but it searches the entire > Why is that a problem exactly? Why do we need in our API smth which duplicates Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 27 Mar 2019 07:48:38 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:49:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:49:17 +0000 Subject: Change in libosmocore[master]: fsm_dealloc_test: no need for ST_DESTROYING In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13393 ) Change subject: fsm_dealloc_test: no need for ST_DESTROYING ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I05354e6cad9b82ba474fa50ffd41d481b3c697b4 Gerrit-Change-Number: 13393 Gerrit-PatchSet: 4 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 07:49:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:49:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:49:57 +0000 Subject: Change in libosmocore[master]: gsm_utils.h: remove unused include of gsm_08_08.h In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13390 ) Change subject: gsm_utils.h: remove unused include of gsm_08_08.h ...................................................................... gsm_utils.h: remove unused include of gsm_08_08.h Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 --- M include/osmocom/gsm/gsm_utils.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 7d0beca..f8f72a7 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -30,7 +30,6 @@ #include #include -#include #include #define ADD_MODULO(sum, delta, modulo) do { \ -- To view, visit https://gerrit.osmocom.org/13390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ied4cb2bd06147785540a53ef118e9268406da702 Gerrit-Change-Number: 13390 Gerrit-PatchSet: 3 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:51:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:51:09 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13398 ) Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 27 Mar 2019 07:51:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:51:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:51:54 +0000 Subject: Change in libosmocore[master]: src/logging.c: fix syntax errors in Doxygen documentation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13401 ) Change subject: src/logging.c: fix syntax errors in Doxygen documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 Gerrit-Change-Number: 13401 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:51:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:52:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:52:20 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13404 ) Change subject: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1079d629abdb8770eef6be7341e586a933cd9cca Gerrit-Change-Number: 13404 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:52:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:52:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:52:43 +0000 Subject: Change in libosmocore[master]: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13405 ) Change subject: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icd9b72eb6bfa9628ff1ed2f948b57058551a4328 Gerrit-Change-Number: 13405 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:52:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:52:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:52:53 +0000 Subject: Change in libosmocore[master]: src/msgb.c: fix Doxygen documentation for msgb_printf() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13407 ) Change subject: src/msgb.c: fix Doxygen documentation for msgb_printf() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib708664336eef06f748d408ae02a13c754b6647a Gerrit-Change-Number: 13407 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:52:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:53:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:53:01 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix incorrect Doxygen parameter description In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13408 ) Change subject: core/msgb.h: fix incorrect Doxygen parameter description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5d660933ecfa89c631319eccf9e3d5c1986ec8ff Gerrit-Change-Number: 13408 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:53:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:53:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:53:14 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of rate_ctr_for_each_counter() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13409 ) Change subject: Doxygen: fix documentation of rate_ctr_for_each_counter() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icca2d4a95bd5f96ae85a86909ec90fb8677cacf3 Gerrit-Change-Number: 13409 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:53:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:53:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:53:23 +0000 Subject: Change in libosmocore[master]: src/rate_ctr.c: drop some incorrect \ref references In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13410 ) Change subject: src/rate_ctr.c: drop some incorrect \ref references ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24a80ff6cf11ce0455529515d1ecb9900f0271a8 Gerrit-Change-Number: 13410 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:53:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:53:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:53:31 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of osmo_timer_setup() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13411 ) Change subject: Doxygen: fix documentation of osmo_timer_setup() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If5668f40a7bfde2f4f22329a071c8c6eff23b99e Gerrit-Change-Number: 13411 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 07:53:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:58:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:58:57 +0000 Subject: Change in osmo-bts[master]: oc2g: generate failure event report in case of bad calibration In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13265 ) Change subject: oc2g: generate failure event report in case of bad calibration ...................................................................... oc2g: generate failure event report in case of bad calibration When the TX/RX calibration files can not be loaded a failure event report should be sent to the BSC. Lets send a failure event report when calbration data is either bad or can not be loaded (see also remvoed TODOs). Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Related OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 7 insertions(+), 30 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index 4976848..ed7aa16 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -34,6 +34,7 @@ #include #include +#include #include #include @@ -133,16 +134,8 @@ st->fp = fopen(fname, "rb"); if (!st->fp) { LOGP(DL1C, LOGL_NOTICE, "Failed to open '%s' for calibration data.\n", fname); - - /* TODO (oramadan): Fix OML alarms - if( fl1h->phy_inst->trx ){ - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - alarm_sig_data.add_text = (char*)&fname[0]; - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_OPEN_CALIB_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Failed to open '%s' for calibration data", fname); return -1; } return 0; @@ -228,17 +221,8 @@ rc = calib_verify(fl1h, desc); if (rc < 0) { LOGP(DL1C, LOGL_NOTICE,"Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); - - /* TODO (oramadan): Fix OML alarms - if (fl1h->phy_inst->trx) { - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - alarm_sig_data.add_text = (char*)&desc->fname[0]; - memcpy(alarm_sig_data.spare, &rc, sizeof(int)); - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_VERIFY_CALIB_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Verify L1 calibration table %s -> failed (%d)", desc->fname, rc); st->last_file_idx = get_next_calib_file_idx(fl1h, st->last_file_idx); @@ -294,15 +278,8 @@ if (!calib_path) { LOGP(DL1C, LOGL_NOTICE, "Calibration file path not specified\n"); - - /* TODO (oramadan): Fix OML alarms - if( fl1h->phy_inst->trx ){ - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_NO_CALIB_PATH_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Calibration file path not specified"); return -1; } -- To view, visit https://gerrit.osmocom.org/13265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Gerrit-Change-Number: 13265 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 07:58:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 07:58:57 +0000 Subject: Change in osmo-bts[master]: oc2g: change log level for calibration file errors to FATAL In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13266 ) Change subject: oc2g: change log level for calibration file errors to FATAL ...................................................................... oc2g: change log level for calibration file errors to FATAL The log level of the messages that notify calibration file loading problems is NOTICE, but since it is a severe problem when calibration can not be loaded lets change it to FATAL Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Related: OS#3823 --- M src/osmo-bts-oc2g/calib_file.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index ed7aa16..72ec266 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -133,7 +133,7 @@ st->fp = fopen(fname, "rb"); if (!st->fp) { - LOGP(DL1C, LOGL_NOTICE, "Failed to open '%s' for calibration data.\n", fname); + LOGP(DL1C, LOGL_FATAL, "Failed to open '%s' for calibration data.\n", fname); oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, "Failed to open '%s' for calibration data", fname); return -1; @@ -220,7 +220,7 @@ rc = calib_verify(fl1h, desc); if (rc < 0) { - LOGP(DL1C, LOGL_NOTICE,"Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); + LOGP(DL1C, LOGL_FATAL, "Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, "Verify L1 calibration table %s -> failed (%d)", desc->fname, rc); @@ -277,7 +277,7 @@ char *calib_path = fl1h->phy_inst->u.oc2g.calib_path; if (!calib_path) { - LOGP(DL1C, LOGL_NOTICE, "Calibration file path not specified\n"); + LOGP(DL1C, LOGL_FATAL, "Calibration file path not specified\n"); oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, "Calibration file path not specified"); return -1; -- To view, visit https://gerrit.osmocom.org/13266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I32aed25ca7925f1c776f00b37f404a58a85ddbc7 Gerrit-Change-Number: 13266 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: dexter Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 08:01:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 08:01:00 +0000 Subject: Change in libosmo-netif[master]: amr: use sizeof(struct amr_hdr) when working with amr header length In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13346 ) Change subject: amr: use sizeof(struct amr_hdr) when working with amr header length ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic7ca04b99a97d7d3b91717b0c3e6c55ef3001a3e Gerrit-Change-Number: 13346 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 08:01:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 08:01:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 08:01:08 +0000 Subject: Change in libosmo-netif[master]: amr: use sizeof(struct amr_hdr) when working with amr header length In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13346 ) Change subject: amr: use sizeof(struct amr_hdr) when working with amr header length ...................................................................... amr: use sizeof(struct amr_hdr) when working with amr header length The header of an AMR header payload is 2 bytes long. At the moment we use just a constant of 2 when we refer to the header length, but we have a struct amr_hdr defined. Lets use sizeof(struct amr_hdr) to make it more clear that we are refering to the header length. Change-Id: Ic7ca04b99a97d7d3b91717b0c3e6c55ef3001a3e --- M src/amr.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/amr.c b/src/amr.c index 9c63f60..5609c46 100644 --- a/src/amr.c +++ b/src/amr.c @@ -82,7 +82,7 @@ unsigned int frame_len; /* Broken payload? */ - if (!payload || payload_len < 2) + if (!payload || payload_len < sizeof(struct amr_hdr)) return false; /* In octet aligned mode, padding bits are specified to be @@ -106,7 +106,7 @@ if(!osmo_amr_ft_valid(oa_hdr->ft)) return false; frame_len = osmo_amr_bytes(oa_hdr->ft); - if (frame_len != payload_len - 2) + if (frame_len != payload_len - sizeof(struct amr_hdr)) return false; return true; @@ -119,7 +119,7 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; - unsigned int frame_len = payload_len - 2; + unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; /* This implementation is not capable to handle multi-frame -- To view, visit https://gerrit.osmocom.org/13346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic7ca04b99a97d7d3b91717b0c3e6c55ef3001a3e Gerrit-Change-Number: 13346 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 08:01:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 08:01:38 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check bssmap length field In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13306 ) Change subject: osmo_bsc_bssap: check bssmap length field ...................................................................... osmo_bsc_bssap: check bssmap length field At the moment the length field of the bssmap header is not parsed. Instead the length is computed out of the known header length and the number of bytes received. This is prone to error, lets make sure that extranous data at the end of a message is ignored by parsing the bssmap length correctly. Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Related: OS#3806 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 31 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 85aab22..65618fd 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1081,6 +1081,36 @@ return 0; } +/* Extract and verify the length information from the BSSMAP header. */ +static unsigned int bssmap_msg_len(struct msgb *msg, unsigned int length, + const struct gsm_subscriber_connection *conn) +{ + unsigned int expected_len; + unsigned int calculated_len; + struct bssmap_header *bssmap_header; + + bssmap_header = (struct bssmap_header *)msg->l3h; + + calculated_len = length - sizeof(struct bssmap_header); + expected_len = bssmap_header->length; + + /* In case of contradictory length information, decide for the + * shorter length */ + if (calculated_len > expected_len) { + LOGPFSML(conn->fi, LOGL_NOTICE, + "BSSMAP message contains extra data, expected %u bytes, got %u bytes, truncated\n", + expected_len, calculated_len); + return expected_len; + } else if (calculated_len < expected_len) { + LOGPFSML(conn->fi, LOGL_NOTICE, + "Short BSSMAP message, expected %u bytes, got %u bytes\n", + expected_len, calculated_len); + return calculated_len; + } + + return expected_len; +} + int bsc_handle_dt(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int len) { @@ -1093,7 +1123,7 @@ switch (msg->l3h[0]) { case BSSAP_MSG_BSS_MANAGEMENT: msg->l4h = &msg->l3h[sizeof(struct bssmap_header)]; - bssmap_rcvmsg_dt1(conn, msg, len - sizeof(struct bssmap_header)); + bssmap_rcvmsg_dt1(conn, msg, bssmap_msg_len(msg, len, conn)); break; case BSSAP_MSG_DTAP: dtap_rcvmsg(conn, msg, len); -- To view, visit https://gerrit.osmocom.org/13306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idef2e783d2377a2ad1f697ea4d26491a32b3e549 Gerrit-Change-Number: 13306 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: dexter -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 08:03:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 08:03:09 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix and unify Doxygen documentation In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13398 ) Change subject: core/linuxlist.h: fix and unify Doxygen documentation ...................................................................... core/linuxlist.h: fix and unify Doxygen documentation - drop incorrect \ref and \a references; - add missing documentation to LLIST_HEAD_INIT; - document parameter 'member' of llist_entry(); - turn @argument naming into a valid \param format; - fix 'type *' vs llist_head loop counter confusion; - capitalize and dot-terminate all sentences. Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 --- M include/osmocom/core/linuxlist.h 1 file changed, 96 insertions(+), 99 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index 7791310..d040d90 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -23,11 +23,10 @@ static inline void prefetch(const void *x) {;} -/*! cast a member of a structure out to the containing structure - * - * \param[in] ptr the pointer to the member. - * \param[in] type the type of the container struct this is embedded in. - * \param[in] member the name of the member within the struct. +/*! Cast a member of a structure out to the containing structure. + * \param[in] ptr the pointer to the member. + * \param[in] type the type of the container struct this is embedded in. + * \param[in] member the name of the member within the struct. */ #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ @@ -48,22 +47,26 @@ struct llist_head *next, *prev; }; +/*! Define a new llist_head pointing to a given llist_head. + * \param[in] name another llist_head to be pointed. + */ #define LLIST_HEAD_INIT(name) { &(name), &(name) } -/*! define a statically-initialized \ref llist_head - * \param[in] name Variable name - * - * This is a helper macro that will define a named variable of type - * \ref llist_head and initialize it */ +/*! Define a statically-initialized variable of type llist_head. + * \param[in] name variable (symbol) name. + */ #define LLIST_HEAD(name) \ struct llist_head name = LLIST_HEAD_INIT(name) -/*! initialize a \ref llist_head to point back to self */ +/*! Initialize a llist_head to point back to itself. + * \param[in] ptr llist_head to be initialized. + */ #define INIT_LLIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) -/*! Insert a new entry between two known consecutive entries. +/* + * Insert a new entry between two known consecutive entries. * * This is only for internal llist manipulation where we know * the prev/next entries already! @@ -78,9 +81,9 @@ prev->next = _new; } -/*! add a new entry into a linked list (at head) - * \param _new New entry to be added - * \param head \ref llist_head to add it after +/*! Add a new entry into a linked list (at head). + * \param _new the entry to be added. + * \param head llist_head to prepend the element to. * * Insert a new entry after the specified head. * This is good for implementing stacks. @@ -90,9 +93,9 @@ __llist_add(_new, head, head->next); } -/*! add a new entry into a linked list (at tail) - * \param _new New entry to be added - * \param head Head of linked list to whose tail we shall add \a _new +/*! Add a new entry into a linked list (at tail). + * \param _new the entry to be added. + * \param head llist_head to append the element to. * * Insert a new entry before the specified head. * This is useful for implementing queues. @@ -115,8 +118,8 @@ prev->next = next; } -/*! Delete entry from linked list - * \param entry The element to delete from the llist +/*! Delete a single entry from a linked list. + * \param entry the element to delete. * * Note: llist_empty on entry does not return true after this, the entry is * in an undefined state. @@ -128,8 +131,8 @@ entry->prev = (struct llist_head *)LLIST_POISON2; } -/*! Delete entry from linked list and reinitialize it - * \param entry The element to delete from the list +/*! Delete a single entry from a linked list and reinitialize it. + * \param entry the element to delete and reinitialize. */ static inline void llist_del_init(struct llist_head *entry) { @@ -137,9 +140,9 @@ INIT_LLIST_HEAD(entry); } -/*! Delete from one llist and add as another's head - * \param llist The entry to move - * \param head The head that will precede our entry +/*! Delete from one llist and add as another's head. + * \param llist the entry to move. + * \param head the head that will precede our entry. */ static inline void llist_move(struct llist_head *llist, struct llist_head *head) { @@ -147,9 +150,9 @@ llist_add(llist, head); } -/*! Delete from one llist and add as another's tail - * \param llist The entry to move - * \param head The head that will follow our entry +/*! Delete from one llist and add as another's tail. + * \param llist the entry to move. + * \param head the head that will follow our entry. */ static inline void llist_move_tail(struct llist_head *llist, struct llist_head *head) @@ -158,9 +161,9 @@ llist_add_tail(llist, head); } -/*! Test whether a linked list is empty - * \param[in] head The llist to test. - * \returns 1 if the list is empty, 0 otherwise +/*! Test whether a linked list is empty. + * \param[in] head the llist to test. + * \returns 1 if the list is empty, 0 otherwise. */ static inline int llist_empty(const struct llist_head *head) { @@ -181,9 +184,9 @@ at->prev = last; } -/*! Join two llists - * \param llist The new linked list to add - * \param head The place to add \a llist in the other list +/*! Join two linked lists. + * \param llist the new linked list to add. + * \param head the place to add llist within the other list. */ static inline void llist_splice(struct llist_head *llist, struct llist_head *head) { @@ -191,11 +194,11 @@ __llist_splice(llist, head); } -/*! join two llists and reinitialise the emptied llist. - * \param llist The new linked list to add. - * \param head The place to add it in the first llist. +/*! Join two llists and reinitialise the emptied llist. + * \param llist the new linked list to add. + * \param head the place to add it within the first llist. * - * The llist at @llist is reinitialised + * The llist is reinitialised. */ static inline void llist_splice_init(struct llist_head *llist, struct llist_head *head) @@ -206,15 +209,15 @@ } } -/*! Get the struct containing this list entry - * \param ptr The \ref llist_head pointer - * \param type The type of the struct this is embedded in - * \param @member The name of the \ref llist_head within the struct +/*! Get the struct containing this list entry. + * \param ptr the llist_head pointer. + * \param type the type of the struct this is embedded in. + * \param member the name of the llist_head within the struct. */ #define llist_entry(ptr, type, member) \ container_of(ptr, type, member) -/*! Get the first element from a list +/*! Get the first element from a linked list. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. * \param member the name of the list_head within the struct. @@ -224,7 +227,7 @@ #define llist_first_entry(ptr, type, member) \ llist_entry((ptr)->next, type, member) -/*! Get the last element from a list +/*! Get the last element from a list. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. * \param member the name of the llist_head within the struct. @@ -234,7 +237,7 @@ #define llist_last_entry(ptr, type, member) \ llist_entry((ptr)->prev, type, member) -/*! Get the first element from a list, or NULL +/*! Get the first element from a list, or NULL. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. * \param member the name of the list_head within the struct. @@ -244,17 +247,17 @@ #define llist_first_entry_or_null(ptr, type, member) \ (!llist_empty(ptr) ? llist_first_entry(ptr, type, member) : NULL) -/*! Iterate over a linked list - * \param pos The \ref llist_head to use as a loop counter - * \param head The head of the list over which to iterate +/*! Iterate over a linked list. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ pos = pos->next, prefetch(pos->next)) -/*! Iterate over a llist (no prefetch) - * \param pos The \ref llist_head to use as a loop counter - * \param head The head of the list over which to iterate +/*! Iterate over a linked list (no prefetch). + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. * * This variant differs from llist_for_each() in that it's the * simplest possible llist iteration code, no prefetching is done. @@ -264,27 +267,27 @@ #define __llist_for_each(pos, head) \ for (pos = (head)->next; pos != (head); pos = pos->next) -/*! Iterate over a llist backwards - * \param pos The \ref llist_head to use as a loop counter - * \param head The head of the list over which to iterate +/*! Iterate over a linked list backwards. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each_prev(pos, head) \ for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \ pos = pos->prev, prefetch(pos->prev)) -/*! Iterate over a list; safe against removal of llist entry - * \param pos The \ref llist_head to use as a loop counter - * \param n Another \ref llist_head to use as temporary storage - * \param head The head of the list over which to iterate +/*! Iterate over a linked list, safe against removal of llist entry. + * \param pos the llist_head to use as a loop counter. + * \param n another llist_head to use as temporary storage. + * \param head the head of the list over which to iterate. */ #define llist_for_each_safe(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ pos = n, n = pos->next) -/*! Iterate over llist of given type - * \param pos The 'type *' to use as a loop counter - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate over a linked list of a given type. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry(pos, head, member) \ for (pos = llist_entry((head)->next, typeof(*pos), member), \ @@ -293,10 +296,10 @@ pos = llist_entry(pos->member.next, typeof(*pos), member), \ prefetch(pos->member.next)) -/*! Iterate backwards over llist of given type. - * \param pos The 'type *' to use as a loop counter - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate backwards over a linked list of a given type. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry_reverse(pos, head, member) \ for (pos = llist_entry((head)->prev, typeof(*pos), member), \ @@ -305,11 +308,11 @@ pos = llist_entry(pos->member.prev, typeof(*pos), member), \ prefetch(pos->member.prev)) -/*! iterate over llist of given type continuing after existing - * point - * \param pos The 'type *' to use as a loop counter - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate over a linked list of a given type, + * continuing after an existing point. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry_continue(pos, head, member) \ for (pos = llist_entry(pos->member.next, typeof(*pos), member), \ @@ -318,12 +321,12 @@ pos = llist_entry(pos->member.next, typeof(*pos), member), \ prefetch(pos->member.next)) -/*! iterate over llist of given type, safe against removal of - * non-consecutive(!) llist entries - * \param pos The 'type *' to use as a loop counter - * \param n Another type * to use as temporary storage - * \param head The head of the list over which to iterate - * \param member The name of the \ref llist_head within struct \a pos +/*! Iterate over llist of given type, safe against removal of + * non-consecutive(!) llist entries. + * \param pos the 'type *' to use as a loop counter. + * \param n another 'type *' to use as temporary storage. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_head within the struct pos. */ #define llist_for_each_entry_safe(pos, n, head, member) \ for (pos = llist_entry((head)->next, typeof(*pos), member), \ @@ -331,10 +334,9 @@ &pos->member != (head); \ pos = n, n = llist_entry(n->member.next, typeof(*n), member)) -/** - * llist_for_each_rcu - iterate over an rcu-protected llist - * @pos: the &struct llist_head to use as a loop counter. - * @head: the head for your llist. +/*! Iterate over an rcu-protected llist. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each_rcu(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ @@ -344,22 +346,19 @@ for (pos = (head)->next; pos != (head); \ pos = pos->next, ({ smp_read_barrier_depends(); 0;})) -/** - * llist_for_each_safe_rcu - iterate over an rcu-protected llist safe - * against removal of llist entry - * @pos: the &struct llist_head to use as a loop counter. - * @n: another &struct llist_head to use as temporary storage - * @head: the head for your llist. +/*! Iterate over an rcu-protected llist, safe against removal of llist entry. + * \param pos the llist_head to use as a loop counter. + * \param n another llist_head to use as temporary storage. + * \param head the head of the list over which to iterate. */ #define llist_for_each_safe_rcu(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ pos = n, ({ smp_read_barrier_depends(); 0;}), n = pos->next) -/** - * llist_for_each_entry_rcu - iterate over rcu llist of given type - * @pos: the type * to use as a loop counter. - * @head: the head for your llist. - * @member: the name of the llist_struct within the struct. +/*! Iterate over an rcu-protected llist of a given type. + * \param pos the 'type *' to use as a loop counter. + * \param head the head of the list over which to iterate. + * \param member the name of the llist_struct within the struct. */ #define llist_for_each_entry_rcu(pos, head, member) \ for (pos = llist_entry((head)->next, typeof(*pos), member), \ @@ -370,18 +369,16 @@ prefetch(pos->member.next)) -/** - * llist_for_each_continue_rcu - iterate over an rcu-protected llist - * continuing after existing point. - * @pos: the &struct llist_head to use as a loop counter. - * @head: the head for your llist. +/*! Iterate over an rcu-protected llist, continuing after existing point. + * \param pos the llist_head to use as a loop counter. + * \param head the head of the list over which to iterate. */ #define llist_for_each_continue_rcu(pos, head) \ for ((pos) = (pos)->next, prefetch((pos)->next); (pos) != (head); \ (pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next)) -/*! count nr of llist items by iterating. - * \param head The llist head to count items of. +/*! Count number of llist items by iterating. + * \param head the llist head to count items of. * \returns Number of items. * * This function is not efficient, mostly useful for small lists and non time -- To view, visit https://gerrit.osmocom.org/13398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iac67bdb9d5fbf7c222d04858967337f2428d6a94 Gerrit-Change-Number: 13398 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:31 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: move functions to common.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13412 ) Change subject: osmocom-list-commits.sh: move functions to common.sh ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 Gerrit-Change-Number: 13412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 09:26:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:33 +0000 Subject: Change in osmo-ci[master]: osmocom-list-commits.sh: move functions to common.sh In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13412 ) Change subject: osmocom-list-commits.sh: move functions to common.sh ...................................................................... osmocom-list-commits.sh: move functions to common.sh Prepare for the upcoming osmocom-build-old-tags-against-master.sh script, which will benefit from querying the last n git tags in advance. Related: OS#3765 Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 --- A scripts/common.sh M scripts/osmocom-list-commits.sh 2 files changed, 66 insertions(+), 43 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved osmith: Verified diff --git a/scripts/common.sh b/scripts/common.sh new file mode 100644 index 0000000..9f274d7 --- /dev/null +++ b/scripts/common.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# Various functions and variables used in multiple osmo-ci shell scripts +OSMO_GIT_URL="https://git.osmocom.org" + +# Print commit of HEAD for an Osmocom git repository, e.g.: +# "f90496f577e78944ce8db1aa5b900477c1e479b0" +# $1: repository +osmo_git_head_commit() { + # git output: + # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD + ret="$(git ls-remote "$OSMO_GIT_URL/$1" HEAD)" + ret="$(echo "$ret" | awk '{print $1}')" + echo "$ret" +} + +# Print last tags and related commits for an Osmocom git repository, e.g.: +# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" +# $1: Osmocom repository +# $2: amount of commit, tag pairs to print (default: 1) +# $3: string to print when there are no tags (default: empty string) +osmo_git_last_commits_tags() { + # git output: + # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 + # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} + # ... + # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} + # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 + # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 + # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} + # ... + ret="$(git ls-remote --tags "$OSMO_GIT_URL/$1")" + ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" + ret="$(echo "$ret" | sort -V -t/ -k3)" + ret="$(echo "$ret" | tail -n "$2")" + + if [ -n "$ret" ]; then + echo "$ret" + else + echo "$3" + fi +} + +# Print last commits for an Osmocom git repository, e.g.: +# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a" +# $1: repository +# $2: amount of commits to print (default: 1) +# $3: string to print when there are no tags (default: empty string) +osmo_git_last_commits() { + ret="$(osmo_git_last_commits_tags "$1" "$2" "$3")" + echo "$ret" | awk '{print $1}' +} + +# Print last tags for an Osmocom git repository, e.g.: +# "1.0.1" +# $1: repository +# $2: amount of commits to print (default: 1) +# $3: string to print when there are no tags (default: empty string) +osmo_git_last_tags() { + ret="$(osmo_git_last_commits_tags "$1" "$2" "$3")" + echo "$ret" | cut -d/ -f 3 +} diff --git a/scripts/osmocom-list-commits.sh b/scripts/osmocom-list-commits.sh index 886cb03..e0d3eb0 100755 --- a/scripts/osmocom-list-commits.sh +++ b/scripts/osmocom-list-commits.sh @@ -2,8 +2,8 @@ # Environment variables: # * NO_HEADER: do not output the header line when set +. "$(dirname "$0")/common.sh" FORMAT_STR="%-22s %-42s %9s %-40s %s\n" -URL="https://git.osmocom.org" REPOS=" libasn1c libosmo-abis @@ -27,43 +27,6 @@ osmocom-bb " -# Print commit of HEAD for an Osmocom git repository, e.g.: -# "f90496f577e78944ce8db1aa5b900477c1e479b0" -# $1: repository -get_head_commit() { - # git output: - # f90496f577e78944ce8db1aa5b900477c1e479b0 HEAD - ret="$(git ls-remote "$URL/$1" HEAD)" - ret="$(echo "$ret" | awk '{print $1}')" - echo "$ret" -} - -# Print last tag and related commit for an Osmocom git repository, e.g.: -# "ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1" -# Print "-" when no tags were found. -# $1: repository -get_last() { - # git output: - # ec798b89700dcca5c5b28edf1a1cd16ea311f30a refs/tags/1.0.1 - # eab5f594b0a7cf50ad97b039f73beff42cc8312a refs/tags/1.0.1^{} - # ... - # 41e7cf115d4148a9f34fcb863b68b2d5370e335d refs/tags/1.3.1^{} - # 8a9f12dc2f69bf3a4e861cc9a81b71bdc5f13180 refs/tags/3G_2016_09 - # ee618ecbedec82dfd240334bc87d0d1c806477b0 refs/tags/debian/0.9.13-0_jrsantos.1 - # a3fdd24af099b449c9856422eb099fb45a5595df refs/tags/debian/0.9.13-0_jrsantos.1^{} - # ... - ret="$(git ls-remote --tags "$URL/$1")" - ret="$(echo "$ret" | grep 'refs/tags/[0-9.]*$' || true)" - ret="$(echo "$ret" | sort -V -t/ -k3)" - ret="$(echo "$ret" | tail -n 1)" - - if [ -n "$ret" ]; then - echo "$ret" - else - echo "-" - fi -} - # Header if [ -z "$NO_HEADER" ]; then printf "$FORMAT_STR" "# repository" "clone URL" "last tag" "last tag commit" "HEAD commit" @@ -71,14 +34,13 @@ # Table for repo in $REPOS; do - last="$(get_last "$repo")" - last_tag="$(echo "$last" | cut -d/ -f 3)" - last_commit="$(echo "$last" | awk '{print $1}')" - head_commit="$(get_head_commit "$repo")" + last_tag="$(osmo_git_last_tags "$repo" 1 "-")" + last_commit="$(osmo_git_last_commits "$repo" 1 "-")" + head_commit="$(osmo_git_head_commit "$repo")" printf "$FORMAT_STR" \ "$repo.git" \ - "$URL/$repo" \ + "$OSMO_GIT_URL/$repo" \ "$last_tag" \ "$last_commit" \ "$head_commit" -- To view, visit https://gerrit.osmocom.org/13412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4 Gerrit-Change-Number: 13412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:35 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: cd into subdir before building In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13413 ) Change subject: osmo-build-dep.sh: cd into subdir before building ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca Gerrit-Change-Number: 13413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 09:26:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:36 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: cd into subdir before building In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13413 ) Change subject: osmo-build-dep.sh: cd into subdir before building ...................................................................... osmo-build-dep.sh: cd into subdir before building Support building the legacy openbsc source with osmo-build.dep.sh. This will be used by the upcoming osmocom-build-old-tags-against-master.sh script. Related: OS#3765 Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca --- M scripts/common.sh M scripts/osmo-build-dep.sh 2 files changed, 16 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved osmith: Verified diff --git a/scripts/common.sh b/scripts/common.sh index 9f274d7..0a32c31 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -59,3 +59,13 @@ ret="$(osmo_git_last_commits_tags "$1" "$2" "$3")" echo "$ret" | cut -d/ -f 3 } + +# Print the subdirectory of the repository where the source lies (configure.ac etc.). +# Print nothing when the source is in the topdir of the repository. +osmo_source_subdir() { + case "$1" in + openbsc) + echo "openbsc" + ;; + esac +} diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh index dfec9be..2e4fb31 100755 --- a/scripts/osmo-build-dep.sh +++ b/scripts/osmo-build-dep.sh @@ -1,4 +1,5 @@ #!/bin/sh +. "$(dirname "$0")/common.sh" project="$1" branch="$2" @@ -48,6 +49,11 @@ # of the -I and -L search paths mkdir -p "$inst/stow" +subdir="$(osmo_source_subdir "$project")" +if [ -n "$subdir" ]; then + cd "$subdir" +fi + autoreconf --install --force ./configure --prefix="$inst/stow/$project" --with-systemdsystemunitdir="$inst/stow/$project/lib/systemd/system" $cfg $MAKE $PARALLEL_MAKE install -- To view, visit https://gerrit.osmocom.org/13413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca Gerrit-Change-Number: 13413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:38 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: run 'make check' when CHECK=1 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13414 ) Change subject: osmo-build-dep.sh: run 'make check' when CHECK=1 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de Gerrit-Change-Number: 13414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 09:26:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:39 +0000 Subject: Change in osmo-ci[master]: osmo-build-dep.sh: run 'make check' when CHECK=1 In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13414 ) Change subject: osmo-build-dep.sh: run 'make check' when CHECK=1 ...................................................................... osmo-build-dep.sh: run 'make check' when CHECK=1 Prepare for osmocom-build-old-tags-against-master.sh. Related: OS#3765 Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de --- M scripts/osmo-build-dep.sh 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved osmith: Verified diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh index 2e4fb31..7013414 100755 --- a/scripts/osmo-build-dep.sh +++ b/scripts/osmo-build-dep.sh @@ -56,6 +56,11 @@ autoreconf --install --force ./configure --prefix="$inst/stow/$project" --with-systemdsystemunitdir="$inst/stow/$project/lib/systemd/system" $cfg + +if [ -n "$CHECK" ]; then + $MAKE $PARALLEL_MAKE check +fi + $MAKE $PARALLEL_MAKE install # Make the dependencies available through symlinks in $deps ($PWD/..). -- To view, visit https://gerrit.osmocom.org/13414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de Gerrit-Change-Number: 13414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:42 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Patch Set 7: Verified+1 -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 09:26:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:43 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:43 +0000 Subject: Change in osmo-ci[master]: Add osmocom-build-old-tags-against-master.sh In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13415 ) Change subject: Add osmocom-build-old-tags-against-master.sh ...................................................................... Add osmocom-build-old-tags-against-master.sh Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. Redirect each build's output to its own log file, so it is easy to see what is currently getting build, and what failed. On error, print the end of the new failing build logs, along with a note to find the full logs in the jenkins artifacts. This initial configuration builds the last three release tags of the Osmocom repositories against master. The configuration can be changed easily. Indicate known failures with "err" instead of "ERR" in the output, do not cause them to fail the build and do not print the beginning of the error log (it is still in the artifacts). This way, new errors stand out and don't get overlooked among the known errors. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 --- M .gitignore A scripts/osmocom-build-old-tags-against-master.sh 2 files changed, 234 insertions(+), 0 deletions(-) Approvals: Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved osmith: Verified diff --git a/.gitignore b/.gitignore index 1717928..00fe73d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ jenkins_jobs.ini jenkins-jobs.ini __pycache__/ +_temp/ +_deps/ diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh new file mode 100755 index 0000000..542785d --- /dev/null +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -0,0 +1,232 @@ +#!/bin/sh -e +# Environment variables: +# * PARALLEL_MAKE: -jN argument for make (default: -j5). +# * SKIP_MASTER: don't build REPOS_MASTER (assume that they were just built and keep _temp). +# +# Latest result: +# https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/lastBuild/console + +cd "$(dirname "$0")" +. ./common.sh +ERROR_LOGS="" +PARALLEL_MAKE="${PARALLEL_MAKE:--j5}" + +REPOS_MASTER=" + libosmocore + libosmo-abis + libosmo-netif + libosmo-sccp + libsmpp34 + libasn1c + osmo-ggsn + osmo-iuh + osmo-hlr + osmo-mgw +" + +REPOS_TAGS=" + libosmo-abis + libosmocore + libosmo-netif + libosmo-sccp + openbsc + osmo-bsc + osmo-bts + osmo-ggsn + osmo-hlr + osmo-iuh + osmo-mgw + osmo-msc + osmo-pcu + osmo-sgsn + osmo-sip-connector + osmo-trx +" + +# Print tags, which should be built, but where errors are expected and should be ignored. +# This function is part of the configuration, do not insert functions above. +# $1: repository +# output format: one tag per line +tags_to_ignore() { + case "$1" in + openbsc) + echo "1.0.0" # testsuite + ;; + osmo-bsc) + echo "1.2.1" # depends on libosmo-legacy-mgcp + echo "1.4.0" # testsuite + ;; + osmo-mgw) + echo "1.3.0" # testsuite + echo "1.4.0" # testsuite + ;; + osmo-msc) + echo "1.3.0" # -Werror and deprecated gsm0480_create_ussd_release_complete() + ;; + osmo-pcu) + echo "0.5.0" # testsuite + ;; + osmo-sgsn) + echo "1.2.0" # sgsn_test.c: gtp.h: No such file or directory + echo "1.3.0" # testsuite + echo "1.4.0" # testsuite + ;; + esac +} + +# Print which tags should be built for a specific repository. +# This function is part of the configuration. +# $1: repository +# output format: one tag per line +tags_to_build() { + case "$1" in + # Add repository specific tag listings here: + # libosmocore) + # echo "0.1.0" + # osmo_git_last_tags "$1" 3 + # ;; + *) + osmo_git_last_tags "$1" 3 + ;; + esac +} + +# Delete existing temp dir and create a new one, output the path. +prepare_temp_dir() { + TEMP="$(cd ..; pwd)/_temp" + if [ -n "$SKIP_MASTER" ]; then + if ! [ -d "$TEMP" ]; then + echo "ERROR: SKIP_MASTER is set, but temp dir not found: $TEMP" + exit 1 + fi + else + if [ -d "$TEMP" ]; then + rm -r "$TEMP" + fi + fi + mkdir -p "$TEMP/log" + echo "Temp dir: $TEMP" +} + +# When builds have failed, print the last lines of each failing log and exit with 1. +show_errors_exit() { + local log + + if [ -z "$ERROR_LOGS" ]; then + return 0 + fi + + for log in $ERROR_LOGS; do + echo "---" + echo "BUILD FAILED: $(basename "$log")" + echo "Showing last lines of build log below (full log in temp dir/jenkins artifacts):" + echo "---" + tail -n 20 "$log" + done + + echo "---" + exit 1 +} + +# Build a repository either from master or from a specific tag against master. +# The build output is redirected to a file, and partially shown on error. +# $1: installation path (either $TEMP/inst_master or $TEMP/inst) +# $2: repository +# $3: branch, tag or commit +# returns: 0 on sucessful build, 1 on error +build_repo() { + local log="$TEMP/log/$2-$3.txt" + + if ! PATH="$PWD:$PATH"\ + PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$PKG_CONFIG_PATH" \ + LD_LIBRARY_PATH="$TEMP/inst_master/lib:$LD_LIBRARY_PATH" \ + MAKE="make" \ + PARALLEL_MAKE="$PARALLEL_MAKE" \ + CHECK="1" \ + deps="../_deps" \ + inst="$1" \ + ./osmo-build-dep.sh "$2" "$3" \ + > "$log" 2>&1 + then + return 1 + fi +} + +# Build all configured repositories from master and install to $TEMP/inst_master. +build_repos_master() { + local repo_master + + echo "Building libraries from current master..." + + if [ -n "$SKIP_MASTER" ]; then + echo "=> SKIPPED (SKIP_MASTER is set)" + return + fi + + for repo_master in $REPOS_MASTER; do + local commit="$(osmo_git_head_commit "$repo_master")" + if [ -z "$commit" ]; then + echo "ERROR: failed to get head commit for repository: $repo_master" + exit 1 + fi + + printf "%-21s %s" " * $repo_master" "$commit" + if ! build_repo "$TEMP/inst_master" "$repo_master" "$commit"; then + printf "\n" + ERROR_LOGS="$TEMP/log/$repo_master-$commit.txt" + show_errors_exit + fi + printf "\n" + done +} + +# $1: repository +# $2: tag +# returns: 0 when the error should be ignored, 1 otherwise +ignore_error() { + local tag + for tag in $(tags_to_ignore "$1"); do + if [ "$2" = "$tag" ]; then + return 0 + fi + done + return 1 +} + +# Build all configured repositories on specific tags against master. The result is installed to $TEMP/inst, but deleted +# after each build. +build_repos_tags() { + local repo + + echo "Building old tags against libraries from current master... (ERR: new error, err: known error)" + for repo in $REPOS_TAGS; do + local tags="$(tags_to_build "$repo" | sort -V | tr '\n' ' ')" + if [ -z "$tags" ]; then + printf "%-21s %s\n" " * $repo" "(no tags configured)" + continue + fi + printf "%-21s" " * $repo" + + local tag + for tag in $tags; do + printf "%10s" " $tag" + if [ -d "$TEMP/inst" ]; then + rm -r "$TEMP/inst" + fi + if build_repo "$TEMP/inst" "$repo" "$tag"; then + printf " " + elif ignore_error "$repo" "$tag"; then + printf " (err)" + else + printf " (ERR)" + ERROR_LOGS="$ERROR_LOGS $TEMP/log/$repo-$tag.txt" + fi + done + printf "\n" + done +} + +prepare_temp_dir +build_repos_master +build_repos_tags +show_errors_exit -- To view, visit https://gerrit.osmocom.org/13415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3 Gerrit-Change-Number: 13415 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:46 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:46 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13416 ) Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... Patch Set 8: Verified+1 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 09:26:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:26:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 09:26:47 +0000 Subject: Change in osmo-ci[master]: jobs: add osmocom-build-tags-against-master.yml In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13416 ) Change subject: jobs: add osmocom-build-tags-against-master.yml ...................................................................... jobs: add osmocom-build-tags-against-master.yml Run osmocom-build-old-tags-against-master.sh every night in jenkins. Related: OS#3765 Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 --- A jobs/osmocom-build-tags-against-master.yml 1 file changed, 43 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/osmocom-build-tags-against-master.yml b/jobs/osmocom-build-tags-against-master.yml new file mode 100644 index 0000000..1520ec2 --- /dev/null +++ b/jobs/osmocom-build-tags-against-master.yml @@ -0,0 +1,43 @@ +--- +- project: + name: Osmocom-build-tags-against-master + jobs: + - Osmocom-build-tags-against-master + +- job-template: + name: 'Osmocom-build-tags-against-master' + project-type: freestyle + defaults: global + description: | + Build old releases of programs/libraries against "master of the day" libosmo* + (OS#3765) + node: osmocom-master-debian9 + parameters: + - string: + name: BRANCH + description: | + osmo-ci.git branch where the osmocom-build-old-tags-against-master.sh gets pulled from + default: '*/master' + builders: + - shell: | + PARALLEL_MAKE=-j8 scripts/osmocom-build-old-tags-against-master.sh + scm: + - git: + branches: + - '$BRANCH' + url: git://git.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + triggers: + - timed: "@midnight" + publishers: + - archive: + allow-empty: false + artifacts: _temp/log/* + case-sensitive: true + only-if-success: false + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + +# vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/13416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5 Gerrit-Change-Number: 13416 Gerrit-PatchSet: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:50:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:50:47 +0000 Subject: Change in osmo-bts[master]: rsl.c: Add missing #include of gsm0808.h Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13425 Change subject: rsl.c: Add missing #include of gsm0808.h ...................................................................... rsl.c: Add missing #include of gsm0808.h This fixes the below compile error: rsl.c:900:43: error: ?gsm0808_chosen_enc_alg_names? undeclared (first use in this function) Change-Id: I4aed0242737602e61b785862e3c37c963bf48455 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/25/13425/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index fce3495..9334ed9 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include -- To view, visit https://gerrit.osmocom.org/13425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I4aed0242737602e61b785862e3c37c963bf48455 Gerrit-Change-Number: 13425 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:53 +0000 Subject: Change in libosmocore[master]: core/linuxlist.h: fix white-space and inconsistent alignment In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13399 ) Change subject: core/linuxlist.h: fix white-space and inconsistent alignment ...................................................................... core/linuxlist.h: fix white-space and inconsistent alignment - fix trailing white-space; - properly align parameters of functions; - use tabs instead of 8 spaces where possible. Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 --- M include/osmocom/core/linuxlist.h 1 file changed, 19 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index d040d90..867605e 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -29,8 +29,8 @@ * \param[in] member the name of the member within the struct. */ #define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type, member) );}) + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type, member) );}) /*! @@ -72,8 +72,8 @@ * the prev/next entries already! */ static inline void __llist_add(struct llist_head *_new, - struct llist_head *prev, - struct llist_head *next) + struct llist_head *prev, + struct llist_head *next) { next->prev = _new; _new->next = next; @@ -137,7 +137,7 @@ static inline void llist_del_init(struct llist_head *entry) { __llist_del(entry->prev, entry->next); - INIT_LLIST_HEAD(entry); + INIT_LLIST_HEAD(entry); } /*! Delete from one llist and add as another's head. @@ -146,8 +146,8 @@ */ static inline void llist_move(struct llist_head *llist, struct llist_head *head) { - __llist_del(llist->prev, llist->next); - llist_add(llist, head); + __llist_del(llist->prev, llist->next); + llist_add(llist, head); } /*! Delete from one llist and add as another's tail. @@ -155,10 +155,10 @@ * \param head the head that will follow our entry. */ static inline void llist_move_tail(struct llist_head *llist, - struct llist_head *head) + struct llist_head *head) { - __llist_del(llist->prev, llist->next); - llist_add_tail(llist, head); + __llist_del(llist->prev, llist->next); + llist_add_tail(llist, head); } /*! Test whether a linked list is empty. @@ -171,7 +171,7 @@ } static inline void __llist_splice(struct llist_head *llist, - struct llist_head *head) + struct llist_head *head) { struct llist_head *first = llist->next; struct llist_head *last = llist->prev; @@ -201,7 +201,7 @@ * The llist is reinitialised. */ static inline void llist_splice_init(struct llist_head *llist, - struct llist_head *head) + struct llist_head *head) { if (!llist_empty(llist)) { __llist_splice(llist, head); @@ -253,7 +253,7 @@ */ #define llist_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ - pos = pos->next, prefetch(pos->next)) + pos = pos->next, prefetch(pos->next)) /*! Iterate over a linked list (no prefetch). * \param pos the llist_head to use as a loop counter. @@ -273,7 +273,7 @@ */ #define llist_for_each_prev(pos, head) \ for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \ - pos = pos->prev, prefetch(pos->prev)) + pos = pos->prev, prefetch(pos->prev)) /*! Iterate over a linked list, safe against removal of llist entry. * \param pos the llist_head to use as a loop counter. @@ -340,12 +340,12 @@ */ #define llist_for_each_rcu(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;}), prefetch(pos->next)) - + pos = pos->next, ({ smp_read_barrier_depends(); 0;}), prefetch(pos->next)) + #define __llist_for_each_rcu(pos, head) \ for (pos = (head)->next; pos != (head); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;})) - + pos = pos->next, ({ smp_read_barrier_depends(); 0;})) + /*! Iterate over an rcu-protected llist, safe against removal of llist entry. * \param pos the llist_head to use as a loop counter. * \param n another llist_head to use as temporary storage. @@ -375,7 +375,7 @@ */ #define llist_for_each_continue_rcu(pos, head) \ for ((pos) = (pos)->next, prefetch((pos)->next); (pos) != (head); \ - (pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next)) + (pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next)) /*! Count number of llist items by iterating. * \param head the llist head to count items of. -- To view, visit https://gerrit.osmocom.org/13399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iaf616592a6bd72a1e7e94d8c55475710868beef0 Gerrit-Change-Number: 13399 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:54 +0000 Subject: Change in libosmocore[master]: src/logging.c: fix syntax errors in Doxygen documentation In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13401 ) Change subject: src/logging.c: fix syntax errors in Doxygen documentation ...................................................................... src/logging.c: fix syntax errors in Doxygen documentation This change should fix the following warnings: logging.c:956: warning: unable to resolve reference to `talloc' for \ref command logging.c:203: warning: argument 'in' of command @param is not found in the argument list of log_level_str(unsigned int lvl) logging.c:194: warning: argument 'in' of command @param is not found in the argument list of log_parse_level(const char *lvl) logging.c:708: warning: argument 'print_catname' of command @param is not found in the argument list of log_set_print_category(struct log_target *target, int print_category) logging.c:687: warning: argument 'print_filename' of command @param is not found in the argument list of log_set_print_filename2(struct log_target *target, enum log_filename_type lft) logging.c:729: warning: argument 'print_catname' of command @param is not found in the argument list of log_set_print_level(struct log_target *target, int print_level) logging.c:893: warning: argument 'in' of command @param is not found in the argument list of log_target_destroy(struct log_target *target) Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 --- M src/logging.c 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Max: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/logging.c b/src/logging.c index 09021e4..73a9c52 100644 --- a/src/logging.c +++ b/src/logging.c @@ -192,7 +192,7 @@ } /*! Parse a human-readable log level into a numeric value - * \param lvl[in] zero-terminated string containing log level name + * \param[in] lvl zero-terminated string containing log level name * \returns numeric log level */ int log_parse_level(const char *lvl) @@ -201,7 +201,7 @@ } /*! convert a numeric log level into human-readable string - * \param lvl[in] numeric log level + * \param[in] lvl numeric log level * \returns zero-terminated string (log level name) */ const char *log_level_str(unsigned int lvl) @@ -685,7 +685,7 @@ /*! Enable or disable printing of the filename while logging. * \param[in] target Log target to be affected. - * \param[in] print_filename An LOG_FILENAME_* enum value. + * \param[in] lft An LOG_FILENAME_* enum value. * LOG_FILENAME_NONE omits the source file and line information from logs. * LOG_FILENAME_PATH prints the entire source file path as passed to LOGP macros. */ @@ -707,7 +707,7 @@ /*! Enable or disable printing of the category name * \param[in] target Log target to be affected - * \param[in] print_catname Enable (1) or disable (0) filenames + * \param[in] print_category Enable (1) or disable (0) filenames * * Print the category/subsys name in front of every log message. */ @@ -727,7 +727,7 @@ /*! Enable or disable printing of the log level name. * \param[in] target Log target to be affected - * \param[in] print_catname Enable (1) or disable (0) filenames + * \param[in] print_level Enable (1) or disable (0) log level name * * Print the log level name in front of every log message. */ @@ -891,7 +891,7 @@ } /*! Unregister, close and delete a log target - * \param target[in] log target to unregister, close and delete */ + * \param[in] target log target to unregister, close and delete */ void log_target_destroy(struct log_target *target) { @@ -954,7 +954,7 @@ /*! Initialize the Osmocom logging core * \param[in] inf Information regarding logging categories, could be NULL - * \param[in] ctx \ref talloc context for logging allocations + * \param[in] ctx talloc context for logging allocations * \returns 0 in case of success, negative in case of error * * If inf is NULL then only library-internal categories are initialized. -- To view, visit https://gerrit.osmocom.org/13401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I85f6c70216b7574b49b90bb1469869a47f721713 Gerrit-Change-Number: 13401 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:54 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13404 ) Change subject: core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers ...................................................................... core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers Neither Doxygen documentation of the msgb data comparison helpers, nor their actual definitions does refer msgb2. Instead, 'msg2' is referenced in both cases. This was discovered while investigating the following Doxygen warnings: msgb.h:XXX: warning: argument 'msg2' of command @param is not found in the argument list of msgb_eq(msg1, msgb2, len) msgb.h:XXX: warning: The following parameters of msgb_eq_l2(msg1, msgb2, len) are not documented: parameter 'msgb2' parameter 'len' Due to this bug it was impossible to use the affected macros, because 'msg2' was not listed in their parameters. Having the unit test coverage would spot this bug at the beginning! Change-Id: I1079d629abdb8770eef6be7341e586a933cd9cca --- M include/osmocom/core/msgb.h 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index f006b34..5de391e 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -668,35 +668,35 @@ * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb content is equal */ -#define msgb_eq(msg1, msgb2, len) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) +#define msgb_eq(msg1, msg2, len) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) /*! Compare msgbs L1 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L1 content is equal */ -#define msgb_eq_l1(msg1, msgb2, len) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) +#define msgb_eq_l1(msg1, msg2, len) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) /*! Compare msgbs L2 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L2 content is equal */ -#define msgb_eq_l2(msg1, msgb2, len) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) +#define msgb_eq_l2(msg1, msg2, len) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) /*! Compare msgbs L3 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L3 content is equal */ -#define msgb_eq_l3(msg1, msgb2, len) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) +#define msgb_eq_l3(msg1, msg2, len) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) /*! Compare msgbs L4 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L4 content is equal */ -#define msgb_eq_l4(msg1, msgb2, len) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) +#define msgb_eq_l4(msg1, msg2, len) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) /* non inline functions to ease binding */ -- To view, visit https://gerrit.osmocom.org/13404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1079d629abdb8770eef6be7341e586a933cd9cca Gerrit-Change-Number: 13404 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:55 +0000 Subject: Change in libosmocore[master]: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13405 ) Change subject: core/msgb.h: drop meaningless parameter of msgb_eq_* helpers ...................................................................... core/msgb.h: drop meaningless parameter of msgb_eq_* helpers Thanks to the following Doxygen warning: msgb.h:XXX: warning: The following parameters of msgb_eq_l2(msg1, msgb2, len) are not documented: parameter 'msgb2' parameter 'len' it was discovered that parameter 'len' is not required at all. It basically doesn't make any sense to pass any length value, because it can be calculated using msgb_length(). Let's drop this parameter. Given that this part of the API was broken so far (see I1079d629abdb8770eef6be7341e586a933cd9cca), it should be more or less safe to do this. Change-Id: Icd9b72eb6bfa9628ff1ed2f948b57058551a4328 --- M include/osmocom/core/msgb.h 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index 5de391e..273fc16 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -668,35 +668,35 @@ * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb content is equal */ -#define msgb_eq(msg1, msg2, len) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) +#define msgb_eq(msg1, msg2) msgb_eq_data(msg1, msgb_data(msg2), msgb_length(msg2)) /*! Compare msgbs L1 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L1 content is equal */ -#define msgb_eq_l1(msg1, msg2, len) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) +#define msgb_eq_l1(msg1, msg2) msgb_eq_l1_data(msg1, msgb_l1(msg2), msgb_l1len(msg2)) /*! Compare msgbs L2 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L2 content is equal */ -#define msgb_eq_l2(msg1, msg2, len) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) +#define msgb_eq_l2(msg1, msg2) msgb_eq_l2_data(msg1, msgb_l2(msg2), msgb_l2len(msg2)) /*! Compare msgbs L3 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L3 content is equal */ -#define msgb_eq_l3(msg1, msg2, len) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) +#define msgb_eq_l3(msg1, msg2) msgb_eq_l3_data(msg1, msgb_l3(msg2), msgb_l3len(msg2)) /*! Compare msgbs L4 content * \param[in] msg1 message buffer * \param[in] msg2 reference message buffer * \returns boolean indicating whether msgb L4 content is equal */ -#define msgb_eq_l4(msg1, msg2, len) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) +#define msgb_eq_l4(msg1, msg2) msgb_eq_l4_data(msg1, msgb_l4(msg2), msgb_l4len(msg2)) /* non inline functions to ease binding */ -- To view, visit https://gerrit.osmocom.org/13405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icd9b72eb6bfa9628ff1ed2f948b57058551a4328 Gerrit-Change-Number: 13405 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:55 +0000 Subject: Change in libosmocore[master]: src/msgb.c: fix Doxygen documentation for msgb_printf() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13407 ) Change subject: src/msgb.c: fix Doxygen documentation for msgb_printf() ...................................................................... src/msgb.c: fix Doxygen documentation for msgb_printf() This change fixes the following Doxygen warnings: src/msgb.c:479: warning: argument 'msg' of command @param is not found in the argument list of msgb_printf(struct msgb *msgb, const char *format,...) core/msgb.h:708: warning: The following parameters of msgb_printf(struct msgb *msgb, const char *format,...) are not documented: parameter 'msgb' parameter 'format' As a bonus, it dot-terminates all sentences. Change-Id: Ib708664336eef06f748d408ae02a13c754b6647a --- M src/msgb.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/msgb.c b/src/msgb.c index 3902f6e..ce7654a 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -476,8 +476,9 @@ /*! Print a string to the end of message buffer. - * \param[in] msg message buffer - * \returns 0 on success, -EINVAL on error + * \param[in] msgb message buffer. + * \param[in] format format string. + * \returns 0 on success, -EINVAL on error. * * The resulting string is printed to the msgb without a trailing nul * character. A nul following the data tail may be written as an implementation -- To view, visit https://gerrit.osmocom.org/13407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib708664336eef06f748d408ae02a13c754b6647a Gerrit-Change-Number: 13407 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:56 +0000 Subject: Change in libosmocore[master]: core/msgb.h: fix incorrect Doxygen parameter description In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13408 ) Change subject: core/msgb.h: fix incorrect Doxygen parameter description ...................................................................... core/msgb.h: fix incorrect Doxygen parameter description core/msgb.h:414: warning: argument 'msgb' of command @param is not found in the argument list of msgb_pull_to_l2(struct msgb *msg) core/msgb.h:399: warning: argument 'msgb' of command @param is not found in the argument list of msgb_pull_to_l3(struct msgb *msg) core/msgb.h:351: warning: argument 'msgb' of command @param is not found in the argument list of msgb_push_u16(struct msgb *msg, uint16_t word) core/msgb.h:361: warning: argument 'msgb' of command @param is not found in the argument list of msgb_push_u32(struct msgb *msg, uint32_t word) core/msgb.h:341: warning: argument 'msgb' of command @param is not found in the argument list of msgb_push_u8(struct msgb *msg, uint8_t word) Change-Id: I5d660933ecfa89c631319eccf9e3d5c1986ec8ff --- M include/osmocom/core/msgb.h 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index 273fc16..5029225 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -339,7 +339,7 @@ } /*! prepend a uint8 value to the head of the message - * \param[in] msgb message buffer + * \param[in] msg message buffer * \param[in] word unsigned 8bit byte to be prepended */ static inline void msgb_push_u8(struct msgb *msg, uint8_t word) @@ -349,7 +349,7 @@ } /*! prepend a uint16 value to the head of the message - * \param[in] msgb message buffer + * \param[in] msg message buffer * \param[in] word unsigned 16bit byte to be prepended */ static inline void msgb_push_u16(struct msgb *msg, uint16_t word) @@ -359,7 +359,7 @@ } /*! prepend a uint32 value to the head of the message - * \param[in] msgb message buffer + * \param[in] msg message buffer * \param[in] word unsigned 32bit byte to be prepended */ static inline void msgb_push_u32(struct msgb *msg, uint32_t word) @@ -396,7 +396,7 @@ } /*! remove (pull) all headers in front of l3h from the message buffer. - * \param[in] msgb message buffer with a valid l3h + * \param[in] msg message buffer with a valid l3h * \returns pointer to new start of msgb (l3h) * * This function moves the \a data pointer of the \ref msgb further back @@ -411,7 +411,7 @@ } /*! remove (pull) all headers in front of l2h from the message buffer. - * \param[in] msgb message buffer with a valid l2h + * \param[in] msg message buffer with a valid l2h * \returns pointer to new start of msgb (l2h) * * This function moves the \a data pointer of the \ref msgb further back -- To view, visit https://gerrit.osmocom.org/13408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5d660933ecfa89c631319eccf9e3d5c1986ec8ff Gerrit-Change-Number: 13408 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:56 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of rate_ctr_for_each_counter() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13409 ) Change subject: Doxygen: fix documentation of rate_ctr_for_each_counter() ...................................................................... Doxygen: fix documentation of rate_ctr_for_each_counter() Doxygen was confused by duplicated documentation for both definition and declaration of rate_ctr_for_each_counter(). Moreover, both variants contained some mistakes. Let's avoid this duplication and keep the only (corrected) one. Change-Id: Icca2d4a95bd5f96ae85a86909ec90fb8677cacf3 --- M include/osmocom/core/rate_ctr.h M src/rate_ctr.c 2 files changed, 1 insertion(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h index 865467c..f7e6e22 100644 --- a/include/osmocom/core/rate_ctr.h +++ b/include/osmocom/core/rate_ctr.h @@ -111,10 +111,6 @@ typedef int (*rate_ctr_group_handler_t)(struct rate_ctr_group *, void *); -/*! Iterate over all counters - * \param[in] handle_item Call-back function, aborts if rc < 0 - * \param[in] data Private data handed through to \a handle_counter - */ int rate_ctr_for_each_counter(struct rate_ctr_group *ctrg, rate_ctr_handler_t handle_counter, void *data); diff --git a/src/rate_ctr.c b/src/rate_ctr.c index c9319a6..82fddc6 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -385,7 +385,7 @@ } /*! Iterate over each counter in group and call function - * \param[in] counter group over whose counter to iterate + * \param[in] ctrg counter group over which to iterate * \param[in] handle_counter function pointer * \param[in] data Data to hand transparently to \ref handle_counter * \returns 0 on success; negative otherwise -- To view, visit https://gerrit.osmocom.org/13409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icca2d4a95bd5f96ae85a86909ec90fb8677cacf3 Gerrit-Change-Number: 13409 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:56 +0000 Subject: Change in libosmocore[master]: src/rate_ctr.c: drop some incorrect \ref references In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13410 ) Change subject: src/rate_ctr.c: drop some incorrect \ref references ...................................................................... src/rate_ctr.c: drop some incorrect \ref references rate_ctr.c:411: warning: unable to resolve reference to `handle_group' for \ref command rate_ctr.c:208: warning: unable to resolve reference to `talloc' for \ref command Change-Id: I24a80ff6cf11ce0455529515d1ecb9900f0271a8 --- M src/rate_ctr.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 82fddc6..026670b 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -206,7 +206,7 @@ } /*! Allocate a new group of counters according to description - * \param[in] ctx \ref talloc context + * \param[in] ctx parent talloc context * \param[in] desc Rate counter group description * \param[in] idx Index of new counter group */ @@ -387,7 +387,7 @@ /*! Iterate over each counter in group and call function * \param[in] ctrg counter group over which to iterate * \param[in] handle_counter function pointer - * \param[in] data Data to hand transparently to \ref handle_counter + * \param[in] data Data to hand transparently to handle_counter() * \returns 0 on success; negative otherwise */ int rate_ctr_for_each_counter(struct rate_ctr_group *ctrg, @@ -409,7 +409,7 @@ /*! Iterate over all counter groups * \param[in] handle_group function pointer of callback function - * \param[in] data Data to hand transparently to \ref handle_group + * \param[in] data Data to hand transparently to handle_group() * \returns 0 on success; negative otherwise */ int rate_ctr_for_each_group(rate_ctr_group_handler_t handle_group, void *data) -- To view, visit https://gerrit.osmocom.org/13410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I24a80ff6cf11ce0455529515d1ecb9900f0271a8 Gerrit-Change-Number: 13410 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:51:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:51:56 +0000 Subject: Change in libosmocore[master]: Doxygen: fix documentation of osmo_timer_setup() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13411 ) Change subject: Doxygen: fix documentation of osmo_timer_setup() ...................................................................... Doxygen: fix documentation of osmo_timer_setup() This change fixes the following Doxygen warnings: timer.c:69: warning: argument 'callback' of command @param is not found in the argument list of osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data) timer.c:69: warning: argument 'pointer' of command @param is not found in the argument list of osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data) core/timer.h:70: warning: The following parameters of osmo_timer_setup(struct osmo_timer_list *timer, void(*cb)(void *data), void *data) are not documented: parameter 'cb' parameter 'data' Change-Id: If5668f40a7bfde2f4f22329a071c8c6eff23b99e --- M src/timer.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/timer.c b/src/timer.c index 02160a1..0b2e3dd 100644 --- a/src/timer.c +++ b/src/timer.c @@ -68,8 +68,8 @@ /*! set up timer callback and data * \param[in] timer the timer that should be added - * \param[in] callback function to be called when timer expires - * \param[in] pointer to data that passed to the callback function + * \param[in] cb function to be called when timer expires + * \param[in] data pointer to data that passed to the callback function */ void osmo_timer_setup(struct osmo_timer_list *timer, void (*cb)(void *data), void *data) -- To view, visit https://gerrit.osmocom.org/13411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If5668f40a7bfde2f4f22329a071c8c6eff23b99e Gerrit-Change-Number: 13411 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:52:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:52:09 +0000 Subject: Change in libosmocore[master]: logging_gsmtap.c: document all params of log_target_create_gsmtap() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13400 ) Change subject: logging_gsmtap.c: document all params of log_target_create_gsmtap() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id7bd6b4fb4be571af351f77aa4a59b9e1076434f Gerrit-Change-Number: 13400 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 09:52:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:53:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:53:50 +0000 Subject: Change in libosmocore[master]: logging_gsmtap.c: document all params of log_target_create_gsmtap() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13400 ) Change subject: logging_gsmtap.c: document all params of log_target_create_gsmtap() ...................................................................... logging_gsmtap.c: document all params of log_target_create_gsmtap() Change-Id: Id7bd6b4fb4be571af351f77aa4a59b9e1076434f --- M src/logging_gsmtap.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve diff --git a/src/logging_gsmtap.c b/src/logging_gsmtap.c index 98d2aad..bd64271 100644 --- a/src/logging_gsmtap.c +++ b/src/logging_gsmtap.c @@ -117,7 +117,11 @@ } /*! Create a new logging target for GSMTAP logging + * \param[in] host remote host to send the logs to + * \param[in] port remote port to send the logs to * \param[in] ident string identifier + * \param[in] ofd_wq_mode register osmo_wqueue (1) or not (0) + * \param[in] add_sink add GSMTAP sink or not * \returns Log target in case of success, NULL in case of error */ struct log_target *log_target_create_gsmtap(const char *host, uint16_t port, -- To view, visit https://gerrit.osmocom.org/13400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id7bd6b4fb4be571af351f77aa4a59b9e1076434f Gerrit-Change-Number: 13400 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:57:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:57:09 +0000 Subject: Change in osmo-bts[master]: rsl.c: Add missing #include of gsm0808.h In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13425 ) Change subject: rsl.c: Add missing #include of gsm0808.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4aed0242737602e61b785862e3c37c963bf48455 Gerrit-Change-Number: 13425 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 09:57:09 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:57:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:57:10 +0000 Subject: Change in osmo-bts[master]: rsl.c: Add missing #include of gsm0808.h In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13425 ) Change subject: rsl.c: Add missing #include of gsm0808.h ...................................................................... rsl.c: Add missing #include of gsm0808.h This fixes the below compile error: rsl.c:900:43: error: ?gsm0808_chosen_enc_alg_names? undeclared (first use in this function) Change-Id: I4aed0242737602e61b785862e3c37c963bf48455 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/common/rsl.c b/src/common/rsl.c index fce3495..9334ed9 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include -- To view, visit https://gerrit.osmocom.org/13425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4aed0242737602e61b785862e3c37c963bf48455 Gerrit-Change-Number: 13425 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 09:57:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 09:57:41 +0000 Subject: Change in osmo-bts[master]: contrib: Remove deprecated screen script helpers In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13423 ) Change subject: contrib: Remove deprecated screen script helpers ...................................................................... contrib: Remove deprecated screen script helpers Nowadays only known users (OE images) use systemd and don't require this kind of screen setup. In any case, this kind of file belongs to scpeific setup and are not needed here. Change-Id: I65b0eee44336e4627620443861092b8988f2e01d --- M Makefile.am D contrib/l1fwd.init D contrib/respawn-only.sh D contrib/respawn.sh D contrib/screenrc-l1fwd D contrib/screenrc-sysmobts 6 files changed, 1 insertion(+), 72 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index e403f5e..62bad69 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,8 +5,7 @@ # package the contrib and doc EXTRA_DIST = \ - contrib/dump_docs.py contrib/screenrc-l1fwd \ - contrib/l1fwd.init contrib/screenrc-sysmobts contrib/respawn.sh \ + contrib/dump_docs.py \ git-version-gen .version \ README.md diff --git a/contrib/l1fwd.init b/contrib/l1fwd.init deleted file mode 100755 index b228580..0000000 --- a/contrib/l1fwd.init +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: l1fwd -# Required-Start: -# Required-Stop: $local_fs -# Default-Start: 5 -# Default-Stop: 0 6 -# Short-Description: Start screen session with l1fwd software -# Description: -### END INIT INFO - -. /etc/default/rcS - -case "$1" in - start) - /usr/bin/screen -d -m -c /etc/osmocom/screenrc-l1fwd - ;; - stop) - echo "This script doesn't support stop" - exit 1 - ;; - restart|reload|force-reload) - exit 0 - ;; - show) - ;; - *) - echo "Usage: sysmobts {start|stop|show|reload|restart}" >&2 - exit 1 - ;; -esac diff --git a/contrib/respawn-only.sh b/contrib/respawn-only.sh deleted file mode 100755 index 478abd6..0000000 --- a/contrib/respawn-only.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -PID=$$ -echo "-1000" > /proc/$PID/oom_score_adj - -trap "{ kill 0; kill -2 0; }" EXIT - -while [ -f $1 ]; do - (echo "0" > /proc/self/oom_score_adj && exec nice -n -20 $*) & - LAST_PID=$! - wait $LAST_PID - sleep 10s -done diff --git a/contrib/respawn.sh b/contrib/respawn.sh deleted file mode 100755 index 196edad..0000000 --- a/contrib/respawn.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -PID=$$ -echo "-1000" > /proc/$PID/oom_score_adj - -trap "kill 0" EXIT - -while [ -e /etc/passwd ]; do - cat /lib/firmware/sysmobts-v?.bit > /dev/fpgadl_par0 - sleep 2s - cat /lib/firmware/sysmobts-v?.out > /dev/dspdl_dm644x_0 - sleep 1s - echo "0" > /sys/class/leds/activity_led/brightness - (echo "0" > /proc/self/oom_score_adj && exec nice -n -20 $*) & - LAST_PID=$! - wait $LAST_PID - sleep 10s -done diff --git a/contrib/screenrc-l1fwd b/contrib/screenrc-l1fwd deleted file mode 100644 index 4256a38..0000000 --- a/contrib/screenrc-l1fwd +++ /dev/null @@ -1,3 +0,0 @@ -chdir /tmp -screen -t BTS 0 /etc/osmocom/respawn.sh /usr/bin/l1fwd-proxy -detach diff --git a/contrib/screenrc-sysmobts b/contrib/screenrc-sysmobts deleted file mode 100644 index 9c810d9..0000000 --- a/contrib/screenrc-sysmobts +++ /dev/null @@ -1,5 +0,0 @@ -chdir /tmp -screen -t BTS 0 /etc/osmocom/respawn.sh /usr/bin/osmo-bts-sysmo -c /etc/osmocom/osmo-bts.cfg -r 1 -M -screen -t PCU 1 /etc/osmocom/respawn-only.sh /usr/bin/osmo-pcu -c /etc/osmocom/osmo-pcu.cfg -e -screen -t MGR 2 /etc/osmocom/respawn-only.sh /usr/bin/sysmobts-mgr -n -c /etc/osmocom/sysmobts-mgr.cfg -detach -- To view, visit https://gerrit.osmocom.org/13423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I65b0eee44336e4627620443861092b8988f2e01d Gerrit-Change-Number: 13423 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:10:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:10:22 +0000 Subject: Change in osmo-bts[master]: vty: add function gsmnet_from_vty() to vty.h In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13276 ) Change subject: vty: add function gsmnet_from_vty() to vty.h ...................................................................... vty: add function gsmnet_from_vty() to vty.h The function gsmnet_from_vty() is used in oc2gbts_vty.c, but it is not declared in vty.h. Lets add the declaration to vty.h, so that gsmnet_from_vty() can be used properly by other modules. Change-Id: I8cf63c6fabdb1f2dc67ca8193704ce4d1d4882d9 --- M include/osmo-bts/vty.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmo-bts/vty.h b/include/osmo-bts/vty.h index d27acb5..d90a989 100644 --- a/include/osmo-bts/vty.h +++ b/include/osmo-bts/vty.h @@ -27,6 +27,8 @@ int bts_vty_init(struct gsm_bts *bts, const struct log_info *cat); +struct gsm_network *gsmnet_from_vty(struct vty *v); + extern struct vty_app_info bts_vty_info; #endif -- To view, visit https://gerrit.osmocom.org/13276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8cf63c6fabdb1f2dc67ca8193704ce4d1d4882d9 Gerrit-Change-Number: 13276 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:10:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:10:47 +0000 Subject: Change in osmo-bts[master]: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13296 ) Change subject: main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT ...................................................................... main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT SIGUSR1/2 and SIGABRT should not trigger a failure event report on OML since we only use it to get an intermediate talloc report. (In case of SIGUSR1/2 without leaving the process.) Change-Id: I99e637496afff2530425b89c6e9befc76db24906 --- M src/common/main.c 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/main.c b/src/common/main.c index 3a53813..9575f57 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -192,9 +192,6 @@ case SIGABRT: case SIGUSR1: case SIGUSR2: - oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP, - "BTS: signal %d (%s) received", signal, - strsignal(signal)); talloc_report_full(tall_bts_ctx, stderr); break; default: -- To view, visit https://gerrit.osmocom.org/13296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I99e637496afff2530425b89c6e9befc76db24906 Gerrit-Change-Number: 13296 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:10:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:10:58 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13268 ) Change subject: oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() ...................................................................... oml: use oml_tx_failure_event_rep() instead of oml_fail_rep() The function oml_tx_failure_event_rep() replaces oml_fail_rep(), so lets use only oml_tx_failure_event_rep() and remove oml_fail_rep() Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Related: OS#3843 --- M include/osmo-bts/oml.h M src/common/bts.c M src/common/l1sap.c M src/common/main.c M src/common/oml.c M src/common/rsl.c 6 files changed, 26 insertions(+), 34 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h index a87d438..5136058 100644 --- a/include/osmo-bts/oml.h +++ b/include/osmo-bts/oml.h @@ -45,8 +45,6 @@ extern const unsigned int oml_default_t200_ms[7]; /* Transmit failure event report */ -void oml_fail_rep(uint16_t cause_value, const char *fmt, ...); - int oml_tx_failure_event_rep(const struct gsm_abis_mo *mo, uint16_t cause_value, const char *fmt, ...); diff --git a/src/common/bts.c b/src/common/bts.c index abbaeb4..8c2b2fe 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -309,10 +309,13 @@ rc = rsl_tx_rf_res(trx); else rc = bts_model_trx_deact_rf(trx); - if (rc < 0) - oml_fail_rep(OSMO_EVT_MAJ_RSL_FAIL, - link ? "Failed to establish RSL link (%d)" : - "Failed to deactivate RF (%d)", rc); + if (rc < 0) { + oml_tx_failure_event_rep(&trx->bb_transc.mo, OSMO_EVT_MAJ_RSL_FAIL, + link ? + "Failed to establish RSL link (%d)" : + "Failed to deactivate RF (%d)", rc); + } + return 0; } diff --git a/src/common/l1sap.c b/src/common/l1sap.c index a1b0464..f8f3fef 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1364,8 +1364,10 @@ default: LOGP(DL1P, LOGL_NOTICE, "unknown prim %d op %d\n", l1sap->oph.primitive, l1sap->oph.operation); - oml_fail_rep(OSMO_EVT_MAJ_UKWN_MSG, "unknown prim %d op %d", - l1sap->oph.primitive, l1sap->oph.operation); + oml_tx_failure_event_rep(&trx->mo, OSMO_EVT_MAJ_UKWN_MSG, + "unknown prim %d op %d", + l1sap->oph.primitive, + l1sap->oph.operation); break; } diff --git a/src/common/main.c b/src/common/main.c index 9575f57..0d84c18 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -183,8 +183,9 @@ case SIGINT: case SIGTERM: if (!quit) { - oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP, - "BTS: SIGINT received -> shutdown"); + oml_tx_failure_event_rep(&bts->mo, + OSMO_EVT_CRIT_PROC_STOP, + "BTS: SIGINT received -> shutdown"); bts_shutdown(bts, "SIGINT"); } quit++; diff --git a/src/common/oml.c b/src/common/oml.c index ac388d1..7ff5967 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -87,21 +87,6 @@ return oml_mo_send_msg(mo, nmsg, NM_MT_FAILURE_EVENT_REP); } -void oml_fail_rep(uint16_t cause_value, const char *fmt, ...) -{ - va_list ap; - char *rep; - - va_start(ap, fmt); - rep = talloc_asprintf(tall_bts_ctx, fmt, ap); - va_end(ap); - - osmo_signal_dispatch(SS_FAIL, cause_value, rep); - /* signal dispatch is synchronous so all the signal handlers are - finished already: we're free to free */ - talloc_free(rep); -} - /* Push OM header in front of msgb and send it */ int oml_send_msg(struct msgb *msg, int is_manuf) { diff --git a/src/common/rsl.c b/src/common/rsl.c index 9334ed9..f93ca50 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -466,9 +466,10 @@ rc = paging_add_identity(bts->paging_state, paging_group, identity_lv, chan_needed); if (rc < 0) { /* FIXME: notfiy the BSC on other errors? */ - if (rc == -ENOSPC) - oml_fail_rep(OSMO_EVT_MIN_PAG_TAB_FULL, - "BTS paging table is full"); + if (rc == -ENOSPC) { + oml_tx_failure_event_rep(&trx->bts->mo, OSMO_EVT_MIN_PAG_TAB_FULL, + "BTS paging table is full"); + } } pcu_tx_pag_req(identity_lv, chan_needed); @@ -1938,9 +1939,10 @@ LOGP(DRTP, LOGL_ERROR, "%s IPAC Failed to create RTP/RTCP sockets\n", gsm_lchan_name(lchan)); - oml_fail_rep(OSMO_EVT_CRIT_RTP_TOUT, - "%s IPAC Failed to create RTP/RTCP sockets", - gsm_lchan_name(lchan)); + oml_tx_failure_event_rep(&lchan->ts->trx->mo, + OSMO_EVT_CRIT_RTP_TOUT, + "%s IPAC Failed to create RTP/RTCP sockets", + gsm_lchan_name(lchan)); return tx_ipac_XXcx_nack(lchan, RSL_ERR_RES_UNAVAIL, inc_ip_port, dch->c.msg_type); } @@ -1979,9 +1981,10 @@ LOGP(DRTP, LOGL_ERROR, "%s IPAC Failed to bind RTP/RTCP sockets\n", gsm_lchan_name(lchan)); - oml_fail_rep(OSMO_EVT_CRIT_RTP_TOUT, - "%s IPAC Failed to bind RTP/RTCP sockets", - gsm_lchan_name(lchan)); + oml_tx_failure_event_rep(&lchan->ts->trx->mo, + OSMO_EVT_CRIT_RTP_TOUT, + "%s IPAC Failed to bind RTP/RTCP sockets", + gsm_lchan_name(lchan)); osmo_rtp_socket_free(lchan->abis_ip.rtp_socket); lchan->abis_ip.rtp_socket = NULL; msgb_queue_flush(&lchan->dl_tch_queue); -- To view, visit https://gerrit.osmocom.org/13268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Gerrit-Change-Number: 13268 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:10:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:10:58 +0000 Subject: Change in osmo-bts[master]: oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13269 ) Change subject: oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL ...................................................................... oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL At some locations in the code a signal to SS_FAIL is dispatched in order to trigger the sending of an OML failure event report in oml.c. This is a bit overcomplicated for the task. Lets use oml_tx_failure_event_rep() to send the failure event reports and lets remove the signal handler for SS_FAIL. Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Related: OS#3843 --- M include/osmo-bts/signal.h M src/common/bts_ctrl_commands.c M src/common/oml.c M src/common/pcu_sock.c 4 files changed, 10 insertions(+), 17 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/signal.h b/include/osmo-bts/signal.h index 01d4099..c8168a2 100644 --- a/include/osmo-bts/signal.h +++ b/include/osmo-bts/signal.h @@ -5,7 +5,6 @@ enum sig_subsys { SS_GLOBAL, - SS_FAIL, }; enum signals_global { diff --git a/src/common/bts_ctrl_commands.c b/src/common/bts_ctrl_commands.c index 4efb4ee..47d8a5d 100644 --- a/src/common/bts_ctrl_commands.c +++ b/src/common/bts_ctrl_commands.c @@ -34,6 +34,8 @@ #include #include +static struct gsm_bts *g_bts; + CTRL_CMD_DEFINE(therm_att, "thermal-attenuation"); static int get_therm_att(struct ctrl_cmd *cmd, void *data) { @@ -75,7 +77,7 @@ static int set_oml_alert(struct ctrl_cmd *cmd, void *data) { /* Note: we expect signal dispatch to be synchronous */ - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_EXT_ALARM, cmd->value); + oml_tx_failure_event_rep(&g_bts->mo, OSMO_EVT_EXT_ALARM, cmd->value); cmd->reply = "OK"; @@ -88,6 +90,7 @@ rc |= ctrl_cmd_install(CTRL_NODE_TRX, &cmd_therm_att); rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_oml_alert); + g_bts = bts; return rc; } diff --git a/src/common/oml.c b/src/common/oml.c index 7ff5967..c96a893 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -1493,23 +1493,11 @@ return ret; } -static int handle_fail_sig(unsigned int subsys, unsigned int signal, void *handle, - void *signal_data) -{ - if (signal_data) - oml_tx_failure_event_rep(handle, signal, "%s", signal_data); - else - oml_tx_failure_event_rep(handle, signal, ""); - - return 0; -} - int oml_init(struct gsm_abis_mo *mo) { DEBUGP(DOML, "Initializing OML attribute definitions\n"); tlv_def_patch(&abis_nm_att_tlvdef_ipa_local, &abis_nm_att_tlvdef_ipa); tlv_def_patch(&abis_nm_att_tlvdef_ipa_local, &abis_nm_att_tlvdef); - osmo_signal_register_handler(SS_FAIL, handle_fail_sig, mo); return 0; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 2c7028e..440f561 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -43,6 +43,7 @@ #include #include #include +#include uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx); @@ -577,7 +578,7 @@ case PCU_VERSION: LOGP(DPCU, LOGL_INFO, "OsmoPCU version %s connected\n", txt->text); - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_PCU_VERS, txt->text); + oml_tx_failure_event_rep(&bts->gprs.cell.mo, OSMO_EVT_PCU_VERS, txt->text); osmo_strlcpy(bts->pcu_version, txt->text, MAX_VERSION_LENGTH); if (GSM_BTS_HAS_SI(bts, SYSINFO_TYPE_13)) @@ -586,7 +587,7 @@ LOGP(DPCU, LOGL_INFO, "SI13 is not available on PCU connection\n"); break; case PCU_OML_ALERT: - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_EXT_ALARM, txt->text); + oml_tx_failure_event_rep(&bts->gprs.cell.mo, OSMO_EVT_EXT_ALARM, txt->text); break; default: LOGP(DPCU, LOGL_ERROR, "Unknown TXT_IND type %u received\n", @@ -713,7 +714,9 @@ bts = llist_entry(state->net->bts_list.next, struct gsm_bts, list); LOGP(DPCU, LOGL_NOTICE, "PCU socket has LOST connection\n"); - osmo_signal_dispatch(SS_FAIL, OSMO_EVT_PCU_VERS, NULL); + oml_tx_failure_event_rep(&bts->gprs.cell.mo, OSMO_EVT_PCU_VERS, + "PCU socket has LOST connection"); + bts->pcu_version[0] = '\0'; close(bfd->fd); -- To view, visit https://gerrit.osmocom.org/13269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie4fce1273a19cc14f37ff6fc7582b2945c7e7c47 Gerrit-Change-Number: 13269 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:15:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:15:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Add minimal support for SGSN-side SNS handling In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13046 ) Change subject: NS_Emulation: Add minimal support for SGSN-side SNS handling ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1edf739d6fd39478f662a28a7d9334ca51c270a3 Gerrit-Change-Number: 13046 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:15:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:15:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:15:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Disable sending NS-RESET from SGSN to BSS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13047 ) Change subject: NS_Emulation: Disable sending NS-RESET from SGSN to BSS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2a5775fcaf63ac008adecaf2c602c82e9e4ccb5a Gerrit-Change-Number: 13047 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:15:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13374 ) Change subject: PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6eaca0ec7fb9c2dc5d59e385bc3a3a8bb85fe23a Gerrit-Change-Number: 13374 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Ensure we're always using the same defaults for the CGI In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13375 ) Change subject: pcu: Ensure we're always using the same defaults for the CGI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iac9be9a8d4ccb4d01cc343d763d2e35873e3844f Gerrit-Change-Number: 13375 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13376 ) Change subject: pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic60a7fc657df17ff2d3a889501f0576b98f1f4ad Gerrit-Change-Number: 13376 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSGP_Emulation: Handle incoming BVCI=0 messages In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13377 ) Change subject: BSSGP_Emulation: Handle incoming BVCI=0 messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8 Gerrit-Change-Number: 13377 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Add enc_RoutingAreaIdentification() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13378 ) Change subject: GSM_RR_Types: Add enc_RoutingAreaIdentification() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28222304b2bac893b216c47e6dc002886fab6406 Gerrit-Change-Number: 13378 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13379 ) Change subject: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa Gerrit-Change-Number: 13379 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13380 ) Change subject: pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifdb64c501095839e86894716769adb53e3c17382 Gerrit-Change-Number: 13380 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13381 ) Change subject: PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ib7661790b9531be829ee550ce889151ebe1885ac Gerrit-Change-Number: 13381 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: make f_bssgp_establish() run on BSSGP_Client_CT In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13382 ) Change subject: PCU: make f_bssgp_establish() run on BSSGP_Client_CT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1aa5dc090aac78a85a85ac190343befb0199a093 Gerrit-Change-Number: 13382 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:16 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:16:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:16:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13383 ) Change subject: pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iaf35e0c1087413db1dc7d169fa716df14c78f5db Gerrit-Change-Number: 13383 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 11:16:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Add minimal support for SGSN-side SNS handling In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13046 ) Change subject: NS_Emulation: Add minimal support for SGSN-side SNS handling ...................................................................... NS_Emulation: Add minimal support for SGSN-side SNS handling Change-Id: I1edf739d6fd39478f662a28a7d9334ca51c270a3 --- M library/NS_Emulation.ttcn M pcu/PCU_Tests.ttcn M sgsn/SGSN_Tests.ttcn 3 files changed, 57 insertions(+), 5 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/NS_Emulation.ttcn b/library/NS_Emulation.ttcn index 6915993..9ad89cb 100644 --- a/library/NS_Emulation.ttcn +++ b/library/NS_Emulation.ttcn @@ -116,7 +116,9 @@ PortNumber remote_udp_port, charstring remote_ip, Nsvci nsvci, - Nsvci nsei + Nsvci nsei, + boolean role_sgsn, + boolean handle_sns } private function f_change_state(NseState new_state) runs on NS_CT { @@ -192,6 +194,8 @@ /* FIXME */ } + [config.role_sgsn and config.handle_sns] as_sns_sgsn(); + /* default case of handling unknown PDUs */ [] NSCP.receive(t_NS_RecvFrom(?)) -> value rf { log("Rx Unexpected NS PDU ", rf.msg," in state ", g_state); @@ -201,6 +205,46 @@ [] NSCP.receive(ASP_Event:?) -> value evt { NS_SP.send(evt); } } + /* simple IP Sub-Network Service responder for the SGSN side. This is not a full implementation + * of the protocol, merely sufficient to make the PCU/BSS side happy to proceed */ + altstep as_sns_sgsn() runs on NS_CT { + var NS_RecvFrom rf; + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_SIZE(config.nsei))) -> value rf { + /* blindly acknowledge whatever the PCU sends */ + NSCP.send(t_NS_Send(g_conn_id, ts_SNS_SIZE_ACK(config.nsei, omit))); + } + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_SIZE(?))) { + setverdict(fail, "SNS-SIZE from unexpected NSEI"); + self.stop; + } + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_CONFIG(config.nsei, true, + {tr_SNS_IPv4(config.remote_ip, config.remote_udp_port)}))) -> value rf { + /* blindly acknowledge whatever the PCU sends */ + NSCP.send(t_NS_Send(g_conn_id, ts_SNS_CONFIG_ACK(config.nsei, omit))); + /* send a SNS-CONFIG in response and expect a SNS-CONFIG-ACK */ + var IP4_Elements v4 := { valueof(ts_SNS_IPv4(config.local_ip, config.local_udp_port)) }; + NSCP.send(t_NS_Send(g_conn_id, ts_SNS_CONFIG(config.nsei, true, v4))); + alt { + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_CONFIG_ACK(config.nsei, omit))) { + /* success */ + } + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_CONFIG_ACK(config.nsei, ?))) { + setverdict(fail, "Unexpected SNS-CONFIG-NACK"); + self.stop; + } + } + } + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_CONFIG(config.nsei, false, ?))) { /* ignore */} + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_CONFIG(config.nsei, true, ?))) { + setverdict(fail, "Unexpected SNS-CONFIG content"); + self.stop; + } + [] NSCP.receive(t_NS_RecvFrom(tr_SNS_CONFIG(?, ?, ?))) { + setverdict(fail, "SNS-CONFIG from unexpected NSEI"); + self.stop; + } + } + private function f_ScanEvents() runs on NS_CT { var NsUnitdataRequest ud_req; var NS_RecvFrom rf; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 6e8185d..f63c4ad 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -43,7 +43,9 @@ remote_udp_port := 21000, remote_ip := "127.0.0.1", nsvci := 0, - nsei := 2342 + nsei := 2342, + role_sgsn := true, + handle_sns := true }; } diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index a2e93c0..8b639e6 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -51,7 +51,9 @@ remote_udp_port := 23000, remote_ip := "127.0.0.1", nsvci := 97, - nsei := 96 + nsei := 96, + role_sgsn := false, + handle_sns := false }, { local_udp_port := 21011, @@ -59,7 +61,9 @@ remote_udp_port := 23000, remote_ip := "127.0.0.1", nsvci := 98, - nsei := 97 + nsei := 97, + role_sgsn := false, + handle_sns := false }, { local_udp_port := 21012, @@ -67,7 +71,9 @@ remote_udp_port := 23000, remote_ip := "127.0.0.1", nsvci := 99, - nsei := 98 + nsei := 98, + role_sgsn := false, + handle_sns := false } }; }; -- To view, visit https://gerrit.osmocom.org/13046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1edf739d6fd39478f662a28a7d9334ca51c270a3 Gerrit-Change-Number: 13046 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Disable sending NS-RESET from SGSN to BSS In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13047 ) Change subject: NS_Emulation: Disable sending NS-RESET from SGSN to BSS ...................................................................... NS_Emulation: Disable sending NS-RESET from SGSN to BSS Change-Id: I2a5775fcaf63ac008adecaf2c602c82e9e4ccb5a --- M library/NS_Emulation.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/NS_Emulation.ttcn b/library/NS_Emulation.ttcn index 9ad89cb..89e25ea 100644 --- a/library/NS_Emulation.ttcn +++ b/library/NS_Emulation.ttcn @@ -91,7 +91,9 @@ g_conn_id := res.connId; f_change_state(NSE_S_DEAD_BLOCKED); /* Send the first NS-ALIVE to test the connection */ - f_sendReset(); + if (not config.role_sgsn) { + f_sendReset(); + } } type component NS_CT { -- To view, visit https://gerrit.osmocom.org/13047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2a5775fcaf63ac008adecaf2c602c82e9e4ccb5a Gerrit-Change-Number: 13047 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13374 ) Change subject: PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style ...................................................................... PCU_Tests.ttcn: Use "normal" Osmocom TTCN-3 coding style Change-Id: I6eaca0ec7fb9c2dc5d59e385bc3a3a8bb85fe23a --- M pcu/PCU_Tests.ttcn 1 file changed, 534 insertions(+), 534 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f63c4ad..09885bd 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1,318 +1,318 @@ module PCU_Tests { - import from General_Types all; - import from Osmocom_Types all; - import from GSM_Types all; - import from GSM_RR_Types all; - import from Osmocom_Gb_Types all; - import from BSSGP_Types all; - import from BSSGP_Emulation all; - import from NS_Types all; - import from NS_Emulation all; - import from LLC_Types all; - import from LLC_Templates all; - import from RLCMAC_Types all; - import from RLCMAC_CSN1_Types all; - import from LAPDm_RAW_PT all; - import from GPRS_Context all; - import from GPRS_TBF all; - import from L1CTL_PortType all; - import from MobileL3_Types all; - import from MobileL3_CommonIE_Types all; - import from L3_Templates all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; +import from Osmocom_Gb_Types all; +import from BSSGP_Types all; +import from BSSGP_Emulation all; +import from NS_Types all; +import from NS_Emulation all; +import from LLC_Types all; +import from LLC_Templates all; +import from RLCMAC_Types all; +import from RLCMAC_CSN1_Types all; +import from LAPDm_RAW_PT all; +import from GPRS_Context all; +import from GPRS_TBF all; +import from L1CTL_PortType all; +import from MobileL3_Types all; +import from MobileL3_CommonIE_Types all; +import from L3_Templates all; - modulepar { - BssgpConfig mp_gb_cfg := { - nsei := 1234, - bvci := 1234, - cell_id := { - ra_id := { - lai := { - mcc_mnc := '26242F'H, lac := 13135 - }, - rac := 0 +modulepar { + BssgpConfig mp_gb_cfg := { + nsei := 1234, + bvci := 1234, + cell_id := { + ra_id := { + lai := { + mcc_mnc := '26242F'H, lac := 13135 }, - cell_id := 20960 + rac := 0 }, - sgsn_role := true - }; + cell_id := 20960 + }, + sgsn_role := true + }; - NSConfiguration mp_nsconfig := { - local_udp_port := 23000, - local_ip := "127.0.0.1", - remote_udp_port := 21000, - remote_ip := "127.0.0.1", - nsvci := 0, - nsei := 2342, - role_sgsn := true, - handle_sns := true - }; + NSConfiguration mp_nsconfig := { + local_udp_port := 23000, + local_ip := "127.0.0.1", + remote_udp_port := 21000, + remote_ip := "127.0.0.1", + nsvci := 0, + nsei := 2342, + role_sgsn := true, + handle_sns := true + }; +} + +type component dummy_CT extends BSSGP_Client_CT { + var lapdm_CT lapdm_component; + port LAPDm_PT L1; + + var NS_CT ns_component; + var BSSGP_CT bssgp_component; + + var MmContext g_mmctx := { + tlli := 'FFFFFFFF'O, + n_u := 0 + }; + + var boolean g_initialized := false; +} + +function f_init() runs on dummy_CT { + if (g_initialized == true) { + return; } + g_initialized := true; + /* create a new NS component */ + ns_component := NS_CT.create; + bssgp_component := BSSGP_CT.create; + /* connect our BSSGP port to the BSSGP Emulation */ + connect(self:BSSGP[0], bssgp_component:BSSGP_SP); + connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); + connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); + /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ + connect(bssgp_component:BSCP, ns_component:NS_SP); + /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ + map(ns_component:NSCP, system:NS_CODEC_PORT); + ns_component.start(NSStart(mp_nsconfig)); + bssgp_component.start(BssgpStart(mp_gb_cfg)); - type component dummy_CT extends BSSGP_Client_CT { - var lapdm_CT lapdm_component; - port LAPDm_PT L1; + lapdm_component := lapdm_CT.create; + connect(self:L1, lapdm_component:LAPDM_SP); + map(lapdm_component:L1CTL, system:L1CTL); + lapdm_component.start(LAPDmStart()); - var NS_CT ns_component; - var BSSGP_CT bssgp_component; + f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_establish(); +} - var MmContext g_mmctx := { - tlli := 'FFFFFFFF'O, - n_u := 0 - }; +function f_exit() runs on dummy_CT { + lapdm_component.stop; + ns_component.stop; + bssgp_component.stop; +} - var boolean g_initialized := false; +function f_bssgp_dec_and_log(in octetstring inp) { + log("BSSGP Input: ", inp); + var PDU_BSSGP dec := dec_PDU_BSSGP(inp); + log("BSSGP Decoded: ", dec); +} + +testcase TC_selftest_bssgp() runs on dummy_CT { + const octetstring c_bvc_reset_pcu := '2204820000078108088832f44000c80051e0'O; + const octetstring c_bvc_reset_q := '2204820000078100'O; + const octetstring c_status_pcu := '4107810515882204820000078103'O; + const octetstring c_reset_ack_q := '2304820000'O; + const octetstring c_reset_ack_pcu := '23048200c4'O; + const octetstring c_unblock_pcu := '24048200c4'O; + const octetstring c_unblock_ack_q := '25048200c4'O; + const octetstring c_fc_bvc_pcu := '261e8101058200fa038200c8018200fa1c8200c806820000'O; + const octetstring c_fc_bvc_ack_q := '271e8101'O; + const octetstring c_gmm_mo_att_req := '01bb146ddd000004088832f44000c80051e000800e003b01c001080103e5e000110a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c0002017057bf0ec'O; + const octetstring c_gmm_mt_ac_req := '00bb146ddd0050001682ffff0a8204030e9c41c001081200102198c72477ea104895e8b959acc58b108182f4d045'O; + const octetstring c_gmm_mo_ac_resp := '01bb146ddd000004088832f44000c80051e000800e000e01c00508130122fa361f5fdd623d'O; + const octetstring c_gmm_mt_att_acc := '00bb146ddd0050001682ffff0a8204030e9841c005080201340432f44000c8001805f4fb146ddd0967d0'O; + const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O; + const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O; + + f_bssgp_dec_and_log(c_bvc_reset_pcu); + f_bssgp_dec_and_log(c_bvc_reset_q); + f_bssgp_dec_and_log(c_status_pcu); + f_bssgp_dec_and_log(c_reset_ack_q); + f_bssgp_dec_and_log(c_reset_ack_pcu); + f_bssgp_dec_and_log(c_unblock_pcu); + f_bssgp_dec_and_log(c_unblock_ack_q); + f_bssgp_dec_and_log(c_fc_bvc_pcu); + f_bssgp_dec_and_log(c_fc_bvc_ack_q); + f_bssgp_dec_and_log(c_gmm_mo_att_req); + f_bssgp_dec_and_log(c_gmm_mt_ac_req); + f_bssgp_dec_and_log(c_gmm_mo_ac_resp); + f_bssgp_dec_and_log(c_gmm_mt_att_acc); + f_bssgp_dec_and_log(c_gmm_mt_det_req); + f_bssgp_dec_and_log(c_gmm_mo_att_cpl); + + log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H)); +} + +function f_ns_assert_prepr(in octetstring a, in octetstring b) { + log("NS Input: ", a); + log("NS Expected: ", b); + + if (a != b) { + setverdict(fail, "Values mismatch", a, b); + mtc.stop; + } else { + setverdict(pass); } +} - function f_init() runs on dummy_CT { - if (g_initialized == true) { - return; +function f_ns_dec_and_log(in octetstring inp) { + log("NS Input: ", inp); + var PDU_NS dec := dec_PDU_NS(inp); + log("NS Decoded: ", dec); +} + +testcase TC_selftest_ns() runs on dummy_CT { + const octetstring c_ns_reset_pcu := '000000c4271e813d'O; + + /* single byte length to two byte length */ + f_ns_assert_prepr('04058101'O, '0405000101'O); + f_ns_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O); + /* two byte length to two byte length */ + f_ns_assert_prepr('0405000101'O, '0405000101'O); + /* special case: NS-UNITDATA */ + f_ns_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O); + /* multiple TLVs */ + f_ns_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O); + /* zero-length */ + f_ns_assert_prepr('230080'O, '23000000'O); + + f_ns_dec_and_log(c_ns_reset_pcu); +} + +const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O; + +/* Wrap downlink GMM into LLC, encode + send it via BSSGP to PCU */ +function tx_gmm(BIT1 c_r, in octetstring gmm_pdu, BIT4 sapi := c_LLC_SAPI_LLGMM) runs on dummy_CT { + var PDU_LLC llc; + + //log("GMM Tx: ", dec_PDU_L3_SGSN_MS(gmm_pdu)); + + log(c_r, g_mmctx.n_u, gmm_pdu, sapi); + llc := valueof(ts_LLC_UI(gmm_pdu, sapi, c_r, g_mmctx.n_u)); + log(llc); + g_mmctx.n_u := g_mmctx.n_u + 1; + + log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); + + BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); +} + +/* Establish BSSGP connection to PCU */ +function f_bssgp_establish() runs on dummy_CT { + timer T:= 10.0; + + f_init(); + T.start + alt { + [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } + [] BSSGP[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout establishing BSSGP connection"); + mtc.stop; } - g_initialized := true; - /* create a new NS component */ - ns_component := NS_CT.create; - bssgp_component := BSSGP_CT.create; - /* connect our BSSGP port to the BSSGP Emulation */ - connect(self:BSSGP[0], bssgp_component:BSSGP_SP); - connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); - connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); - /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ - connect(bssgp_component:BSCP, ns_component:NS_SP); - /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ - map(ns_component:NSCP, system:NS_CODEC_PORT); - ns_component.start(NSStart(mp_nsconfig)); - bssgp_component.start(BssgpStart(mp_gb_cfg)); - - lapdm_component := lapdm_CT.create; - connect(self:L1, lapdm_component:LAPDM_SP); - map(lapdm_component:L1CTL, system:L1CTL); - lapdm_component.start(LAPDmStart()); - - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); } + T.stop + log("BSSGP successfully initialized"); +} - function f_exit() runs on dummy_CT { - lapdm_component.stop; - ns_component.stop; - bssgp_component.stop; - } +function f_wait_paging_req_type1(hexstring expected_tmsi) runs on dummy_CT { + var LAPDm_ph_data ph_data; + timer T := 5.0; - function f_bssgp_dec_and_log(in octetstring inp) { - log("BSSGP Input: ", inp); - var PDU_BSSGP dec := dec_PDU_BSSGP(inp); - log("BSSGP Decoded: ", dec); - } + T.start; + alt { + [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { + var octetstring payload := substr(ph_data.lapdm.bbis.payload, 1, lengthof(ph_data.lapdm.bbis.payload) - 1); + var PDU_ML3_NW_MS pdu; - testcase TC_selftest_bssgp() runs on dummy_CT { - const octetstring c_bvc_reset_pcu := '2204820000078108088832f44000c80051e0'O; - const octetstring c_bvc_reset_q := '2204820000078100'O; - const octetstring c_status_pcu := '4107810515882204820000078103'O; - const octetstring c_reset_ack_q := '2304820000'O; - const octetstring c_reset_ack_pcu := '23048200c4'O; - const octetstring c_unblock_pcu := '24048200c4'O; - const octetstring c_unblock_ack_q := '25048200c4'O; - const octetstring c_fc_bvc_pcu := '261e8101058200fa038200c8018200fa1c8200c806820000'O; - const octetstring c_fc_bvc_ack_q := '271e8101'O; - const octetstring c_gmm_mo_att_req := '01bb146ddd000004088832f44000c80051e000800e003b01c001080103e5e000110a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c0002017057bf0ec'O; - const octetstring c_gmm_mt_ac_req := '00bb146ddd0050001682ffff0a8204030e9c41c001081200102198c72477ea104895e8b959acc58b108182f4d045'O; - const octetstring c_gmm_mo_ac_resp := '01bb146ddd000004088832f44000c80051e000800e000e01c00508130122fa361f5fdd623d'O; - const octetstring c_gmm_mt_att_acc := '00bb146ddd0050001682ffff0a8204030e9841c005080201340432f44000c8001805f4fb146ddd0967d0'O; - const octetstring c_gmm_mt_det_req := '00bb146ddd0050001682ffff0a8204030e8941c00908050215f0b6'O; - const octetstring c_gmm_mo_att_cpl := '01fb146ddd000004088832f44000c80051e000800e000801c009080339d7bc'O; + if (dec_PDU_ML3_NW_MS_backtrack(payload, pdu) != 0) { + repeat; + } - f_bssgp_dec_and_log(c_bvc_reset_pcu); - f_bssgp_dec_and_log(c_bvc_reset_q); - f_bssgp_dec_and_log(c_status_pcu); - f_bssgp_dec_and_log(c_reset_ack_q); - f_bssgp_dec_and_log(c_reset_ack_pcu); - f_bssgp_dec_and_log(c_unblock_pcu); - f_bssgp_dec_and_log(c_unblock_ack_q); - f_bssgp_dec_and_log(c_fc_bvc_pcu); - f_bssgp_dec_and_log(c_fc_bvc_ack_q); - f_bssgp_dec_and_log(c_gmm_mo_att_req); - f_bssgp_dec_and_log(c_gmm_mt_ac_req); - f_bssgp_dec_and_log(c_gmm_mo_ac_resp); - f_bssgp_dec_and_log(c_gmm_mt_att_acc); - f_bssgp_dec_and_log(c_gmm_mt_det_req); - f_bssgp_dec_and_log(c_gmm_mo_att_cpl); + if (not ischosen(pdu.msgs.rrm)) { + repeat; + } - log(ts_BSSGP_PS_PAGING_IMSI(196, '262420123456789'H)); - } - - function f_ns_assert_prepr(in octetstring a, in octetstring b) { - log("NS Input: ", a); - log("NS Expected: ", b); - - if (a != b) { - setverdict(fail, "Values mismatch", a, b); - mtc.stop; - } else { + if (match(pdu, tr_PAGING_REQ1(tr_PAGING_REQ1_MI1_TMSI(hex2oct(expected_tmsi))))) { setverdict(pass); + } else { + repeat; } } - - function f_ns_dec_and_log(in octetstring inp) { - log("NS Input: ", inp); - var PDU_NS dec := dec_PDU_NS(inp); - log("NS Decoded: ", dec); + [] L1.receive { repeat; } + [] T.timeout { setverdict(fail); } } +} - testcase TC_selftest_ns() runs on dummy_CT { - const octetstring c_ns_reset_pcu := '000000c4271e813d'O; +/* Send PS-PAGING via BSSGP to PCU, expect it to show up on L1/Um */ +testcase TC_paging() runs on dummy_CT { + var hexstring tmsi_hex := '01234567'H; + var GsmTmsi tmsi := hex2int(tmsi_hex); - /* single byte length to two byte length */ - f_ns_assert_prepr('04058101'O, '0405000101'O); - f_ns_assert_prepr('040589000102030405060708'O, '04050009000102030405060708'O); - /* two byte length to two byte length */ - f_ns_assert_prepr('0405000101'O, '0405000101'O); - /* special case: NS-UNITDATA */ - f_ns_assert_prepr('00aabbccddeeffaa29822342'O, '00aabbccddeeffaa2900022342'O); - /* multiple TLVs */ - f_ns_assert_prepr('234281aa4382bbbb'O, '23420001aa430002bbbb'O); - /* zero-length */ - f_ns_assert_prepr('230080'O, '23000000'O); + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); - f_ns_dec_and_log(c_ns_reset_pcu); - } + var BCCH_tune_req tune_req := { { false, 871 }, true }; + L1.send(tune_req); + /* FIXME: wait for confirm */ - const octetstring gmm_auth_req := '081200102198c72477ea104895e8b959acc58b108182'O; + /* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */ + /* + TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. + BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); + f_wait_paging_req_type1(hex2oct(g_mmctx.imsi)); + */ - /* Wrap downlink GMM into LLC, encode + send it via BSSGP to PCU */ - function tx_gmm(BIT1 c_r, in octetstring gmm_pdu, BIT4 sapi := c_LLC_SAPI_LLGMM) runs on dummy_CT { - var PDU_LLC llc; + /* Page by TMSI */ + BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); + f_wait_paging_req_type1(tmsi_hex); +} - //log("GMM Tx: ", dec_PDU_L3_SGSN_MS(gmm_pdu)); +/* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ +function f_establish_ul_tbf() runs on dummy_CT { + timer T := 5.0; + var BCCH_tune_req tune_req := { { false, 871 }, true }; + L1.send(tune_req); + /* FIXME: wait for confirm */ - log(c_r, g_mmctx.n_u, gmm_pdu, sapi); - llc := valueof(ts_LLC_UI(gmm_pdu, sapi, c_r, g_mmctx.n_u)); - log(llc); - g_mmctx.n_u := g_mmctx.n_u + 1; - - log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); - - BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc))); - } - - /* Establish BSSGP connection to PCU */ - function f_bssgp_establish() runs on dummy_CT { - timer T:= 10.0; - - f_init(); - T.start - alt { - [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } - [] BSSGP[0].receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout establishing BSSGP connection"); - mtc.stop; - } - } - T.stop - log("BSSGP successfully initialized"); - } - - function f_wait_paging_req_type1(hexstring expected_tmsi) runs on dummy_CT { - var LAPDm_ph_data ph_data; - timer T := 5.0; - - T.start; - alt { - [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { - var octetstring payload := substr(ph_data.lapdm.bbis.payload, 1, lengthof(ph_data.lapdm.bbis.payload) - 1); - var PDU_ML3_NW_MS pdu; - - if (dec_PDU_ML3_NW_MS_backtrack(payload, pdu) != 0) { - repeat; - } - - if (not ischosen(pdu.msgs.rrm)) { - repeat; - } - - if (match(pdu, tr_PAGING_REQ1(tr_PAGING_REQ1_MI1_TMSI(hex2oct(expected_tmsi))))) { - setverdict(pass); - } else { - repeat; - } - } - [] L1.receive { repeat; } - [] T.timeout { setverdict(fail); } + var TBF_UL_establish_req est_req := { tbf_nr := 0, ra := hex2int('7B'H) }; + L1.send(est_req); + T.start; + /* FIXME: wait for confirm */ + alt { + [] L1.receive(TBF_UL_establish_res:?) {} + [] L1.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout establishing UL TBF"); + mtc.stop; } } + T.stop; +} - /* Send PS-PAGING via BSSGP to PCU, expect it to show up on L1/Um */ - testcase TC_paging() runs on dummy_CT { - var hexstring tmsi_hex := '01234567'H; - var GsmTmsi tmsi := hex2int(tmsi_hex); +/* compute a random TLLI; FIXME: what about TLLI prefix / local/foreign/...? */ +function f_random_tlli() return GprsTlli { + var GprsTlli tlli := f_rnd_octstring(4); + return tlli; +} - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - /* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */ - /* - TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. - BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); - f_wait_paging_req_type1(hex2oct(g_mmctx.imsi)); - */ - - /* Page by TMSI */ - BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); - f_wait_paging_req_type1(tmsi_hex); - } - - /* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ - function f_establish_ul_tbf() runs on dummy_CT { - timer T := 5.0; - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - var TBF_UL_establish_req est_req := { tbf_nr := 0, ra := hex2int('7B'H) }; - L1.send(est_req); - T.start; - /* FIXME: wait for confirm */ - alt { - [] L1.receive(TBF_UL_establish_res:?) {} - [] L1.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout establishing UL TBF"); - mtc.stop; - } +/* Compute the frame number of the uplink block based on current fn + rrbp */ +function f_rrbp_fn(GsmFrameNumber fn, MacRrbp rrbp) return GsmFrameNumber { + var integer add; + select (rrbp) { + case (RRBP_Nplus13_mod_2715648) { + add := 13; } - T.stop; - } - - /* compute a random TLLI; FIXME: what about TLLI prefix / local/foreign/...? */ - function f_random_tlli() return GprsTlli { - var GprsTlli tlli := f_rnd_octstring(4); - return tlli; - } - - /* Compute the frame number of the uplink block based on current fn + rrbp */ - function f_rrbp_fn(GsmFrameNumber fn, MacRrbp rrbp) return GsmFrameNumber { - var integer add; - select (rrbp) { - case (RRBP_Nplus13_mod_2715648) { - add := 13; - } - case (RRBP_Nplus17_or_18_mod_2715648) { - add := 17; /* FIXME: What about 'or 18'? */ - } - case (RRBP_Nplus21_or_22_mod_2715648) { - add := 21; /* FIXME: What about 'or 22'? */ - } - case (RRBP_Nplus26_mod_2715648) { - add := 26; - } + case (RRBP_Nplus17_or_18_mod_2715648) { + add := 17; /* FIXME: What about 'or 18'? */ } - return (fn + add) mod 2715648; + case (RRBP_Nplus21_or_22_mod_2715648) { + add := 21; /* FIXME: What about 'or 22'? */ + } + case (RRBP_Nplus26_mod_2715648) { + add := 26; + } } + return (fn + add) mod 2715648; +} function f_bssgp_wait_ul_ud(template BssgpDecoded bd_exp) runs on dummy_CT { @@ -371,304 +371,304 @@ L1.send(DCCH_release_req:{}); } - testcase TC_rach() runs on dummy_CT { - var BssgpBvci bvci := 196; - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); +testcase TC_rach() runs on dummy_CT { + var BssgpBvci bvci := 196; + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); - f_init(); + f_init(); - f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_client_register(g_mmctx.imsi, g_mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); - } + f_bssgp_establish(); +} - testcase TC_nsem() runs on dummy_CT { +testcase TC_nsem() runs on dummy_CT { - f_bssgp_establish(); + f_bssgp_establish(); - while (true) { - var BssgpDecoded bd; - alt { - [] BSSGP[0].receive(tr_BD_BSSGP(?)) -> value bd { - log("BSSGP Rx: ", bd); - //log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload)); - g_mmctx.tlli := bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI; - tx_gmm(LLC_CR_DL_CMD, gmm_auth_req); - } - [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; } - [] BSSGP[0].receive { repeat; } + while (true) { + var BssgpDecoded bd; + alt { + [] BSSGP[0].receive(tr_BD_BSSGP(?)) -> value bd { + log("BSSGP Rx: ", bd); + //log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload)); + g_mmctx.tlli := bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI; + tx_gmm(LLC_CR_DL_CMD, gmm_auth_req); } + [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; } + [] BSSGP[0].receive { repeat; } } } +} - function f_llc_dec_and_log(in octetstring inp) { - log("LLC Input: ", inp); - var PDU_LLC dec := dec_PDU_LLC(inp); - log("LLC Decoded: ", dec); +function f_llc_dec_and_log(in octetstring inp) { + log("LLC Input: ", inp); + var PDU_LLC dec := dec_PDU_LLC(inp); + log("LLC Decoded: ", dec); +} + +function f_llc_assert(in octetstring a, in octetstring b) { + log("LLC Input: ", a); + log("LLC Expected: ", b); + + if (a != b) { + setverdict(fail, "LLC input ", b, " != expected ", a); + mtc.stop; + } else { + setverdict(pass); } +} - function f_llc_assert(in octetstring a, in octetstring b) { - log("LLC Input: ", a); - log("LLC Expected: ", b); - if (a != b) { - setverdict(fail, "LLC input ", b, " != expected ", a); - mtc.stop; - } else { - setverdict(pass); - } +testcase TC_selftest_llc() runs on dummy_CT { + const octetstring c_gmm_att_pcu := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c00020170580460b'O; + const octetstring c_gmm_att_pcu_nofcs := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c000201705'O; + + f_llc_dec_and_log(c_gmm_att_pcu); + + //f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu); + + log(valueof(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u))); + log(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u)); +} + +testcase TC_selftest_rlcmac() runs on dummy_CT { + var RlcmacDlCtrlBlock dcb; + var RlcmacUlCtrlBlock ucb; + const octetstring c_dl_ul_ack_nack := '40240080400000000000000077628dbba14b2b2b2b2b2b'O; + const octetstring c_dl_data := '0f00007341c001081200102198c72477ea104895e8b959acc58b108182f4d0454300'O; + const octetstring c_dl_data2 := '070002165dc0012b2b2b43c0012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; + const octetstring c_ul_ctrl_ack := '4006ec51b7772b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b'O; + const octetstring c_ul_dl_ack_nack := '4008004000000000000000701000edc0000b2b2b2b2b2b'O; + const octetstring c_dl_ul_assign := '482857628dbbaf0126e68800082b2b2b2b2b2b2b2b2b2b'O; + + log(c_dl_ul_ack_nack); + dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_ack_nack); + log(dcb); + //log(dec_RlcmacDlCtrlMsg(dcb.payload)); + + f_rlcmac_dld_decenc(c_dl_data); + + f_rlcmac_dld_decenc(c_dl_data2); + + log(c_ul_ctrl_ack); + ucb := dec_RlcmacUlCtrlBlock(c_ul_ctrl_ack); + log(ucb); + //log(dec_RlcmacUlCtrlMsg(ucb.payload)); + + log(c_ul_dl_ack_nack); + ucb := dec_RlcmacUlCtrlBlock(c_ul_dl_ack_nack); + log(ucb); + //log(dec_RlcmacUlCtrlMsg(ucb.payload)); + + log(c_dl_ul_assign); + dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_assign); + log(dcb); + //log(dec_RlcmacDlCtrlMsg(dcb.payload)); + + const octetstring c_uld_tlli_noext := '080101a61cab5201c001080103e5e000310a0005f4e61cab5232f44000c8001d1b00'O; + f_rlcmac_uld_decenc(c_uld_tlli_noext); + + const octetstring c_uld_tlli_ext7pad := '0001041da61cab5200201705a96e102b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; + log("ULD_decenc"); + f_rlcmac_uld_decenc(c_uld_tlli_ext7pad); + log("UL_decenc"); + f_rlcmac_ul_decenc(c_uld_tlli_ext7pad); + + f_rlcmac_ul_decenc(c_ul_dl_ack_nack); +} + +function f_rlcmac_ul_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacUlBlock udb := dec_RlcmacUlBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacUlBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; } +} - - testcase TC_selftest_llc() runs on dummy_CT { - const octetstring c_gmm_att_pcu := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c00020170580460b'O; - const octetstring c_gmm_att_pcu_nofcs := '01c001080103e5e000210a0005f4fb146ddd32f44000c8001d1b53432b37159ef9090070000dd9c6321200e00019b32c642401c000201705'O; - - f_llc_dec_and_log(c_gmm_att_pcu); - - //f_llc_assert(f_LLC_append_fcs(c_gmm_att_pcu_nofcs), c_gmm_att_pcu); - - log(valueof(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u))); - log(ts_LLC_UI(gmm_auth_req, c_LLC_SAPI_LLGMM, LLC_CR_DL_CMD, g_mmctx.n_u)); +function f_rlcmac_uld_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacUlDataBlock udb := dec_RlcmacUlDataBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacUlDataBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; } +} - testcase TC_selftest_rlcmac() runs on dummy_CT { - var RlcmacDlCtrlBlock dcb; - var RlcmacUlCtrlBlock ucb; - const octetstring c_dl_ul_ack_nack := '40240080400000000000000077628dbba14b2b2b2b2b2b'O; - const octetstring c_dl_data := '0f00007341c001081200102198c72477ea104895e8b959acc58b108182f4d0454300'O; - const octetstring c_dl_data2 := '070002165dc0012b2b2b43c0012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; - const octetstring c_ul_ctrl_ack := '4006ec51b7772b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b'O; - const octetstring c_ul_dl_ack_nack := '4008004000000000000000701000edc0000b2b2b2b2b2b'O; - const octetstring c_dl_ul_assign := '482857628dbbaf0126e68800082b2b2b2b2b2b2b2b2b2b'O; - - log(c_dl_ul_ack_nack); - dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_ack_nack); - log(dcb); - //log(dec_RlcmacDlCtrlMsg(dcb.payload)); - - f_rlcmac_dld_decenc(c_dl_data); - - f_rlcmac_dld_decenc(c_dl_data2); - - log(c_ul_ctrl_ack); - ucb := dec_RlcmacUlCtrlBlock(c_ul_ctrl_ack); - log(ucb); - //log(dec_RlcmacUlCtrlMsg(ucb.payload)); - - log(c_ul_dl_ack_nack); - ucb := dec_RlcmacUlCtrlBlock(c_ul_dl_ack_nack); - log(ucb); - //log(dec_RlcmacUlCtrlMsg(ucb.payload)); - - log(c_dl_ul_assign); - dcb := dec_RlcmacDlCtrlBlock(c_dl_ul_assign); - log(dcb); - //log(dec_RlcmacDlCtrlMsg(dcb.payload)); - - const octetstring c_uld_tlli_noext := '080101a61cab5201c001080103e5e000310a0005f4e61cab5232f44000c8001d1b00'O; - f_rlcmac_uld_decenc(c_uld_tlli_noext); - - const octetstring c_uld_tlli_ext7pad := '0001041da61cab5200201705a96e102b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00'O; - log("ULD_decenc"); - f_rlcmac_uld_decenc(c_uld_tlli_ext7pad); - log("UL_decenc"); - f_rlcmac_ul_decenc(c_uld_tlli_ext7pad); - - f_rlcmac_ul_decenc(c_ul_dl_ack_nack); +function f_rlcmac_dld_decenc(in octetstring buf) { + log("=================================="); + log("In: ", buf); + var RlcmacDlDataBlock udb := dec_RlcmacDlDataBlock(buf); + log("Dec: ", udb); + var octetstring enc := enc_RlcmacDlDataBlock(udb); + log("Enc: ", enc); + if (enc != buf) { + setverdict(fail, "Re-encoded data doesn't equal input data"); + mtc.stop; } +} - function f_rlcmac_ul_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacUlBlock udb := dec_RlcmacUlBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacUlBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } + +testcase TC_selftest_rr() runs on dummy_CT { + //const octetstring c_paging_none := '06210001F02B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O + const octetstring c_paging_none := '1506210001F0'O; + const octetstring c_ia_tbf := '2d063f100fe3677bd8440000c800100b2b2b2b2b2b2b2b'O + log(c_paging_none); + log(dec_GsmRrMessage(c_paging_none)); + + log(c_ia_tbf); + log(dec_GsmRrMessage(c_ia_tbf)); +} + +function f_seq_octstr(integer len) return octetstring { + var octetstring payload := ''O; + for (var integer i := 0; i < len; i := i+1 ) { + payload := payload & int2oct(i mod 256, 1); } + return payload; +} - function f_rlcmac_uld_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacUlDataBlock udb := dec_RlcmacUlDataBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacUlDataBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } - } +testcase TC_ul_tbf_single_llc_sizes() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); - function f_rlcmac_dld_decenc(in octetstring buf) { - log("=================================="); - log("In: ", buf); - var RlcmacDlDataBlock udb := dec_RlcmacDlDataBlock(buf); - log("Dec: ", udb); - var octetstring enc := enc_RlcmacDlDataBlock(udb); - log("Enc: ", enc); - if (enc != buf) { - setverdict(fail, "Re-encoded data doesn't equal input data"); - mtc.stop; - } - } - - - testcase TC_selftest_rr() runs on dummy_CT { - //const octetstring c_paging_none := '06210001F02B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O - const octetstring c_paging_none := '1506210001F0'O; - const octetstring c_ia_tbf := '2d063f100fe3677bd8440000c800100b2b2b2b2b2b2b2b'O - log(c_paging_none); - log(dec_GsmRrMessage(c_paging_none)); - - log(c_ia_tbf); - log(dec_GsmRrMessage(c_ia_tbf)); - } - - function f_seq_octstr(integer len) return octetstring { - var octetstring payload := ''O; - for (var integer i := 0; i < len; i := i+1 ) { - payload := payload & int2oct(i mod 256, 1); - } - return payload; - } - - testcase TC_ul_tbf_single_llc_sizes() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - for (var integer len := 1; len <= 1560; len := len+1) { - log("Testing Uplink TBF with single LLC-PDU of ", len, " bytes"); - var octetstring payload := f_seq_octstr(len); - var UlTbfPars ul_tbf_pars := { - ack_mode := true, - initial_cs := CS1, - llc_pdus := { - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)) - } - } - var UlTbfState ul_tbf_state; - f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); - f_ul_tbf(ul_tbf_state); - f_sleep(1.0); - } - - f_exit(); - } - - testcase TC_ul_tbf() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); - - var octetstring payload := f_seq_octstr(1023); + for (var integer len := 1; len <= 1560; len := len+1) { + log("Testing Uplink TBF with single LLC-PDU of ", len, " bytes"); + var octetstring payload := f_seq_octstr(len); var UlTbfPars ul_tbf_pars := { ack_mode := true, initial_cs := CS1, - llc_pdus := { - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+2)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+3)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+4)), - valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+5)) + llc_pdus := { + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)) } - }; + } var UlTbfState ul_tbf_state; f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); f_ul_tbf(ul_tbf_state); - - f_exit(); + f_sleep(1.0); } - testcase TC_dl_tbf() runs on dummy_CT { - g_mmctx.imsi := '262420123456789'H; - g_mmctx.tlli := f_random_tlli(); - f_init(); + f_exit(); +} - f_establish_dl_tbf(); +testcase TC_ul_tbf() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); - f_exit(); - } - - function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { - var LAPDm_ph_data ph_data; - var GsmRrMessage rr; - timer T := 10.0; - T.start; - alt { - [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { - rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); - log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { - var TbfPars tbf_pars := valueof(t_TbfParsInit); - log("Received IMM.ASS for our TLLI!"); - tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := - rr.payload.imm_ass.rest_octets.hh.dl.group1.tfi_assignment; - L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); - } else { - repeat; - } + var octetstring payload := f_seq_octstr(1023); + var UlTbfPars ul_tbf_pars := { + ack_mode := true, + initial_cs := CS1, + llc_pdus := { + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+1)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+2)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+3)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+4)), + valueof(ts_LLC_UI(payload, c_LLC_SAPI_LLGMM, '0'B, g_mmctx.n_u+5)) } - [] L1.receive { repeat }; - [] T.timeout { - setverdict(fail, "Timeout waiting for IMM ASS") - mtc.stop; - } + }; + var UlTbfState ul_tbf_state; + f_UlTbfState_init(ul_tbf_state, ul_tbf_pars); + f_ul_tbf(ul_tbf_state); + + f_exit(); +} + +testcase TC_dl_tbf() runs on dummy_CT { + g_mmctx.imsi := '262420123456789'H; + g_mmctx.tlli := f_random_tlli(); + f_init(); + + f_establish_dl_tbf(); + + f_exit(); +} + +function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { + var LAPDm_ph_data ph_data; + var GsmRrMessage rr; + timer T := 10.0; + T.start; + alt { + [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { + rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); + log("PCH/AGCH DL RR: ", rr); + if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { + var TbfPars tbf_pars := valueof(t_TbfParsInit); + log("Received IMM.ASS for our TLLI!"); + tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := + rr.payload.imm_ass.rest_octets.hh.dl.group1.tfi_assignment; + L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); + } else { + repeat; } - T.stop; - return rr.payload.imm_ass; } - - /* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ - function f_establish_dl_tbf() runs on dummy_CT { - timer T := 5.0; - var BCCH_tune_req tune_req := { { false, 871 }, true }; - L1.send(tune_req); - /* FIXME: wait for confirm */ - - /* sending a GMM PDU as DL-UNITDATA should trigger Paging + DL TBF Assignment */ - tx_gmm('1'B, '01020304'O, c_LLC_SAPI_LLGMM); - - /* Expect an IMM.ASS for PDCH on the AGCH */ - f_wait_tbf_dl(0, g_mmctx.tlli); - - var RLCMAC_ph_data_ind dl; - alt { - [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_DATA_RRBP}) -> -value dl { - var uint6_t tfi := dl.block.data.mac_hdr.hdr_ext.tfi; - var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.data.mac_hdr.mac_hdr.rrbp); - var AckNackDescription an_desc := { /* FIXME: compute this based on state */ - final_ack := '1'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000001'B - } - var RlcmacUlCtrlMsg ctrl_ack; - ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_DL_ACK(tfi, an_desc)); - var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); - L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 871}, ul_block)); - log("Sent DL ACK: ", ul_block); - } - [] L1.receive { repeat; } + [] L1.receive { repeat }; + [] T.timeout { + setverdict(fail, "Timeout waiting for IMM ASS") + mtc.stop; } + } + T.stop; + return rr.payload.imm_ass; +} - f_sleep(10.0); +/* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ +function f_establish_dl_tbf() runs on dummy_CT { + timer T := 5.0; + var BCCH_tune_req tune_req := { { false, 871 }, true }; + L1.send(tune_req); + /* FIXME: wait for confirm */ + + /* sending a GMM PDU as DL-UNITDATA should trigger Paging + DL TBF Assignment */ + tx_gmm('1'B, '01020304'O, c_LLC_SAPI_LLGMM); + + /* Expect an IMM.ASS for PDCH on the AGCH */ + f_wait_tbf_dl(0, g_mmctx.tlli); + + var RLCMAC_ph_data_ind dl; + alt { + [] L1.receive(RLCMAC_ph_data_ind:{cs:=?, ts_nr:=?, fn:=?, block:=tr_RLCMAC_DATA_RRBP}) -> value dl { + var uint6_t tfi := dl.block.data.mac_hdr.hdr_ext.tfi; + var GsmFrameNumber ul_fn := f_rrbp_fn(dl.fn, dl.block.data.mac_hdr.mac_hdr.rrbp); + var AckNackDescription an_desc := { /* FIXME: compute this based on state */ + final_ack := '1'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000001'B + } + var RlcmacUlCtrlMsg ctrl_ack; + ctrl_ack := valueof(ts_RlcMacUlCtrl_PKT_DL_ACK(tfi, an_desc)); + var RlcmacUlBlock ul_block := valueof(ts_RLC_UL_CTRL_ACK(ctrl_ack)); + L1.send(ts_PH_DATA_ABS(0, CS1, dl.ts_nr, ul_fn, {false, 871}, ul_block)); + log("Sent DL ACK: ", ul_block); + } + [] L1.receive { repeat; } } + f_sleep(10.0); +} - control { - execute(TC_selftest_ns()); - execute(TC_ul_tbf_single_llc_sizes()); - execute(TC_ul_tbf()); - execute(TC_paging()); - } + +control { + execute(TC_selftest_ns()); + execute(TC_ul_tbf_single_llc_sizes()); + execute(TC_ul_tbf()); + execute(TC_paging()); +} + }; -- To view, visit https://gerrit.osmocom.org/13374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6eaca0ec7fb9c2dc5d59e385bc3a3a8bb85fe23a Gerrit-Change-Number: 13374 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Ensure we're always using the same defaults for the CGI In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13375 ) Change subject: pcu: Ensure we're always using the same defaults for the CGI ...................................................................... pcu: Ensure we're always using the same defaults for the CGI Not all parts of the code explicitly specify each and every parameter of the Cell Gobal Identifier (particularly we don't do that for the PCU INFO IND), and hence multiple parts only interoperate if the same defaults are used in all locations. Change-Id: Iac9be9a8d4ccb4d01cc343d763d2e35873e3844f --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests.default 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 5644431..0c3f000 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -657,9 +657,9 @@ template (value) PCUIF_Flags flags := c_PCUIF_Flags_default, template (value) uint16_t mcc := 262, template (value) uint16_t mnc := 42, - template (value) uint16_t lac := 2342, + template (value) uint16_t lac := 13135, template (value) uint8_t rac := 0, - template (value) uint16_t cell_id := 1, + template (value) uint16_t cell_id := 20960, template (value) uint8_t bsic := 7, template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def, template (value) uint32_t version := PCU_IF_VERSION) := { diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index a877045..67c05f8 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -13,11 +13,11 @@ cell_id := { ra_id := { lai := { - mcc_mnc := '00101F'H, lac := 1 + mcc_mnc := '26242F'H, lac := 13135 }, rac := 0 }, - cell_id := 0 + cell_id := 20960 }, sgsn_role := true } -- To view, visit https://gerrit.osmocom.org/13375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iac9be9a8d4ccb4d01cc343d763d2e35873e3844f Gerrit-Change-Number: 13375 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13376 ) Change subject: pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT ...................................................................... pcu: move f_pcuif_tx() to PCU_Tests_RAW as it runs on RAW_PCU_CT Change-Id: Ic60a7fc657df17ff2d3a889501f0576b98f1f4ad --- M pcu/PCU_Tests_RAW.ttcn M pcu/PCU_Tests_RAW_SNS.ttcn 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 6022d36..3e38fa8 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -73,6 +73,10 @@ PCU.send(t_SD_PCUIF(g_pcu_conn_id, info_ind)); } +function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { + PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); +} + function f_init_ns_codec(integer idx := 0, float guard_secs := 60.0) runs on RAW_NS_CT { var Result res; diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn index 7513196..9bedff9 100644 --- a/pcu/PCU_Tests_RAW_SNS.ttcn +++ b/pcu/PCU_Tests_RAW_SNS.ttcn @@ -354,10 +354,6 @@ import from PCUIF_Types all; import from PCUIF_CodecPort all; -private function f_pcuif_tx(template (value) PCUIF_Message msg) runs on RAW_PCU_CT { - PCU.send(t_SD_PCUIF(g_pcu_conn_id, msg)); -} - altstep as_pcu_activate() runs on RAW_PCU_CT { var PCUIF_send_data sd; [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_ACT_REQ(?, ?, ?))) -> value sd { repeat; } -- To view, visit https://gerrit.osmocom.org/13376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic60a7fc657df17ff2d3a889501f0576b98f1f4ad Gerrit-Change-Number: 13376 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSGP_Emulation: Handle incoming BVCI=0 messages In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13377 ) Change subject: BSSGP_Emulation: Handle incoming BVCI=0 messages ...................................................................... BSSGP_Emulation: Handle incoming BVCI=0 messages Like BVCI=PTP, the BVCI=0 messages must be dispatched by their TLLI, but using the BSSGP_SP_SIG port instead of BSSGP_SP. Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8 --- M library/BSSGP_Emulation.ttcn 1 file changed, 21 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn index fa33f51..8988926 100644 --- a/library/BSSGP_Emulation.ttcn +++ b/library/BSSGP_Emulation.ttcn @@ -532,7 +532,7 @@ BSSGP_SP.send(f_dec_bssgp(udi.bssgp)) to vc_conn; } - /* Any other BSSGP message: If it has TLLi, route to component; otherwise broadcast */ + /* Any other PTP BSSGP message: If it has TLLi, route to component; otherwise broadcast */ [] BSCP.receive(f_BnsUdInd(?, g_cfg.bvci)) -> value udi { var BssgpDecoded dec := f_dec_bssgp(udi.bssgp); var template OCT4 tlli := f_bssgp_get_tlli(udi.bssgp); @@ -551,6 +551,26 @@ } } + /* Any other SIG BSSGP message: If it has TLLi, route to component; otherwise broadcast */ + [] BSCP.receive(f_BnsUdInd(?, 0)) -> value udi { + var BssgpDecoded dec := f_dec_bssgp(udi.bssgp); + var template OCT4 tlli := f_bssgp_get_tlli(udi.bssgp); + if (isvalue(tlli)) { + vc_conn := f_tbl_comp_by_tlli(valueof(tlli)); + BSSGP_SP_SIG.send(dec) to vc_conn; + } else { + log("No TLLI: Broadcasting ", dec); + /* broadcast this message to all components */ + // TITAN DOESN'T DO THIS, *SIGH*: "BSSGP_SP.send(dec) to all component;" + for (var integer i := 0; i < sizeof(ClientTable); i := i+1) { + if (isbound(ClientTable[i].comp_ref)) { + BSSGP_SP_SIG.send(dec) to ClientTable[i].comp_ref; + } + } + } + } + + [] BSSGP_SP_SIG.receive(PDU_BSSGP:?)-> value bs_pdu sender vc_conn { BSCP.send(f_BnsUdReq(bs_pdu, 0)); } -- To view, visit https://gerrit.osmocom.org/13377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8 Gerrit-Change-Number: 13377 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSM_RR_Types: Add enc_RoutingAreaIdentification() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13378 ) Change subject: GSM_RR_Types: Add enc_RoutingAreaIdentification() ...................................................................... GSM_RR_Types: Add enc_RoutingAreaIdentification() This allows us to encode a stand-alone RAID as needed in some places. Change-Id: I28222304b2bac893b216c47e6dc002886fab6406 --- M library/GSM_RR_Types.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 26783f9..5958569 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -421,6 +421,9 @@ uint8_t rac } with { variant "" }; + external function enc_RoutingAreaIdentification(RoutingAreaIdentification rai) return octetstring + with { extension "prototype(convert)" extension "encode(RAW)" } + /* 44.018 10.5.2.16 */ type record IaRestOctHL { uint6_t freq_par_len, -- To view, visit https://gerrit.osmocom.org/13378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I28222304b2bac893b216c47e6dc002886fab6406 Gerrit-Change-Number: 13378 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13379 ) Change subject: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME ...................................................................... Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa --- M library/Osmocom_Gb_Types.ttcn 1 file changed, 176 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 780c768..623be33 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -732,6 +732,40 @@ unstructured_value := f_oct_or_wc(bvci, 2) } + template (value) TLLI_BSSGP ts_BSSGP_TLLI(template (value) GprsTlli tlli) := { + iEI := '1F'O, + ext := '1'B, + lengthIndicator := { + length1 := 4 + }, + tLLI_Value := tlli + } + template TLLI_BSSGP tr_BSSGP_TLLI(template GprsTlli tlli) := { + iEI := '1F'O, + ext := '1'B, + lengthIndicator := { + length1 := 4 + }, + tLLI_Value := tlli + } + + template (value) Suspend_Reference_Number ts_BSSGP_SUSP_REF(template (value) OCT1 susp_ref) := { + iEI := '1D'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + suspend_Reference_Number_value := susp_ref + } + template Suspend_Reference_Number tr_BSSGP_SUSP_REF(template OCT1 susp_ref) := { + iEI := '1D'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + suspend_Reference_Number_value := susp_ref + } + template IMSI_BSSGP tr_BSSGP_IMSI(template hexstring imsi) := { iEI := '0D'O, ext := '1'B, @@ -781,6 +815,18 @@ lLC_PDU := pdu } + function ts_BSSGP_CAUSE(template (omit) BssgpCause cause) return template (omit) Cause_BSSGP { + var template (omit) Cause_BSSGP ret; + if (istemplatekind(cause, "omit")) { + ret := omit; + } else { + ret.iEI := '07'O; + ret.ext := '1'B; + ret.lengthIndicator := { length1 := 1 }; + ret.cause_Value := int2oct(enum2int(valueof(cause)), 1); + } + return ret; + } function t_BSSGP_CAUSE(template BssgpCause cause) return template Cause_BSSGP { var template Cause_BSSGP ret; ret.iEI := '07'O; @@ -843,7 +889,7 @@ pDU_BSSGP_BVC_RESET := { bssgpPduType := '22'O, bVCI := t_BSSGP_BVCI(bvci), - cause := t_BSSGP_CAUSE(cause), + cause := ts_BSSGP_CAUSE(cause), cell_Identifier := t_BSSGP_IE_CellId(cell_id), feature_bitmap := omit, extended_Feature_Bitmap := omit @@ -1222,5 +1268,134 @@ } } + template (value) Routeing_Area ts_BSSGP_RA_ID(RoutingAreaIdentification input) := { + iEI := '1B'O, + ext := '1'B, + lengthIndicator := { + length1 := 6 + }, + mccDigit1 := input.lai.mcc_mnc[0], + mccDigit2 := input.lai.mcc_mnc[1], + mccDigit3 := input.lai.mcc_mnc[2], + mncDigit3 := input.lai.mcc_mnc[3], + mncDigit1 := input.lai.mcc_mnc[4], + mncDigit2 := input.lai.mcc_mnc[5], + lac := int2oct(input.lai.lac, 2), + rac := int2oct(input.rac, 1) + } + + template (value) PDU_BSSGP ts_BSSGP_SUSPEND(GprsTlli tlli, RoutingAreaIdentification ra_id) := { + pDU_BSSGP_SUSPEND := { + bssgpPduType := '0B'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + template PDU_BSSGP tr_BSSGP_SUSPEND(template GprsTlli tlli, RoutingAreaIdentification ra_id) := { + pDU_BSSGP_SUSPEND := { + bssgpPduType := '0B'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + + template (value) PDU_BSSGP ts_BSSGP_SUSPEND_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template (value) OCT1 susp_ref) := { + pDU_BSSGP_SUSPEND_ACK := { + bssgpPduType := '0C'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := ts_BSSGP_SUSP_REF(susp_ref) + } + } + template PDU_BSSGP tr_BSSGP_SUSPEND_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template OCT1 susp_ref) := { + pDU_BSSGP_SUSPEND_ACK := { + bssgpPduType := '0C'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := tr_BSSGP_SUSP_REF(susp_ref) + } + } + + template (value) PDU_BSSGP ts_BSSGP_SUSPEND_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template (omit) BssgpCause cause) := { + pDU_BSSGP_SUSPEND_NACK := { + bssgpPduType := '0D'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := ts_BSSGP_CAUSE(cause) + } + } + template PDU_BSSGP tr_BSSGP_SUSPEND_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template BssgpCause cause) := { + pDU_BSSGP_SUSPEND_NACK := { + bssgpPduType := '0D'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := t_BSSGP_CAUSE(cause) + } + } + + + + template (value) PDU_BSSGP ts_BSSGP_RESUME(GprsTlli tlli, RoutingAreaIdentification ra_id, + OCT1 susp_ref) := { + pDU_BSSGP_RESUME := { + bssgpPduType := '0E'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := ts_BSSGP_SUSP_REF(susp_ref) + } + } + template PDU_BSSGP tr_BSSGP_RESUME(template GprsTlli tlli, RoutingAreaIdentification ra_id, + template OCT1 susp_ref) := { + pDU_BSSGP_RESUME := { + bssgpPduType := '0E'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + suspend_Reference_Number := tr_BSSGP_SUSP_REF(susp_ref) + } + } + + template (value) PDU_BSSGP ts_BSSGP_RESUME_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id) + := { + pDU_BSSGP_RESUME_ACK := { + bssgpPduType := '0F'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + template PDU_BSSGP tr_BSSGP_RESUME_ACK(template GprsTlli tlli, + RoutingAreaIdentification ra_id) := { + pDU_BSSGP_RESUME_ACK := { + bssgpPduType := '0F'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id) + } + } + + template (value) PDU_BSSGP ts_BSSGP_RESUME_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id, + template (omit) BssgpCause cause) := { + pDU_BSSGP_RESUME_NACK := { + bssgpPduType := '10'O, + tLLI := ts_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := ts_BSSGP_CAUSE(cause) + } + } + template PDU_BSSGP tr_BSSGP_RESUME_NACK(template GprsTlli tlli, + RoutingAreaIdentification ra_id, + template BssgpCause cause) := { + pDU_BSSGP_RESUME_NACK := { + bssgpPduType := '10'O, + tLLI := tr_BSSGP_TLLI(tlli), + routeing_Area := ts_BSSGP_RA_ID(ra_id), + cause := t_BSSGP_CAUSE(cause) + } + } + + + } with { encode "RAW" }; -- To view, visit https://gerrit.osmocom.org/13379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa Gerrit-Change-Number: 13379 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13380 ) Change subject: pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case ...................................................................... pcu: Fix MCC/MNC handling: use 'F' between MCC and MNC in 2-digit case Change-Id: Ifdb64c501095839e86894716769adb53e3c17382 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests.default M pcu/PCU_Tests.ttcn 3 files changed, 5 insertions(+), 5 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 623be33..95d3028 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -867,9 +867,9 @@ ret.mccDigit1 := cid.ra_id.lai.mcc_mnc[0]; ret.mccDigit2 := cid.ra_id.lai.mcc_mnc[1]; ret.mccDigit3 := cid.ra_id.lai.mcc_mnc[2]; - ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[5]; - ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[4]; - ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[3]; + ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[3]; + ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[5]; + ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[4]; } if (isvalue(cid.ra_id.lai.lac)) { ret.lac := f_oct_or_wc(cid.ra_id.lai.lac, 2); diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index 67c05f8..2a87345 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -13,7 +13,7 @@ cell_id := { ra_id := { lai := { - mcc_mnc := '26242F'H, lac := 13135 + mcc_mnc := '262F42'H, lac := 13135 }, rac := 0 }, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 09885bd..b18b999 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -28,7 +28,7 @@ cell_id := { ra_id := { lai := { - mcc_mnc := '26242F'H, lac := 13135 + mcc_mnc := '262F42'H, lac := 13135 }, rac := 0 }, -- To view, visit https://gerrit.osmocom.org/13380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifdb64c501095839e86894716769adb53e3c17382 Gerrit-Change-Number: 13380 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13381 ) Change subject: PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ ...................................................................... PCUIF: Add templates for PCU_IF_MSG_SUSP_REQ Change-Id: Ib7661790b9531be829ee550ce889151ebe1885ac --- M library/PCUIF_Types.ttcn 1 file changed, 32 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 0c3f000..17adbd1 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -772,4 +772,36 @@ } } +template (value) PCUIF_Message ts_PCUIF_SUSP_REQ(template (value) uint8_t bts_nr, + template (value) OCT4 tlli, + template (value) OCT6 ra_id, + template (value) uint8_t cause) := { + msg_type := PCU_IF_MSG_SUSP_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + susp_req := { + tlli := tlli, + ra_id := ra_id, + cause := cause + } + } +} +template PCUIF_Message tr_PCUIF_SUSP_REQ(template uint8_t bts_nr, + template OCT4 tlli, + template OCT6 ra_id, + template uint8_t cause) := { + msg_type := PCU_IF_MSG_SUSP_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + susp_req := { + tlli := tlli, + ra_id := ra_id, + cause := cause + } + } +} + + } with { encode "RAW" variant "BYTEORDER(first)" }; -- To view, visit https://gerrit.osmocom.org/13381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ib7661790b9531be829ee550ce889151ebe1885ac Gerrit-Change-Number: 13381 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: make f_bssgp_establish() run on BSSGP_Client_CT In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13382 ) Change subject: PCU: make f_bssgp_establish() run on BSSGP_Client_CT ...................................................................... PCU: make f_bssgp_establish() run on BSSGP_Client_CT This means it can be used in different/other scenarios, e.g. with tests that use PCUIF directly. Change-Id: I1aa5dc090aac78a85a85ac190343befb0199a093 --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index b18b999..80a1bd1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -195,10 +195,9 @@ } /* Establish BSSGP connection to PCU */ -function f_bssgp_establish() runs on dummy_CT { +function f_bssgp_establish() runs on BSSGP_Client_CT { timer T:= 10.0; - f_init(); T.start alt { [] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { } @@ -386,6 +385,7 @@ testcase TC_nsem() runs on dummy_CT { + f_init(); f_bssgp_establish(); while (true) { -- To view, visit https://gerrit.osmocom.org/13382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1aa5dc090aac78a85a85ac190343befb0199a093 Gerrit-Change-Number: 13382 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:17:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13383 ) Change subject: pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing ...................................................................... pcu: Add TC_pcuif_suspend() to test PCU->BSSGP SUSPEND processing The PCU is supposed to forward any RR SUSPEND received by the BTS on dedicated channels and pass it to the SGSN via BSSGP. This provides knowledge to the SGSN that the MS is not reachable via PS/TBF anymore until it completes its CC dedicated mode transaction and RESUMEs. Change-Id: Iaf35e0c1087413db1dc7d169fa716df14c78f5db --- M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 66 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 80a1bd1..4dce7dd 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -663,6 +663,46 @@ f_sleep(10.0); } +/* FIXME: merge this into BSSGP_Client_CT ? */ +type component bssgp_CT extends BSSGP_Client_CT { + var NS_CT ns_component; + var BSSGP_CT bssgp_component; + var boolean g_initialized := false; +} + +/* FIXME: merge this into BSSGP_Client_CT ? */ +function f_init_bssgp() runs on bssgp_CT { + var MmContext mmctx := { + imsi := '262420000000001'H, + tlli := 'FFFFFFFF'O, + n_u := 0 + }; + + + if (g_initialized == true) { + return; + } + g_initialized := true; + + /* create a new NS component */ + ns_component := NS_CT.create; + bssgp_component := BSSGP_CT.create; + /* connect our BSSGP port to the BSSGP Emulation */ + connect(self:BSSGP[0], bssgp_component:BSSGP_SP); + connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG); + connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC); + /* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/ + connect(bssgp_component:BSCP, ns_component:NS_SP); + /* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */ + map(ns_component:NSCP, system:NS_CODEC_PORT); + ns_component.start(NSStart(mp_nsconfig)); + bssgp_component.start(BssgpStart(mp_gb_cfg)); + + f_bssgp_client_register(mmctx.imsi, mmctx.tlli, mp_gb_cfg.cell_id); + f_bssgp_establish(); +} + + control { execute(TC_selftest_ns()); diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 3e38fa8..96a3f86 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -8,6 +8,9 @@ import from General_Types all; import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; + import from NS_Types all; import from BSSGP_Types all; import from Osmocom_Gb_Types all; @@ -405,6 +408,27 @@ setverdict(pass); } +/* Test component with PCUIF + BSSGP/NS Emulation (no L1CTL) */ +type component bssgp_pcuif_CT extends bssgp_CT, RAW_PCU_CT { +} + +testcase TC_pcuif_suspend() runs on bssgp_pcuif_CT { + var OCT6 ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); + var GprsTlli tlli := 'FFFFFFFF'O; + + /* Initialize PCU interface side */ + f_init_pcuif(); + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + f_sleep(1.0); + f_pcuif_tx(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); + BSSGP_SIG[0].receive(tr_BD_BSSGP(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id))); + + setverdict(pass); +} + control { execute( TC_ns_reset() ); @@ -415,6 +439,8 @@ execute( TC_ns_unblock_retrans() ); execute( TC_ns_full_bringup() ); execute( TC_ns_so_block() ); + + execute( TC_pcuif_suspend() ); } -- To view, visit https://gerrit.osmocom.org/13383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iaf35e0c1087413db1dc7d169fa716df14c78f5db Gerrit-Change-Number: 13383 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:19:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:19:10 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Patch Set 2: Code-Review+2 We now have a test for this in PCU_Tests.ttcn, see https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/13383/ -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max Gerrit-Comment-Date: Wed, 27 Mar 2019 11:19:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:19:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:19:11 +0000 Subject: Change in osmo-bts[master]: Forward GPRS SUSPEND REQ from DCCH to PCU socket In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13347 ) Change subject: Forward GPRS SUSPEND REQ from DCCH to PCU socket ...................................................................... Forward GPRS SUSPEND REQ from DCCH to PCU socket As specified in 3GPP TS 03.60 Section 16.2.1 and 44.018 Section 3.4.15, a Class B MS is sending a "RR GPRS SUSPEND REQ" via a DCCH to the BTS if it wants to suspend GPRS services. The BSS is now responsible to somehow forward this to the SGSN. As the Gs interface between BSC and SGSN is both optional and doesn't have any provision to forward this message, we have to send it over to the PCU so it can use regular BSSGP signaling to inform the SGSN of the SUSPEND REQUEST. This patch requires libosmocore Change-Id I90113044460a6c511ced14f588876c4280d1cac7 for the related definition of struct gsm48_gprs_susp_req. Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Closes: OS#2249 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/common/rsl.c 4 files changed, 73 insertions(+), 9 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 98efb57..6253c84 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -15,6 +15,7 @@ int pcu_tx_time_ind(uint32_t fn); int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); +int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause); int pcu_sock_init(const char *path); void pcu_sock_exit(void); diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index b06077c..144fba6 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -12,6 +12,7 @@ #define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ +#define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -171,6 +172,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ +struct gsm_pcu_if_susp_req { + uint32_t tlli; + uint8_t ra_id[6]; + uint8_t cause; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -182,6 +190,7 @@ struct gsm_pcu_if_data data_cnf; struct gsm_pcu_if_data_cnf_dt data_cnf_dt; struct gsm_pcu_if_data data_ind; + struct gsm_pcu_if_susp_req susp_req; struct gsm_pcu_if_rts_req rts_req; struct gsm_pcu_if_rach_ind rach_ind; struct gsm_pcu_if_txt_ind txt_ind; diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 440f561..d694602 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -466,6 +466,23 @@ return pcu_sock_send(&bts_gsmnet, msg); } +/* forward data from a RR GPRS SUSPEND REQ towards PCU */ +int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause) +{ + struct msgb *msg; + struct gsm_pcu_if *pcu_prim; + + msg = pcu_msgb_alloc(PCU_IF_MSG_SUSP_REQ, lchan->ts->trx->bts->nr); + if (!msg) + return -ENOMEM; + pcu_prim = (struct gsm_pcu_if *) msg->data; + pcu_prim->u.susp_req.tlli = tlli; + memcpy(pcu_prim->u.susp_req.ra_id, ra_id, sizeof(pcu_prim->u.susp_req.ra_id)); + pcu_prim->u.susp_req.cause = cause; + + return pcu_sock_send(&bts_gsmnet, msg); +} + static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type, const struct gsm_pcu_if_data *data_req) { diff --git a/src/common/rsl.c b/src/common/rsl.c index f93ca50..5287201 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -36,6 +37,7 @@ #include #include #include +#include #include #include @@ -2557,32 +2559,35 @@ return 0; } -static int rslms_is_meas_rep(struct msgb *msg) +static int rslms_get_meas_msg_type(struct msgb *msg, bool rllh_link_id_is_sacch) { struct abis_rsl_common_hdr *rh = msgb_l2(msg); struct abis_rsl_rll_hdr *rllh; struct gsm48_hdr *gh; if ((rh->msg_discr & 0xfe) != ABIS_RSL_MDISC_RLL) - return 0; + return -1; if (rh->msg_type != RSL_MT_UNIT_DATA_IND) - return 0; + return -2; rllh = msgb_l2(msg); - if (rsl_link_id_is_sacch(rllh->link_id) == 0) - return 0; + if (rsl_link_id_is_sacch(rllh->link_id) != rllh_link_id_is_sacch) + return -3; gh = msgb_l3(msg); if (gh->proto_discr != GSM48_PDISC_RR) - return 0; + return -4; - switch (gh->msg_type) { + return gh->msg_type; +} + +static int rslms_is_meas_rep(struct msgb *msg) +{ + switch (rslms_get_meas_msg_type(msg, 1)) { case GSM48_MT_RR_MEAS_REP: case GSM48_MT_RR_EXT_MEAS_REP: return 1; - default: - break; } /* FIXME: this does not cover the Bter frame format and the associated @@ -2591,6 +2596,36 @@ return 0; } +static int rslms_is_gprs_susp_req(struct msgb *msg) +{ + return rslms_get_meas_msg_type(msg, 0) == GSM48_MT_RR_GPRS_SUSP_REQ; +} + +/* TS 44.018 9.1.13b GPRS suspension request */ +static int handle_gprs_susp_req(struct msgb *msg) +{ + struct gsm48_hdr *gh = msgb_l3(msg); + struct gsm48_gprs_susp_req *gsr; + uint32_t tlli; + int rc; + + if (!gh || msgb_l3len(msg) < sizeof(*gh)+sizeof(*gsr)) { + LOGP(DRSL, LOGL_NOTICE, "%s Short GPRS SUSPEND REQ received, ignoring\n", gsm_lchan_name(msg->lchan)); + return -EINVAL; + } + + gsr = (struct gsm48_gprs_susp_req *) gh->data; + tlli = osmo_ntohl(gsr->tlli); + + LOGP(DRSL, LOGL_INFO, "%s Fwd GPRS SUSPEND REQ for TLLI=0x%08x to PCU\n", + gsm_lchan_name(msg->lchan), tlli); + rc = pcu_tx_susp_req(msg->lchan, tlli, gsr->ra_id, gsr->cause); + + msgb_free(msg); + + return rc; +} + static inline uint8_t ms_to2rsl(const struct gsm_lchan *lchan, const struct lapdm_entity *le) { return (lchan->ms_t_offs >= 0) ? lchan->ms_t_offs : (lchan->p_offs - le->ta); @@ -2731,6 +2766,8 @@ rc = rsl_tx_meas_res(lchan, msgb_l3(msg), msgb_l3len(msg), le); msgb_free(msg); return rc; + } else if (rslms_is_gprs_susp_req(msg)) { + return handle_gprs_susp_req(msg); } else { LOGP(DRSL, LOGL_INFO, "%s Fwd RLL msg %s from LAPDm to A-bis\n", gsm_lchan_name(lchan), rsl_msg_name(rh->msg_type)); -- To view, visit https://gerrit.osmocom.org/13347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3c1af662c8f0d3d22da200638480f6ef05c3ed1f Gerrit-Change-Number: 13347 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:25:50 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 11:25:50 +0000 Subject: Change in openbsc[master]: Drop Iu*S support and related dependencies In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13417 ) Change subject: Drop Iu*S support and related dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5678a74504b4456aba0438ccc34731770801128 Gerrit-Change-Number: 13417 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 11:25:50 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:27:03 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 11:27:03 +0000 Subject: Change in python/osmo-python-tests[master]: deb: fix wrong changelog date In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/12487 ) Change subject: deb: fix wrong changelog date ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/12487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie73b1f29bd13e68e9b5e05896f1f048bc8108d17 Gerrit-Change-Number: 12487 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 11:27:03 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:29:19 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 11:29:19 +0000 Subject: Change in osmo-bsc[master]: nanobts: use libosmocore's osmo_store*() for OML attr. patching In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13418 ) Change subject: nanobts: use libosmocore's osmo_store*() for OML attr. patching ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c File src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c: https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c at 207 PS1, Line 207: osmo_store16be(bts->gprs.nsvc[0].remote_port, &buf[0]); > but the previous patch_16/32() always had a htons/htonl inside, so I think for this line and the two [?] Ah indeed, I didn't see the htnol and htons. -- To view, visit https://gerrit.osmocom.org/13418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a Gerrit-Change-Number: 13418 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 11:29:19 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:39:23 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 11:39:23 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13363 ) Change subject: contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy ...................................................................... contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy Depends on osmo-pcu Change-Id I7cd89a549c9463e81893ca7dd925299f728e4453. Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de --- M contrib/jenkins-build-osmo-pcu-oc2g.sh 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/contrib/jenkins-build-osmo-pcu-oc2g.sh b/contrib/jenkins-build-osmo-pcu-oc2g.sh index c10b14e..b113f21 100755 --- a/contrib/jenkins-build-osmo-pcu-oc2g.sh +++ b/contrib/jenkins-build-osmo-pcu-oc2g.sh @@ -18,7 +18,13 @@ prefix_real="$DESTDIR$prefix" . "$(dirname "$0")/jenkins-build-common.sh" +prev_git_url="${git_url}" +git_url="https://gitlab.com/nrw_oc2g/" +have_repo "oc2g-fw" "nrw/oc2g" +git_url="${prev_git_url}" +L1_OC2G_HEADERS="$PWD/oc2g-fw/inc" + build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls -build_repo osmo-pcu --disable-sysmocom-dsp +build_repo osmo-pcu --disable-sysmocom-dsp -enable-oc2gbts-phy --with-oc2g="$L1_OC2G_HEADERS" create_bin_tgz osmo-pcu -- To view, visit https://gerrit.osmocom.org/13363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de Gerrit-Change-Number: 13363 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:42:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:42:28 +0000 Subject: Change in osmo-msc[master]: debian/control: Fix typo In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13325 ) Change subject: debian/control: Fix typo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3392d8e184413203d27fc3d75371de4d66f205b9 Gerrit-Change-Number: 13325 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 27 Mar 2019 11:42:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:42:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:42:29 +0000 Subject: Change in osmo-msc[master]: debian/control: Fix typo In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13325 ) Change subject: debian/control: Fix typo ...................................................................... debian/control: Fix typo Change-Id: I3392d8e184413203d27fc3d75371de4d66f205b9 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Max: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/debian/control b/debian/control index f4cd95e..54a3546 100644 --- a/debian/control +++ b/debian/control @@ -60,5 +60,5 @@ towards a HLR, but the much simpler Osmocom GSUP protocol, which can be translated to MAP if needed. . - This package contains the debug symbols for osmo-mgw in order to + This package contains the debug symbols for osmo-msc in order to generate meaningful backtraces in bug-reports. -- To view, visit https://gerrit.osmocom.org/13325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3392d8e184413203d27fc3d75371de4d66f205b9 Gerrit-Change-Number: 13325 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: lynxis lazus -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:43:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:43:32 +0000 Subject: Change in python/osmo-python-tests[master]: deb: fix wrong changelog date In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/12487 ) Change subject: deb: fix wrong changelog date ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/12487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie73b1f29bd13e68e9b5e05896f1f048bc8108d17 Gerrit-Change-Number: 12487 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 11:43:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:43:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:43:34 +0000 Subject: Change in python/osmo-python-tests[master]: deb: fix wrong changelog date In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/12487 ) Change subject: deb: fix wrong changelog date ...................................................................... deb: fix wrong changelog date Issue was discovered with lintian - likely a copy-paste error. Change-Id: Ie73b1f29bd13e68e9b5e05896f1f048bc8108d17 --- M debian/changelog 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 3bee65a..d0b6136 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,4 +2,4 @@ * Initial package - -- Harald Welte Thu, 31 May 2019 10:33:31 +0100 + -- Harald Welte Thu, 31 May 2018 10:33:31 +0100 -- To view, visit https://gerrit.osmocom.org/12487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie73b1f29bd13e68e9b5e05896f1f048bc8108d17 Gerrit-Change-Number: 12487 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:43:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:43:49 +0000 Subject: Change in openbsc[master]: Drop Iu*S support and related dependencies In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13417 ) Change subject: Drop Iu*S support and related dependencies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id5678a74504b4456aba0438ccc34731770801128 Gerrit-Change-Number: 13417 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 11:43:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 11:44:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 11:44:01 +0000 Subject: Change in openbsc[master]: Drop Iu*S support and related dependencies In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13417 ) Change subject: Drop Iu*S support and related dependencies ...................................................................... Drop Iu*S support and related dependencies There's optional libiu for Iu*S support but it's just a leftover from pre repo-split times: * it's not used by any code * it's not checked by gerrit verification in osmo-ci * it's disabled by default * it's not supported in .deb packages Instead of dragging old code in unknown stage of bit-rotting, let's just drop it completely. Change-Id: Id5678a74504b4456aba0438ccc34731770801128 --- M contrib/jenkins.sh M openbsc/configure.ac M openbsc/include/openbsc/Makefile.am D openbsc/include/openbsc/iu.h M openbsc/src/Makefile.am D openbsc/src/libiu/Makefile.am D openbsc/src/libiu/iu.c D openbsc/src/libiu/iu_vty.c 8 files changed, 1 insertion(+), 935 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index f8ae49c..277fece 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -2,7 +2,6 @@ # jenkins build helper script for openbsc. This is how we build on jenkins.osmocom.org # # environment variables: -# * IU: configure 3G support (values: "--enable-iu", "--disable-iu") # * MGCP: configure transcoding for MGCP (values: "--enable-mgcp-transcoding", "--disable-mgcp-transcoding") # * SMPP: configure the SMPP interface (values: "--enable-smpp", "--disable-smpp") # * WITH_MANUALS: build manual PDFs if set to "1" @@ -19,11 +18,6 @@ x="${x}_$($1 libosmo-sccp "$sccp_branch")" x="${x}_$($1 libsmpp34)" - if [ "x$IU" = "x--enable-iu" ]; then - x="${x}_$($1 libasn1c)" - x="${x}_$($1 osmo-iuh "$osmo_iuh_branch")" - fi - echo "${x}.tar.gz" } @@ -35,11 +29,6 @@ osmo-build-dep.sh libosmo-netif osmo-build-dep.sh libosmo-sccp "$sccp_branch" PARALLEL_MAKE=-j1 osmo-build-dep.sh libsmpp34 - - if [ "x$IU" = "x--enable-iu" ]; then - osmo-build-dep.sh libasn1c - osmo-build-dep.sh osmo-iuh "$osmo_iuh_branch" - fi } build_project() { @@ -48,7 +37,7 @@ autoreconf --install --force - ./configure "$SMPP" "$MGCP" "$IU" \ + ./configure "$SMPP" "$MGCP" \ --enable-osmo-bsc \ --enable-nat \ --enable-vty-tests \ @@ -59,11 +48,6 @@ "$MAKE" distcheck || cat-testlogs.sh } -if [ "x$IU" = "x--enable-iu" ]; then - sccp_branch="old_sua" - osmo_iuh_branch="old_sua" -fi - . osmo-build.sh # Build and publish manuals diff --git a/openbsc/configure.ac b/openbsc/configure.ac index 4b432b1..704c7d7 100644 --- a/openbsc/configure.ac +++ b/openbsc/configure.ac @@ -98,18 +98,6 @@ AM_CONDITIONAL(BUILD_MGCP_TRANSCODING, test "x$osmo_ac_mgcp_transcoding" = "xyes") AC_SUBST(osmo_ac_mgcp_transcoding) -# Enable/disable 3G aka IuPS + IuCS support? -AC_ARG_ENABLE([iu], [AS_HELP_STRING([--enable-iu], [Build 3G support, aka IuPS and IuCS interfaces])], - [osmo_ac_iu="$enableval"],[osmo_ac_iu="no"]) -if test "x$osmo_ac_iu" = "xyes" ; then - PKG_CHECK_MODULES(LIBASN1C, libasn1c >= 0.9.31) - PKG_CHECK_MODULES(LIBOSMORANAP, libosmo-ranap >= 0.3.0) - PKG_CHECK_MODULES(LIBOSMOSIGTRAN, libosmo-sigtran >= 0.9.0) - AC_DEFINE(BUILD_IU, 1, [Define if we want to build IuPS and IuCS interfaces support]) -fi -AM_CONDITIONAL(BUILD_IU, test "x$osmo_ac_iu" = "xyes") -AC_SUBST(osmo_ac_iu) - dnl checks for header files AC_HEADER_STDC @@ -252,7 +240,6 @@ src/libmgcp/Makefile src/libcommon/Makefile src/libfilter/Makefile - src/libiu/Makefile src/libcommon-cs/Makefile src/osmo-nitb/Makefile src/osmo-bsc/Makefile diff --git a/openbsc/include/openbsc/Makefile.am b/openbsc/include/openbsc/Makefile.am index 1fa30d5..59b2231 100644 --- a/openbsc/include/openbsc/Makefile.am +++ b/openbsc/include/openbsc/Makefile.am @@ -32,7 +32,6 @@ handover.h \ handover_decision.h \ ipaccess.h \ - iu.h \ meas_feed.h \ meas_rep.h \ mgcp.h \ diff --git a/openbsc/include/openbsc/iu.h b/openbsc/include/openbsc/iu.h deleted file mode 100644 index f973ac1..0000000 --- a/openbsc/include/openbsc/iu.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include - -struct sgsn_pdp_ctx; -struct msgb; -struct gprs_ra_id; - -struct RANAP_RAB_SetupOrModifiedItemIEs_s; -struct RANAP_GlobalRNC_ID; - -struct ue_conn_ctx { - struct llist_head list; - struct osmo_sccp_link *link; - uint32_t conn_id; - int integrity_active; - struct gprs_ra_id ra_id; -}; - -enum iu_event_type { - IU_EVENT_RAB_ASSIGN, - IU_EVENT_SECURITY_MODE_COMPLETE, - IU_EVENT_IU_RELEASE, /* An actual Iu Release message was received */ - IU_EVENT_LINK_INVALIDATED, /* A SUA link was lost or closed down */ - /* FIXME: maybe IU_EVENT_IU_RELEASE and IU_EVENT_LINK_INVALIDATED - * should be combined to one generic event that simply means the - * ue_conn_ctx should no longer be used, for whatever reason. */ -}; - -extern const struct value_string iu_event_type_names[]; -static inline const char *iu_event_type_str(enum iu_event_type e) -{ - return get_value_string(iu_event_type_names, e); -} - -/* Implementations of iu_recv_cb_t shall find the ue_conn_ctx in msg->dst. */ -typedef int (* iu_recv_cb_t )(struct msgb *msg, struct gprs_ra_id *ra_id, - /* TODO "gprs_" in generic CS+PS domain ^ */ - uint16_t *sai); - -typedef int (* iu_event_cb_t )(struct ue_conn_ctx *ue_ctx, - enum iu_event_type type, void *data); - -typedef int (* iu_rab_ass_resp_cb_t )(struct ue_conn_ctx *ue_ctx, uint8_t rab_id, - struct RANAP_RAB_SetupOrModifiedItemIEs_s *setup_ies); - -int iu_init(void *ctx, const char *listen_addr, uint16_t listen_port, - iu_recv_cb_t iu_recv_cb, iu_event_cb_t iu_event_cb); - -void iu_link_del(struct osmo_sccp_link *link); - -int iu_tx(struct msgb *msg, uint8_t sapi); - -int iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac); -int iu_page_ps(const char *imsi, const uint32_t *ptmsi, uint16_t lac, uint8_t rac); - -int iu_rab_act(struct ue_conn_ctx *ue_ctx, struct msgb *msg); -int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id); -int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp, - int send_ck, int new_key); - -void iu_vty_init(int *asn_debug_p); diff --git a/openbsc/src/Makefile.am b/openbsc/src/Makefile.am index 86d6f8f..46f30d7 100644 --- a/openbsc/src/Makefile.am +++ b/openbsc/src/Makefile.am @@ -30,13 +30,6 @@ libcommon-cs \ $(NULL) -# Conditional Libraries -if BUILD_IU -SUBDIRS += \ - libiu \ - $(NULL) -endif - # Programs SUBDIRS += \ osmo-nitb \ diff --git a/openbsc/src/libiu/Makefile.am b/openbsc/src/libiu/Makefile.am deleted file mode 100644 index e5f9e27..0000000 --- a/openbsc/src/libiu/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -AM_CPPFLAGS = \ - $(all_includes) \ - -I$(top_srcdir)/include \ - -I$(top_builddir) \ - $(NULL) - -AM_CFLAGS = \ - -Wall \ - $(COVERAGE_CFLAGS) \ - $(LIBCRYPTO_CFLAGS) \ - $(LIBASN1C_CFLAGS) \ - $(LIBOSMOCORE_CFLAGS) \ - $(LIBOSMOVTY_CFLAGS) \ - $(LIBOSMOGSM_CFLAGS) \ - $(LIBOSMOABIS_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMORANAP_CFLAGS) \ - $(NULL) - -noinst_LIBRARIES = \ - libiu.a \ - $(NULL) - -libiu_a_SOURCES = \ - iu.c \ - iu_vty.c \ - $(NULL) - diff --git a/openbsc/src/libiu/iu.c b/openbsc/src/libiu/iu.c deleted file mode 100644 index b4e7ac8..0000000 --- a/openbsc/src/libiu/iu.c +++ /dev/null @@ -1,757 +0,0 @@ -/* Common parts of IuCS and IuPS interfaces implementation */ - -/* (C) 2016 by sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -/* Parsed global RNC id. See also struct RANAP_GlobalRNC_ID, and note that the - * PLMN identity is a BCD representation of the MCC and MNC. - * See iu_grnc_id_parse(). */ -struct iu_grnc_id { - struct osmo_plmn_id plmn; - uint16_t rnc_id; -}; - -/* A remote RNC (Radio Network Controller, like BSC but for UMTS) that has - * called us and is currently reachable at the given osmo_sccp_link. So, when we - * know a LAC for a subscriber, we can page it at the RNC matching that LAC or - * RAC. An HNB-GW typically presents itself as if it were a single RNC, even - * though it may have several RNCs in hNodeBs connected to it. Those will then - * share the same RNC id, which they actually receive and adopt from the HNB-GW - * in the HNBAP HNB REGISTER ACCEPT message. */ -struct iu_rnc { - struct llist_head entry; - - uint16_t rnc_id; - uint16_t lac; /* Location Area Code (used for CS and PS) */ - uint8_t rac; /* Routing Area Code (used for PS only) */ - struct osmo_sccp_link *link; -}; - -void *talloc_iu_ctx; - -int asn1_xer_print = 1; -void *talloc_asn1_ctx; - -iu_recv_cb_t global_iu_recv_cb = NULL; -iu_event_cb_t global_iu_event_cb = NULL; - -static LLIST_HEAD(ue_conn_ctx_list); -static LLIST_HEAD(rnc_list); - -const struct value_string iu_event_type_names[] = { - OSMO_VALUE_STRING(IU_EVENT_RAB_ASSIGN), - OSMO_VALUE_STRING(IU_EVENT_SECURITY_MODE_COMPLETE), - OSMO_VALUE_STRING(IU_EVENT_IU_RELEASE), - OSMO_VALUE_STRING(IU_EVENT_LINK_INVALIDATED), - { 0, NULL } -}; - -struct ue_conn_ctx *ue_conn_ctx_alloc(struct osmo_sccp_link *link, uint32_t conn_id) -{ - struct ue_conn_ctx *ctx = talloc_zero(talloc_iu_ctx, struct ue_conn_ctx); - - ctx->link = link; - ctx->conn_id = conn_id; - llist_add(&ctx->list, &ue_conn_ctx_list); - - return ctx; -} - -struct ue_conn_ctx *ue_conn_ctx_find(struct osmo_sccp_link *link, - uint32_t conn_id) -{ - struct ue_conn_ctx *ctx; - - llist_for_each_entry(ctx, &ue_conn_ctx_list, list) { - if (ctx->link == link && ctx->conn_id == conn_id) - return ctx; - } - return NULL; -} - -static struct iu_rnc *iu_rnc_alloc(uint16_t rnc_id, uint16_t lac, uint8_t rac, - struct osmo_sccp_link *link) -{ - struct iu_rnc *rnc = talloc_zero(talloc_iu_ctx, struct iu_rnc); - - rnc->rnc_id = rnc_id; - rnc->lac = lac; - rnc->rac = rac; - rnc->link = link; - llist_add(&rnc->entry, &rnc_list); - - LOGP(DRANAP, LOGL_NOTICE, "New RNC %d (LAC=%d RAC=%d)\n", - rnc->rnc_id, rnc->lac, rnc->rac); - - return rnc; -} - -static struct iu_rnc *iu_rnc_register(uint16_t rnc_id, uint16_t lac, - uint8_t rac, struct osmo_sccp_link *link) -{ - struct iu_rnc *rnc; - llist_for_each_entry(rnc, &rnc_list, entry) { - if (rnc->rnc_id != rnc_id) - continue; - - /* We have this RNC Id registered already. Make sure that the - * details match. */ - - /* TODO should a mismatch be an error? */ - if (rnc->lac != lac || rnc->rac != rac) - LOGP(DRANAP, LOGL_NOTICE, "RNC %d changes its details:" - " LAC=%d RAC=%d --> LAC=%d RAC=%d\n", - rnc->rnc_id, rnc->lac, rnc->rac, - lac, rac); - rnc->lac = lac; - rnc->rac = rac; - - if (link && rnc->link != link) - LOGP(DRANAP, LOGL_NOTICE, "RNC %d on new link" - " (LAC=%d RAC=%d)\n", - rnc->rnc_id, rnc->lac, rnc->rac); - rnc->link = link; - return rnc; - } - - /* Not found, make a new one. */ - return iu_rnc_alloc(rnc_id, lac, rac, link); -} - -/* Discard/invalidate all ue_conn_ctx and iu_rnc entries that reference the - * given link, since this link is invalid and about to be deallocated. For - * each ue_conn_ctx, invoke the iu_event_cb_t with IU_EVENT_LINK_INVALIDATED. - */ -void iu_link_del(struct osmo_sccp_link *link) -{ - struct iu_rnc *rnc, *rnc_next; - llist_for_each_entry_safe(rnc, rnc_next, &rnc_list, entry) { - if (!rnc->link) - continue; - if (rnc->link != link) - continue; - rnc->link = NULL; - llist_del(&rnc->entry); - talloc_free(rnc); - } - - struct ue_conn_ctx *uec, *uec_next; - llist_for_each_entry_safe(uec, uec_next, &ue_conn_ctx_list, list) { - if (uec->link != link) - continue; - uec->link = NULL; - global_iu_event_cb(uec, IU_EVENT_LINK_INVALIDATED, NULL); - } -} - -/*********************************************************************** - * RANAP handling - ***********************************************************************/ - -int iu_rab_act(struct ue_conn_ctx *ue_ctx, struct msgb *msg) -{ - struct osmo_scu_prim *prim; - - /* wrap RANAP message in SCCP N-DATA.req */ - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = ue_ctx->conn_id; - osmo_prim_init(&prim->oph, - SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, - msg); - return osmo_sua_user_link_down(ue_ctx->link, &prim->oph); -} - -int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id) -{ - /* FIXME */ - return -1; -} - -int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp, - int send_ck, int new_key) -{ - struct osmo_scu_prim *prim; - struct msgb *msg; - uint8_t ik[16]; - uint8_t ck[16]; - unsigned int i; - - /* C5 function to derive IK from Kc */ - for (i = 0; i < 4; i++) - ik[i] = tp->vec.kc[i] ^ tp->vec.kc[i+4]; - memcpy(ik+4, tp->vec.kc, 8); - for (i = 12; i < 16; i++) - ik[i] = ik[i-12]; - - if (send_ck) { - /* C4 function to derive CK from Kc */ - memcpy(ck, tp->vec.kc, 8); - memcpy(ck+8, tp->vec.kc, 8); - } - - /* create RANAP message */ - msg = ranap_new_msg_sec_mod_cmd(ik, send_ck? ck : NULL, new_key ? RANAP_KeyStatus_new : RANAP_KeyStatus_old); - msg->l2h = msg->data; - /* wrap RANAP message in SCCP N-DATA.req */ - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = uectx->conn_id; - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, msg); - osmo_sua_user_link_down(uectx->link, &prim->oph); - - return 0; -} - -static int iu_grnc_id_parse(struct iu_grnc_id *dst, - struct RANAP_GlobalRNC_ID *src) -{ - /* The size is coming from arbitrary sender, check it gracefully */ - if (src->pLMNidentity.size != 3) { - LOGP(DRANAP, LOGL_ERROR, "Invalid PLMN Identity size:" - " should be 3, is %d\n", src->pLMNidentity.size); - return -1; - } - osmo_plmn_from_bcd(&src->pLMNidentity.buf[0], &dst->plmn); - dst->rnc_id = (uint16_t)src->rNC_ID; - return 0; -} - -#if 0 - -- not used at present -- -static int iu_grnc_id_compose(struct iu_grnc_id *src, - struct RANAP_GlobalRNC_ID *dst) -{ - /* The caller must ensure proper size */ - OSMO_ASSERT(dst->pLMNidentity.size == 3); - gsm48_mcc_mnc_to_bcd(&dst->pLMNidentity.buf[0], - src->mcc, src->mnc); - dst->rNC_ID = src->rnc_id; - return 0; -} -#endif - -static int ranap_handle_co_initial_ue(void *ctx, RANAP_InitialUE_MessageIEs_t *ies) -{ - struct ue_conn_ctx *ue_conn = ctx; - struct gprs_ra_id ra_id; - struct iu_grnc_id grnc_id; - uint16_t sai; - struct msgb *msg = msgb_alloc(256, "RANAP->NAS"); - - if (ranap_parse_lai(&ra_id, &ies->lai) != 0) { - LOGP(DRANAP, LOGL_ERROR, "Failed to parse RANAP LAI IE\n"); - return -1; - } - - if (ies->presenceMask & INITIALUE_MESSAGEIES_RANAP_RAC_PRESENT) { - ra_id.rac = asn1str_to_u8(&ies->rac); - } - - if (iu_grnc_id_parse(&grnc_id, &ies->globalRNC_ID) != 0) { - LOGP(DRANAP, LOGL_ERROR, - "Failed to parse RANAP Global-RNC-ID IE\n"); - return -1; - } - - sai = asn1str_to_u16(&ies->sai.sAC); - msgb_gmmh(msg) = msgb_put(msg, ies->nas_pdu.size); - memcpy(msgb_gmmh(msg), ies->nas_pdu.buf, ies->nas_pdu.size); - - /* Make sure we know the RNC Id and LAC+RAC coming in on this connection. */ - iu_rnc_register(grnc_id.rnc_id, ra_id.lac, ra_id.rac, ue_conn->link); - ue_conn->ra_id = ra_id; - - /* Feed into the MM layer */ - msg->dst = ctx; - global_iu_recv_cb(msg, &ra_id, &sai); - - msgb_free(msg); - - return 0; -} - -static int ranap_handle_co_dt(void *ctx, RANAP_DirectTransferIEs_t *ies) -{ - struct gprs_ra_id _ra_id, *ra_id = NULL; - uint16_t _sai, *sai = NULL; - struct msgb *msg = msgb_alloc(256, "RANAP->NAS"); - - if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_LAI_PRESENT) { - if (ranap_parse_lai(&_ra_id, &ies->lai) != 0) { - LOGP(DRANAP, LOGL_ERROR, "Failed to parse RANAP LAI IE\n"); - return -1; - } - ra_id = &_ra_id; - if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_RAC_PRESENT) { - _ra_id.rac = asn1str_to_u8(&ies->rac); - } - if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_SAI_PRESENT) { - _sai = asn1str_to_u16(&ies->sai.sAC); - sai = &_sai; - } - } - - msgb_gmmh(msg) = msgb_put(msg, ies->nas_pdu.size); - memcpy(msgb_gmmh(msg), ies->nas_pdu.buf, ies->nas_pdu.size); - - /* Feed into the MM/CC/SMS-CP layer */ - msg->dst = ctx; - global_iu_recv_cb(msg, ra_id, sai); - - msgb_free(msg); - - return 0; -} - -static int ranap_handle_co_err_ind(void *ctx, RANAP_ErrorIndicationIEs_t *ies) -{ - if (ies->presenceMask & ERRORINDICATIONIES_RANAP_CAUSE_PRESENT) - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication (%s)\n", - ranap_cause_str(&ies->cause)); - else - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication\n"); - - return 0; -} - -int iu_tx(struct msgb *msg_nas, uint8_t sapi) -{ - struct ue_conn_ctx *uectx = msg_nas->dst; - struct msgb *msg; - struct osmo_scu_prim *prim; - - LOGP(DRANAP, LOGL_INFO, "Transmitting L3 Message as RANAP DT (SUA link %p conn_id %u)\n", - uectx->link, uectx->conn_id); - - msg = ranap_new_msg_dt(sapi, msg_nas->data, msgb_length(msg_nas)); - msgb_free(msg_nas); - msg->l2h = msg->data; - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = uectx->conn_id; - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, msg); - osmo_sua_user_link_down(uectx->link, &prim->oph); - return 0; -} - -static int ranap_handle_co_iu_rel_req(struct ue_conn_ctx *ctx, RANAP_Iu_ReleaseRequestIEs_t *ies) -{ - struct msgb *msg; - struct osmo_scu_prim *prim; - - LOGP(DRANAP, LOGL_INFO, "Received Iu Release Request, Sending Release Command\n"); - msg = ranap_new_msg_iu_rel_cmd(&ies->cause); - msg->l2h = msg->data; - prim = (struct osmo_scu_prim *) msgb_push(msg, sizeof(*prim)); - prim->u.data.conn_id = ctx->conn_id; - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_DATA, - PRIM_OP_REQUEST, msg); - osmo_sua_user_link_down(ctx->link, &prim->oph); - return 0; -} - -static int ranap_handle_co_rab_ass_resp(struct ue_conn_ctx *ctx, RANAP_RAB_AssignmentResponseIEs_t *ies) -{ - int rc = -1; - - LOGP(DRANAP, LOGL_INFO, - "Rx RAB Assignment Response for UE conn_id %u\n", ctx->conn_id); - if (ies->presenceMask & RAB_ASSIGNMENTRESPONSEIES_RANAP_RAB_SETUPORMODIFIEDLIST_PRESENT) { - /* TODO: Iterate over list of SetupOrModifiedList IEs and handle each one */ - RANAP_IE_t *ranap_ie = ies->raB_SetupOrModifiedList.raB_SetupOrModifiedList_ies.list.array[0]; - RANAP_RAB_SetupOrModifiedItemIEs_t setup_ies; - - rc = ranap_decode_rab_setupormodifieditemies_fromlist(&setup_ies, &ranap_ie->value); - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Error in ranap_decode_rab_setupormodifieditemies()\n"); - return rc; - } - - rc = global_iu_event_cb(ctx, IU_EVENT_RAB_ASSIGN, &setup_ies); - - ranap_free_rab_setupormodifieditemies(&setup_ies); - } - - return rc; -} - -/* Entry point for connection-oriented RANAP message */ -static void cn_ranap_handle_co(void *ctx, ranap_message *message) -{ - int rc; - - LOGP(DRANAP, LOGL_NOTICE, "handle_co(dir=%u, proc=%u)\n", message->direction, message->procedureCode); - - switch (message->direction) { - case RANAP_RANAP_PDU_PR_initiatingMessage: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_InitialUE_Message: - rc = ranap_handle_co_initial_ue(ctx, &message->msg.initialUE_MessageIEs); - break; - case RANAP_ProcedureCode_id_DirectTransfer: - rc = ranap_handle_co_dt(ctx, &message->msg.directTransferIEs); - break; - case RANAP_ProcedureCode_id_ErrorIndication: - rc = ranap_handle_co_err_ind(ctx, &message->msg.errorIndicationIEs); - break; - case RANAP_ProcedureCode_id_Iu_ReleaseRequest: - /* Iu Release Request */ - rc = ranap_handle_co_iu_rel_req(ctx, &message->msg.iu_ReleaseRequestIEs); - break; - default: - LOGP(DRANAP, LOGL_ERROR, "Received Initiating Message: unknown Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_successfulOutcome: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_SecurityModeControl: - /* Security Mode Complete */ - rc = global_iu_event_cb(ctx, IU_EVENT_SECURITY_MODE_COMPLETE, NULL); - break; - case RANAP_ProcedureCode_id_Iu_Release: - /* Iu Release Complete */ - rc = global_iu_event_cb(ctx, IU_EVENT_IU_RELEASE, NULL); - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Iu Release event: Iu Event callback returned %d\n", - rc); - } - break; - default: - LOGP(DRANAP, LOGL_ERROR, "Received Successful Outcome: unknown Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_outcome: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_RAB_Assignment: - /* RAB Assignment Response */ - rc = ranap_handle_co_rab_ass_resp(ctx, &message->msg.raB_AssignmentResponseIEs); - break; - default: - LOGP(DRANAP, LOGL_ERROR, "Received Outcome: unknown Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_unsuccessfulOutcome: - default: - LOGP(DRANAP, LOGL_ERROR, "Received Unsuccessful Outcome: Procedure Code %d\n", - message->procedureCode); - rc = -1; - break; - } - - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Error in cn_ranap_handle_co (%d)\n", - rc); - /* TODO handling of the error? */ - } -} - -static int ranap_handle_cl_reset_req(void *ctx, RANAP_ResetIEs_t *ies) -{ - /* FIXME: send reset response */ - return -1; -} - -static int ranap_handle_cl_err_ind(void *ctx, RANAP_ErrorIndicationIEs_t *ies) -{ - if (ies->presenceMask & ERRORINDICATIONIES_RANAP_CAUSE_PRESENT) - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication (%s)\n", - ranap_cause_str(&ies->cause)); - else - LOGP(DRANAP, LOGL_ERROR, "Rx Error Indication\n"); - - return 0; -} - -/* Entry point for connection-less RANAP message */ -static void cn_ranap_handle_cl(void *ctx, ranap_message *message) -{ - int rc; - - switch (message->direction) { - case RANAP_RANAP_PDU_PR_initiatingMessage: - switch (message->procedureCode) { - case RANAP_ProcedureCode_id_Reset: - /* received reset.req, send reset.resp */ - rc = ranap_handle_cl_reset_req(ctx, &message->msg.resetIEs); - break; - case RANAP_ProcedureCode_id_ErrorIndication: - rc = ranap_handle_cl_err_ind(ctx, &message->msg.errorIndicationIEs); - break; - default: - rc = -1; - break; - } - break; - case RANAP_RANAP_PDU_PR_successfulOutcome: - case RANAP_RANAP_PDU_PR_unsuccessfulOutcome: - case RANAP_RANAP_PDU_PR_outcome: - default: - rc = -1; - break; - } - - if (rc) { - LOGP(DRANAP, LOGL_ERROR, "Error in cn_ranap_handle_cl (%d)\n", - rc); - /* TODO handling of the error? */ - } -} - -/*********************************************************************** - * Paging - ***********************************************************************/ - -/* Send a paging command down a given SUA link. tmsi and paging_cause are - * optional and may be passed NULL and 0, respectively, to disable their use. - * See enum RANAP_PagingCause. - * - * If TMSI is given, the IMSI is not sent over the air interface. Nevertheless, - * the IMSI is still required for resolution in the HNB-GW and/or(?) RNC. */ -static int iu_tx_paging_cmd(struct osmo_sccp_link *link, - const char *imsi, const uint32_t *tmsi, - bool is_ps, uint32_t paging_cause) -{ - struct msgb *msg; - msg = ranap_new_msg_paging_cmd(imsi, tmsi, is_ps? 1 : 0, paging_cause); - msg->l2h = msg->data; - return osmo_sccp_tx_unitdata_ranap(link, 1, 2, msg->data, - msgb_length(msg)); -} - -static int iu_page(const char *imsi, const uint32_t *tmsi_or_ptimsi, - uint16_t lac, uint8_t rac, bool is_ps) -{ - struct iu_rnc *rnc; - int pagings_sent = 0; - - if (tmsi_or_ptimsi) { - LOGP(DRANAP, LOGL_DEBUG, "%s: Looking for RNCs to page for IMSI %s" - " (paging will use %s %x)\n", - is_ps? "IuPS" : "IuCS", - imsi, - is_ps? "PTMSI" : "TMSI", - *tmsi_or_ptimsi); - } else { - LOGP(DRANAP, LOGL_DEBUG, "%s: Looking for RNCs to page for IMSI %s" - " (paging will use IMSI)\n", - is_ps? "IuPS" : "IuCS", - imsi - ); - } - - llist_for_each_entry(rnc, &rnc_list, entry) { - if (!rnc->link) { - /* Not actually connected, don't count it. */ - continue; - } - if (rnc->lac != lac) - continue; - if (is_ps && rnc->rac != rac) - continue; - - /* Found a match! */ - if (iu_tx_paging_cmd(rnc->link, imsi, tmsi_or_ptimsi, is_ps, 0) - == 0) { - LOGP(DRANAP, LOGL_DEBUG, - "%s: Paged for IMSI %s on RNC %d, on SUA link %p\n", - is_ps? "IuPS" : "IuCS", - imsi, rnc->rnc_id, rnc->link); - pagings_sent ++; - } - } - - /* Some logging... */ - if (pagings_sent > 0) { - LOGP(DRANAP, LOGL_DEBUG, - "%s: %d RNCs were paged for IMSI %s.\n", - is_ps? "IuPS" : "IuCS", - pagings_sent, imsi); - } - else { - if (is_ps) { - LOGP(DRANAP, LOGL_ERROR, "IuPS: Found no RNC to page for" - " LAC %d RAC %d (would have paged IMSI %s)\n", - lac, rac, imsi); - } - else { - LOGP(DRANAP, LOGL_ERROR, "IuCS: Found no RNC to page for" - " LAC %d (would have paged IMSI %s)\n", - lac, imsi); - } - } - - return pagings_sent; -} - -int iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac) -{ - return iu_page(imsi, tmsi, lac, 0, false); -} - -int iu_page_ps(const char *imsi, const uint32_t *ptmsi, uint16_t lac, uint8_t rac) -{ - return iu_page(imsi, ptmsi, lac, rac, true); -} - - -/*********************************************************************** - * - ***********************************************************************/ - -int tx_unitdata(struct osmo_sccp_link *link); -int tx_conn_req(struct osmo_sccp_link *link, uint32_t conn_id); - -struct osmo_prim_hdr *make_conn_req(uint32_t conn_id); -struct osmo_prim_hdr *make_dt1_req(uint32_t conn_id, const uint8_t *data, unsigned int len); - -struct osmo_prim_hdr *make_conn_resp(struct osmo_scu_connect_param *param) -{ - struct msgb *msg = msgb_alloc(1024, "conn_resp"); - struct osmo_scu_prim *prim; - - prim = (struct osmo_scu_prim *) msgb_put(msg, sizeof(*prim)); - osmo_prim_init(&prim->oph, SCCP_SAP_USER, - OSMO_SCU_PRIM_N_CONNECT, - PRIM_OP_RESPONSE, msg); - memcpy(&prim->u.connect, param, sizeof(prim->u.connect)); - return &prim->oph; -} - -static int sccp_sap_up(struct osmo_prim_hdr *oph, void *link) -{ - struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; - struct osmo_prim_hdr *resp = NULL; - int rc; - struct ue_conn_ctx *ue; - - DEBUGP(DRANAP, "sccp_sap_up(%s)\n", osmo_scu_prim_name(oph)); - - switch (OSMO_PRIM_HDR(oph)) { - case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_CONFIRM): - /* confirmation of outbound connection */ - rc = -1; - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_INDICATION): - /* indication of new inbound connection request*/ - DEBUGP(DRANAP, "N-CONNECT.ind(X->%u)\n", prim->u.connect.conn_id); - if (/* prim->u.connect.called_addr.ssn != OSMO_SCCP_SSN_RANAP || */ - !msgb_l2(oph->msg) || msgb_l2len(oph->msg) == 0) { - LOGP(DRANAP, LOGL_NOTICE, - "Received invalid N-CONNECT.ind\n"); - return 0; - } - ue = ue_conn_ctx_alloc(link, prim->u.connect.conn_id); - /* first ensure the local SUA/SCCP socket is ACTIVE */ - resp = make_conn_resp(&prim->u.connect); - osmo_sua_user_link_down(link, resp); - /* then handle the RANAP payload */ - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_DISCONNECT, PRIM_OP_INDICATION): - /* indication of disconnect */ - DEBUGP(DRANAP, "N-DISCONNECT.ind(%u)\n", - prim->u.disconnect.conn_id); - ue = ue_conn_ctx_find(link, prim->u.disconnect.conn_id); - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): - /* connection-oriented data received */ - DEBUGP(DRANAP, "N-DATA.ind(%u, %s)\n", prim->u.data.conn_id, - osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); - /* resolve UE context */ - ue = ue_conn_ctx_find(link, prim->u.data.conn_id); - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): - /* connection-less data received */ - DEBUGP(DRANAP, "N-UNITDATA.ind(%s)\n", - osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); - rc = ranap_cn_rx_cl(cn_ranap_handle_cl, link, msgb_l2(oph->msg), msgb_l2len(oph->msg)); - break; - default: - rc = -1; - break; - } - - msgb_free(oph->msg); - return rc; -} - -int iu_init(void *ctx, const char *listen_addr, uint16_t listen_port, - iu_recv_cb_t iu_recv_cb, iu_event_cb_t iu_event_cb) -{ - struct osmo_sccp_user *user; - talloc_iu_ctx = talloc_named_const(ctx, 1, "iu"); - talloc_asn1_ctx = talloc_named_const(talloc_iu_ctx, 1, "asn1"); - - global_iu_recv_cb = iu_recv_cb; - global_iu_event_cb = iu_event_cb; - osmo_sua_set_log_area(DSUA); - user = osmo_sua_user_create(talloc_iu_ctx, sccp_sap_up, talloc_iu_ctx); - return osmo_sua_server_listen(user, listen_addr, listen_port); -} - diff --git a/openbsc/src/libiu/iu_vty.c b/openbsc/src/libiu/iu_vty.c deleted file mode 100644 index 91eed96..0000000 --- a/openbsc/src/libiu/iu_vty.c +++ /dev/null @@ -1,50 +0,0 @@ -/* OpenBSC Iu related interface to quagga VTY */ -/* (C) 2016 by sysmocom s.m.f.c. GmbH - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include - -#include -#include - -/* Pointer to the actual asn_debug value as passed from main scopes. */ -static int *g_asn_debug_p = NULL; - -DEFUN(logging_asn_debug, - logging_asn_debug_cmd, - "logging asn1-debug (1|0)", - LOGGING_STR - "Log human readable representations of all ASN.1 messages to stderr\n" - "Log decoded ASN.1 messages to stderr\n" - "Do not log decoded ASN.1 messages to stderr\n") -{ - if (!g_asn_debug_p) { - vty_out(vty, "%%ASN.1 debugging not available%s", VTY_NEWLINE); - return CMD_WARNING; - } - - *g_asn_debug_p = atoi(argv[0]); - return CMD_SUCCESS; -} - -void iu_vty_init(int *asn_debug_p) -{ - g_asn_debug_p = asn_debug_p; - - install_element(CFG_LOG_NODE, &logging_asn_debug_cmd); -} -- To view, visit https://gerrit.osmocom.org/13417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id5678a74504b4456aba0438ccc34731770801128 Gerrit-Change-Number: 13417 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:26:28 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:26:28 +0000 Subject: Change in osmo-bsc[master]: nanobts: use libosmocore's osmo_store*() for OML attr. patching In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13418 ) Change subject: nanobts: use libosmocore's osmo_store*() for OML attr. patching ...................................................................... Patch Set 1: (1 comment) Not sure this will have a chance to significantly improve until we have some actual users running Osmocom stack on Power processors (or alike). https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c File src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c: https://gerrit.osmocom.org/#/c/13418/1/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c at 202 PS1, Line 202: buf[0] = bts->gprs.nsvc[0].nsvci >> 8; > your assessment appears correct. This should be fixed in an independent patch/fix. I agree. Ideally we should also try to build and use it on some BE CPU (Power 9?) - I'm pretty sure this will reveal more issues where code compiles fine but does not do what's expected. For example in OsmoBTS pcu_sock.c (and it's copy in OsmoBSC) there're warnings about *l_tbf_ext endianness which seems to be due to the way PCU in nanobts expects that data. -- To view, visit https://gerrit.osmocom.org/13418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a Gerrit-Change-Number: 13418 Gerrit-PatchSet: 1 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 12:26:28 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:26:32 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:26:32 +0000 Subject: Change in osmo-bsc[master]: nanobts: use libosmocore's osmo_store*() for OML attr. patching In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13418 ) Change subject: nanobts: use libosmocore's osmo_store*() for OML attr. patching ...................................................................... nanobts: use libosmocore's osmo_store*() for OML attr. patching This slightly simplifies things by making endianness more obvious and removing abstraction. Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a --- M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c 1 file changed, 3 insertions(+), 12 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index d674c18..be40410 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -25,15 +25,6 @@ #include #include -static void patch_16(uint8_t *data, const uint16_t val) -{ - memcpy(data, &val, sizeof(val)); -} - -static void patch_32(uint8_t *data, const uint32_t val) -{ - memcpy(data, &val, sizeof(val)); -} struct msgb *nanobts_attr_bts_get(struct gsm_bts *bts) { @@ -213,11 +204,11 @@ msgb_tl16v_put(msgb, NM_ATT_IPACC_NSVCI, 2, buf); /* remote udp port */ - patch_16(&buf[0], htons(bts->gprs.nsvc[0].remote_port)); + osmo_store16be(bts->gprs.nsvc[0].remote_port, &buf[0]); /* remote ip address */ - patch_32(&buf[2], htonl(bts->gprs.nsvc[0].remote_ip)); + osmo_store32be(bts->gprs.nsvc[0].remote_ip, &buf[2]); /* local udp port */ - patch_16(&buf[6], htons(bts->gprs.nsvc[0].local_port)); + osmo_store16be(bts->gprs.nsvc[0].local_port, &buf[6]); msgb_tl16v_put(msgb, NM_ATT_IPACC_NS_LINK_CFG, 8, buf); return msgb; -- To view, visit https://gerrit.osmocom.org/13418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I28cfb09f224072db9889a89923a3da15a6070e2a Gerrit-Change-Number: 13418 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:00 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:00 +0000 Subject: Change in osmo-pcu[master]: MCS: add Channel Coding Command encoder In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13215 ) Change subject: MCS: add Channel Coding Command encoder ...................................................................... Patch Set 6: (1 comment) Let's do it in a separate patch though to avoid going through weel-long review cycle again over essentially cosmetic change. https://gerrit.osmocom.org/#/c/13215/6/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/#/c/13215/6/tests/tbf/TbfTest.cpp at 2740 PS6, Line 2740: OSMO_ASSERT(mcs_chan_code(tbf->m_rlc.block(bsn)->cs_current_trans) == cs - 1); \ > This new check looks really cryptic, at least it deserves come comment. I don't think it looks any more cryptic than before but adding comment won't hurt. -- To view, visit https://gerrit.osmocom.org/13215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d Gerrit-Change-Number: 13215 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 12:32:00 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:05 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:05 +0000 Subject: Change in osmo-pcu[master]: MCS: add Channel Coding Command encoder In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13215 ) Change subject: MCS: add Channel Coding Command encoder ...................................................................... MCS: add Channel Coding Command encoder Add function to encode MCS value as proper EDGE or GPRS Channel Coding value according to 3GPP TS 44.060 and corresponding helpers. Use it for everything except IA Rest Octet encoding which is done in a follow-up patches to make sure that we distinguish between encoding-related changes to test output and unrelated changes. Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/gprs_ms.cpp M tests/ms/MsTest.cpp M tests/tbf/TbfTest.cpp 7 files changed, 31 insertions(+), 20 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/coding_scheme.c b/src/coding_scheme.c index 4a5d0d4..a4ae882 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -64,6 +64,19 @@ return false; } +/* Return 3GPP TS 44.060 ?12.10d (EDGE) or Table 11.2.28.2 (GPRS) Channel Coding Command value */ +uint8_t mcs_chan_code(enum CodingScheme cs) +{ + if (mcs_is_gprs(cs)) + return cs - CS1; + + if (mcs_is_edge(cs)) + return cs - MCS1; + + /* Defaults to (M)CS1 */ + return 0; +} + static struct { struct { uint8_t data_header_bits; diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 3a9ef25..aac4bba 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -37,6 +37,8 @@ bool mcs_is_edge(enum CodingScheme cs); bool mcs_is_edge_gmsk(enum CodingScheme cs); +uint8_t mcs_chan_code(enum CodingScheme cs); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp index 8e6593b..a149f81 100644 --- a/src/gprs_coding_scheme.cpp +++ b/src/gprs_coding_scheme.cpp @@ -67,10 +67,7 @@ const GprsCodingScheme demanded_mcs, const unsigned arq_type) { - OSMO_ASSERT(mcs.to_num() > 0); - OSMO_ASSERT(demanded_mcs.to_num() > 0); - - return egprs_mcs_retx_tbl[arq_type][mcs.to_num() - 1][demanded_mcs.to_num() - 1]; + return egprs_mcs_retx_tbl[arq_type][mcs_chan_code(mcs)][mcs_chan_code(demanded_mcs)]; } static struct { diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 728ffd6..d5604fb 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -82,6 +82,7 @@ enum CodingScheme m_scheme; }; +// FIXME: remove once < comparison operator below is no longer necessary inline uint8_t GprsCodingScheme::to_num() const { if (mcs_is_gprs(m_scheme)) diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index f8f6227..19f2ecb 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -523,7 +523,7 @@ m_nack_rate_dl = error_rate; if (error_rate > bts_data->cs_adj_upper_limit) { - if (m_current_cs_dl.to_num() > 1) { + if (mcs_chan_code(m_current_cs_dl) > 0) { m_current_cs_dl.dec(mode()); LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): High error rate %d%%, " @@ -621,7 +621,7 @@ int low; int high; GprsCodingScheme new_cs_ul = m_current_cs_ul; - uint8_t current_cs_num = m_current_cs_ul.to_num(); + uint8_t current_cs = mcs_chan_code(m_current_cs_ul); bts_data = m_bts->bts_data(); @@ -632,8 +632,6 @@ return; } - OSMO_ASSERT(current_cs_num > 0); - if (!m_current_cs_ul) { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS because it's not set: %s\n", @@ -651,15 +649,15 @@ old_link_qual = meas->link_qual; if (mcs_is_gprs(m_current_cs_ul)) { - if (current_cs_num > MAX_GPRS_CS) - current_cs_num = MAX_GPRS_CS; - low = bts_data->cs_lqual_ranges[current_cs_num-1].low; - high = bts_data->cs_lqual_ranges[current_cs_num-1].high; + if (current_cs >= MAX_GPRS_CS) + current_cs = MAX_GPRS_CS - 1; + low = bts_data->cs_lqual_ranges[current_cs].low; + high = bts_data->cs_lqual_ranges[current_cs].high; } else if (mcs_is_edge(m_current_cs_ul)) { - if (current_cs_num > MAX_EDGE_MCS) - current_cs_num = MAX_EDGE_MCS; - low = bts_data->mcs_lqual_ranges[current_cs_num-1].low; - high = bts_data->mcs_lqual_ranges[current_cs_num-1].high; + if (current_cs >= MAX_EDGE_MCS) + current_cs = MAX_EDGE_MCS - 1; + low = bts_data->mcs_lqual_ranges[current_cs].low; + high = bts_data->mcs_lqual_ranges[current_cs].high; } else { LOGP(DRLCMACMEAS, LOGL_ERROR, "Unable to update UL (M)CS because it's neither GPRS nor EDGE: %s\n", diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 2b0bc0f..aa600e5 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -520,11 +520,11 @@ dl_tbf->set_ms(ms); OSMO_ASSERT(!ms->is_idle()); - OSMO_ASSERT(ms->current_cs_dl().to_num() == 4); + OSMO_ASSERT(mcs_chan_code(ms->current_cs_dl()) == 3); bts->cs_downgrade_threshold = 200; - OSMO_ASSERT(ms->current_cs_dl().to_num() == 3); + OSMO_ASSERT(mcs_chan_code(ms->current_cs_dl()) == 2); talloc_free(dl_tbf); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 993ca10..6dc802c 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -2737,12 +2737,12 @@ #define CHECK_UNACKED(tbf, cs, bsn) do { \ OSMO_ASSERT(tbf->window()->m_v_b.is_unacked(bsn)); \ - OSMO_ASSERT(tbf->m_rlc.block(bsn)->cs_current_trans.to_num() == cs); \ + OSMO_ASSERT(mcs_chan_code(tbf->m_rlc.block(bsn)->cs_current_trans) == cs - 1); \ } while(0) #define CHECK_NACKED(tbf, cs, bsn) do { \ OSMO_ASSERT(tbf->window()->m_v_b.is_nacked(bsn)); \ - OSMO_ASSERT(tbf->m_rlc.block(bsn)->cs_current_trans.to_num() == cs); \ + OSMO_ASSERT(mcs_chan_code(tbf->m_rlc.block(bsn)->cs_current_trans) == cs - 1); \ } while(0) #define MAKE_ACKED(m, tbf, fn, cs, check_unacked) do { \ -- To view, visit https://gerrit.osmocom.org/13215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I127fb29f5aaf77a7f6c4c565dfeb3b711af9845d Gerrit-Change-Number: 13215 Gerrit-PatchSet: 7 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:05 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:05 +0000 Subject: Change in osmo-pcu[master]: Fix Channel Coding Command for MCS In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13216 ) Change subject: Fix Channel Coding Command for MCS ...................................................................... Fix Channel Coding Command for MCS Previously result of ".to_num() - 1" was used without any checks which means that in case of to_num() returning zero we would effectively try to encode (uint8_t)(-1). Let's fix this by using proper mcs_chan_code() function which returns Channel Coding Command for MCS without the need to further correct it and adjust expected tests output accordingly. Change-Id: I868062a81fffe6714a811c032215f25a79259905 --- M src/encoding.cpp M tests/tbf/TbfTest.cpp M tests/types/TypesTest.cpp M tests/types/TypesTest.ok 4 files changed, 12 insertions(+), 12 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 9920b46..b0d0467 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -268,7 +268,7 @@ bitvec_write_field(dest, &wp, usf, 3); // USF bitvec_write_field(dest, &wp, 0, 1); // USF_GRANULARITY bitvec_write_field(dest, &wp, 0, 1); // "0" power control: Not Present - bitvec_write_field(dest, &wp, tbf->current_cs().to_num() - 1, 2); // CHANNEL_CODING_COMMAND + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND bitvec_write_field(dest, &wp, 1, 1); // TLLI_BLOCK_CHANNEL_CODING if (alpha) { bitvec_write_field(dest, &wp, 0x1, 1); // ALPHA = present @@ -315,7 +315,7 @@ CHECK(rc); /* 3GPP TS 44.060 ?12.10d EGPRS Modulation and coding Scheme description: */ - rc = bitvec_set_u64(dest, tbf->current_cs().to_num() - 1, 4, false); /* EGPRS CHANNEL_CODING_COMMAND */ + rc = bitvec_set_u64(dest, mcs_chan_code(tbf->current_cs()), 4, false); /* EGPRS CHANNEL_CODING_COMMAND */ CHECK(rc); /* TLLI_BLOCK_CHANNEL_CODING */ @@ -571,7 +571,7 @@ if (!use_egprs) { bitvec_write_field(dest, &wp,0x0,1); // Message escape - bitvec_write_field(dest, &wp,tbf->current_cs().to_num()-1, 2); // CHANNEL_CODING_COMMAND + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING write_ta_ie(dest, wp,tbf->ta(), ta_idx, ta_ts); } else { /* EPGRS */ @@ -579,7 +579,7 @@ bitvec_write_field(dest, &wp,0x0,2); // EGPRS message contents bitvec_write_field(dest, &wp,0x0,1); // No CONTENTION_RESOLUTION_TLLI bitvec_write_field(dest, &wp,0x0,1); // No COMPACT reduced MA - bitvec_write_field(dest, &wp,tbf->current_cs().to_num()-1, 4); // EGPRS Modulation and Coding IE + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 4); // EGPRS Modulation and Coding IE /* 0: no RESEGMENT, 1: Segmentation*/ bitvec_write_field(dest, &wp, 0x1, 1); write_ws(dest, &wp, tbf->window_size()); // EGPRS Window Size @@ -809,7 +809,7 @@ struct gprs_rlcmac_ul_tbf *tbf, bool is_final) { - bitvec_write_field(dest, &wp, tbf->current_cs().to_num() - 1, 2); // CHANNEL_CODING_COMMAND + bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND write_packet_ack_nack_desc_gprs(bts, dest, wp, tbf->window(), is_final); bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI @@ -991,7 +991,7 @@ bitvec_write_field(dest, &wp, 0, 2); // fixed 00 /* CHANNEL_CODING_COMMAND */ bitvec_write_field(dest, &wp, - tbf->current_cs().to_num() - 1, 4); + mcs_chan_code(tbf->current_cs()), 4); /* 0: no RESEGMENT, 1: Segmentation*/ bitvec_write_field(dest, &wp, 1, 1); bitvec_write_field(dest, &wp, 1, 1); // PRE_EMPTIVE_TRANSMISSION, TODO: This resembles GPRS, change it? diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 6dc802c..151e7fa 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -739,7 +739,7 @@ struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x3f, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x87, 0xb0, 0x06, + static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x03, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x87, 0xb0, 0x06, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; @@ -766,7 +766,7 @@ msg1 = ul_tbf->create_ul_ack(*fn, ts_no); - static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x3f, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x88, 0xb0, 0x06, 0x8b, + static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x03, 0x3e, 0x24, 0x46, 0x68, 0x90, 0x88, 0xb0, 0x06, 0x8b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 9c24ffe..4879424 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -497,7 +497,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0xc8, 0x02, 0x7b, 0xa0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0xc8, 0x02, 0x1b, 0xa0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_0, res, sizeof(res), "ia_rest_uplink(MBA)"); } @@ -537,7 +537,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0x46, 0xa0, 0x09, 0xe0, 0x17, 0x40, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0x46, 0xa0, 0x08, 0x00, 0x17, 0x40, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_1, res, sizeof(res), "ia_rest_egprs_uplink(SBA)"); } diff --git a/tests/types/TypesTest.ok b/tests/types/TypesTest.ok index d4cc255..dd7dc4c 100644 --- a/tests/types/TypesTest.ok +++ b/tests/types/TypesTest.ok @@ -9,13 +9,13 @@ [11] DL Immediate Assignment : 06 3f 30 0d 23 6d 7f 03 18 23 00 d0 00 00 00 08 17 47 08 0b 5b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 7b a0 2b 2b 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a0 2b 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 0d 03 18 23 00 c5 d1 08 0b 5b 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 7f 03 18 23 00 46 97 40 0b 58 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 09 e0 17 40 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 08 00 17 40 2b 2b 2b 2b 2b 2b assignment reject: 06 3a 10 7f 06 36 14 7f 06 36 14 7f 06 36 14 7f 06 36 14 c0 2b 2b assignment reject: 06 3a 10 70 06 36 14 70 06 36 14 70 06 36 14 70 06 36 14 0b 2b 2b Testing LBS utility... -- To view, visit https://gerrit.osmocom.org/13216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I868062a81fffe6714a811c032215f25a79259905 Gerrit-Change-Number: 13216 Gerrit-PatchSet: 8 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:06 +0000 Subject: Change in osmo-pcu[master]: Rewrite Packet Uplink IA Rest Octets for MBA In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/12961 ) Change subject: Rewrite Packet Uplink IA Rest Octets for MBA ...................................................................... Rewrite Packet Uplink IA Rest Octets for MBA Use bitvec_set_*() directly without external write pointer tracking to simplify the code. This is part of IA Rest Octets (3GPP TS 44.018 ?10.5.2.16) which is the last part of the message so it should not interfere with the rest of encoding functions. That's partially based on reverted commit 93d947f5e8a30acc9250c124bf9d5bb6a8863526. Change-Id: Ibe294b26ac374b9264a734db9663cacc105a4474 Related: OS#3014 --- M src/encoding.cpp 1 file changed, 21 insertions(+), 20 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index b0d0467..769e049 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -257,30 +257,30 @@ } static int write_ia_rest_uplink_mba(const gprs_rlcmac_ul_tbf *tbf, bitvec *dest, uint8_t usf, - uint8_t alpha, uint8_t gamma, unsigned& wp) + uint8_t alpha, uint8_t gamma) { int rc = 0; - bitvec_write_field(dest, &wp, 1, 1); // Block Allocation: Not Single Block Allocation - bitvec_write_field(dest, &wp, tbf->tfi(), 5); // TFI_ASSIGNMENT Temporary Flow Identity - bitvec_write_field(dest, &wp, 0, 1); // POLLING - bitvec_write_field(dest, &wp, 0, 1); // ALLOCATION_TYPE: dynamic - bitvec_write_field(dest, &wp, usf, 3); // USF - bitvec_write_field(dest, &wp, 0, 1); // USF_GRANULARITY - bitvec_write_field(dest, &wp, 0, 1); // "0" power control: Not Present - bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND - bitvec_write_field(dest, &wp, 1, 1); // TLLI_BLOCK_CHANNEL_CODING - if (alpha) { - bitvec_write_field(dest, &wp, 0x1, 1); // ALPHA = present - bitvec_write_field(dest, &wp, alpha, 4); // ALPHA - } else - bitvec_write_field(dest, &wp, 0x0, 1); // ALPHA = not present + SET_1(dest); /* Multi Block Allocation */ - bitvec_write_field(dest, &wp, gamma, 5); // GAMMA power control parameter + rc = write_tfi_usf(dest, tbf, usf); + CHECK(rc); - /* note: there is no choise for TAI and no starting time */ - bitvec_write_field(dest, &wp, 0, 1); // switch TIMING_ADVANCE_INDEX = off - bitvec_write_field(dest, &wp, 0, 1); // TBF_STARTING_TIME_FLAG + /* 3GPP TS 44.060 Table 11.2.28.2 Channel Coding Indicator */ + rc = bitvec_set_u64(dest, mcs_chan_code(tbf->current_cs()), 2, false); /* CHANNEL_CODING_COMMAND */ + CHECK(rc); + + /* TLLI_BLOCK_CHANNEL_CODING */ + SET_1(dest); /* use coding scheme as specified by the corresponding CHANNEL CODING COMMAND */ + + rc = write_alpha_gamma(dest, alpha, gamma); + CHECK(rc); + + /* No TIMING_ADVANCE_INDEX */ + SET_0(dest); + + /* No TBF_STARTING_TIME */ + SET_0(dest); return rc; } @@ -520,7 +520,8 @@ bitvec_write_field(dest, &wp, 0, 2); // "0" Packet Uplink Assignment if (as_ul_tbf(tbf) != NULL) { - rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma, wp); + dest->cur_bit = wp; + rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma); } else { rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma, ta_idx, wp); } -- To view, visit https://gerrit.osmocom.org/12961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ibe294b26ac374b9264a734db9663cacc105a4474 Gerrit-Change-Number: 12961 Gerrit-PatchSet: 11 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:06 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:06 +0000 Subject: Change in osmo-pcu[master]: Rewrite Packet Uplink IA Rest Octets for SBA In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/12955 ) Change subject: Rewrite Packet Uplink IA Rest Octets for SBA ...................................................................... Rewrite Packet Uplink IA Rest Octets for SBA Use bitvec_set_*() directly without external write pointer tracking to simplify the code. This is part of IA Rest Octets (3GPP TS 44.018 ?10.5.2.16) which is the last part of the message so it should not interfere with the rest of encoding functions. The difference in the expected test output is due to proper handling of TAI which should not be transmitted for SBA according to the Note in Table 10.5.2.16.1 in 3GPP TS 44.018. The change was manually tested against real mobile phone using options 'gprs mode gprs' in osmo-bsc.cfg and 'two-phase-access' in osmo-pcu.cfg to make sure appropriate code path is actually triggered. That's partially based on reverted commit 93d947f5e8a30acc9250c124bf9d5bb6a8863526. Change-Id: I97d53c27c1ca9e032d431b3aa7f915027d63ddc0 Related: OS#3014 --- M src/encoding.cpp M tests/types/TypesTest.cpp M tests/types/TypesTest.ok 3 files changed, 24 insertions(+), 17 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 769e049..55838fb 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -233,25 +233,31 @@ return rc; } -static int write_ia_rest_uplink_sba(bitvec *dest, uint32_t fn, uint8_t alpha, uint8_t gamma, int8_t ta_idx, - unsigned& wp) +/* 3GPP TS 44.018 Table 10.5.2.16.1 < Packet Uplink Assignment > -- Single Block Allocation */ +static int write_ia_rest_uplink_sba(bitvec *dest, uint32_t fn, uint8_t alpha, uint8_t gamma) { int rc = 0; - bitvec_write_field(dest, &wp, 0, 1); // Block Allocation: Single Block Allocation + SET_0(dest); /* Single Block Allocation */ + rc = write_alpha_gamma(dest, alpha, gamma); + CHECK(rc); - if (alpha) { - bitvec_write_field(dest, &wp, 0x1, 1); // ALPHA = present - bitvec_write_field(dest, &wp, alpha, 4); - } else - bitvec_write_field(dest, &wp, 0x0, 1); // ALPHA = not present + /* A 'Timing Advance index' shall not be allocated at a Single Block allocation. + A 'TBF Starting Time' shall be allocated at a Single Block allocation. */ + SET_0(dest); + SET_1(dest); - bitvec_write_field(dest, &wp, gamma, 5); // GAMMA power control parameter - write_tai(dest, wp, ta_idx); - bitvec_write_field(dest, &wp, 1, 1); // TBF_STARTING_TIME_FLAG - bitvec_write_field(dest, &wp, (fn / (26 * 51)) % 32, 5); // T1' - bitvec_write_field(dest, &wp, fn % 51, 6); // T3 - bitvec_write_field(dest, &wp, fn % 26, 5); // T2 + rc = write_tbf_start_time(dest, fn); + CHECK(rc); + + /* No P0 nor PR_MODE */ + SET_L(dest); + + /* No Additions for R99 */ + SET_L(dest); + + /* No Additions for Rel-6 */ + SET_L(dest); return rc; } @@ -523,7 +529,8 @@ dest->cur_bit = wp; rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma); } else { - rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma, ta_idx, wp); + dest->cur_bit = wp; + rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma); } } diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 4879424..822bd51 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -514,7 +514,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0xc5, 0xd1, 0x08, 0x0b, 0x5b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0xc5, 0xd0, 0x80, 0xb5, 0xab, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(NULL, false, GSM_L1_BURST_TYPE_ACCESS_0, res, sizeof(res), "ia_rest_uplink(SBA)"); } diff --git a/tests/types/TypesTest.ok b/tests/types/TypesTest.ok index dd7dc4c..c6974d5 100644 --- a/tests/types/TypesTest.ok +++ b/tests/types/TypesTest.ok @@ -11,7 +11,7 @@ [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a0 2b 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 0d 03 18 23 00 c5 d1 08 0b 5b 2b 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 0d 03 18 23 00 c5 d0 80 b5 ab 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 7f 03 18 23 00 46 97 40 0b 58 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : -- To view, visit https://gerrit.osmocom.org/12955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I97d53c27c1ca9e032d431b3aa7f915027d63ddc0 Gerrit-Change-Number: 12955 Gerrit-PatchSet: 17 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:07 +0000 Subject: Change in osmo-pcu[master]: Use Timing Advance Index in UL assignments In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/12956 ) Change subject: Use Timing Advance Index in UL assignments ...................................................................... Use Timing Advance Index in UL assignments Write TAI (if available) when generating Rest Octets for UL Assignment. This should not affect actual PCU behavior because TAI is not yet supported by upper layers but we have to adjust corresponding tests anyway. That's updated version of reverted commit. Change-Id: I69407793bdb863be5fc42adadf75842d22f27335 Related: OS#3014 --- M src/encoding.cpp M tests/types/TypesTest.cpp M tests/types/TypesTest.ok 3 files changed, 12 insertions(+), 12 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 55838fb..b460d41 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -263,7 +263,7 @@ } static int write_ia_rest_uplink_mba(const gprs_rlcmac_ul_tbf *tbf, bitvec *dest, uint8_t usf, - uint8_t alpha, uint8_t gamma) + uint8_t alpha, uint8_t gamma, int8_t ta_idx) { int rc = 0; @@ -282,8 +282,8 @@ rc = write_alpha_gamma(dest, alpha, gamma); CHECK(rc); - /* No TIMING_ADVANCE_INDEX */ - SET_0(dest); + rc = write_ta_index(dest, ta_idx); + CHECK(rc); /* No TBF_STARTING_TIME */ SET_0(dest); @@ -311,7 +311,7 @@ } static int write_ia_rest_egprs_uplink_sba(const gprs_rlcmac_ul_tbf *tbf, bitvec * dest, uint8_t usf, - uint8_t alpha, uint8_t gamma) + uint8_t alpha, uint8_t gamma, int8_t ta_idx) { int rc = 0; @@ -339,8 +339,8 @@ rc = write_alpha_gamma(dest, alpha, gamma); CHECK(rc); - /* No TIMING_ADVANCE_INDEX */ - SET_0(dest); + rc = write_ta_index(dest, ta_idx); + CHECK(rc); /* No TBF_STARTING_TIME */ SET_0(dest); @@ -514,7 +514,7 @@ if (as_ul_tbf(tbf) != NULL) { dest->cur_bit = wp; - rc = write_ia_rest_egprs_uplink_sba(as_ul_tbf(tbf), dest, usf, alpha, gamma); + rc = write_ia_rest_egprs_uplink_sba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx); } else { dest->cur_bit = wp; rc = write_ia_rest_egprs_uplink_mba(dest, fn, alpha, gamma); @@ -527,7 +527,7 @@ if (as_ul_tbf(tbf) != NULL) { dest->cur_bit = wp; - rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma); + rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx); } else { dest->cur_bit = wp; rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 822bd51..589f156 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -497,7 +497,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0xc8, 0x02, 0x1b, 0xa0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0xc8, 0x02, 0x1b, 0xa2, 0x0b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_0, res, sizeof(res), "ia_rest_uplink(MBA)"); } @@ -537,7 +537,7 @@ 0x23, /* TA */ 0x00, /* 0-length ?10.5.2.21 Mobile Allocation */ /* ETSI TS 44.018 ?10.5.2.16 IA Rest Octets */ - 0x46, 0xa0, 0x08, 0x00, 0x17, 0x40, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; + 0x46, 0xa0, 0x08, 0x00, 0x17, 0x44, 0x0b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, }; check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_1, res, sizeof(res), "ia_rest_egprs_uplink(SBA)"); } diff --git a/tests/types/TypesTest.ok b/tests/types/TypesTest.ok index c6974d5..a5c58b8 100644 --- a/tests/types/TypesTest.ok +++ b/tests/types/TypesTest.ok @@ -9,13 +9,13 @@ [11] DL Immediate Assignment : 06 3f 30 0d 23 6d 7f 03 18 23 00 d0 00 00 00 08 17 47 08 0b 5b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a0 2b 2b 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a2 0b 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 0d 03 18 23 00 c5 d0 80 b5 ab 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : 06 3f 10 0d 23 6d 7f 03 18 23 00 46 97 40 0b 58 2b 2b 2b 2b 2b 2b 2b [11] UL Immediate Assignment : - 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 08 00 17 40 2b 2b 2b 2b 2b 2b + 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 08 00 17 44 0b 2b 2b 2b 2b 2b assignment reject: 06 3a 10 7f 06 36 14 7f 06 36 14 7f 06 36 14 7f 06 36 14 c0 2b 2b assignment reject: 06 3a 10 70 06 36 14 70 06 36 14 70 06 36 14 70 06 36 14 0b 2b 2b Testing LBS utility... -- To view, visit https://gerrit.osmocom.org/12956 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I69407793bdb863be5fc42adadf75842d22f27335 Gerrit-Change-Number: 12956 Gerrit-PatchSet: 14 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:07 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:07 +0000 Subject: Change in osmo-pcu[master]: TBF: update MCS counters In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13243 ) Change subject: TBF: update MCS counters ...................................................................... TBF: update MCS counters * use enum CodingScheme directly instead of converting it to class and back * drop useless mode check * log errorneous update attempt Change-Id: I763136c2f356d63aa3d28d09c57fd5faf5336258 --- M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp 3 files changed, 116 insertions(+), 126 deletions(-) Approvals: Harald Welte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/tbf.h b/src/tbf.h index dc0b050..0a58862 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -648,7 +648,7 @@ int abort(); uint16_t window_size() const; void set_window_size(); - void update_coding_scheme_counter_dl(const GprsCodingScheme cs); + void update_coding_scheme_counter_dl(enum CodingScheme cs); /* TODO: add the gettimeofday as parameter */ struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); @@ -751,7 +751,7 @@ uint16_t window_size() const; void set_window_size(); - void update_coding_scheme_counter_ul(const GprsCodingScheme cs); + void update_coding_scheme_counter_ul(enum CodingScheme cs); /* Please note that all variables here will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 13ef143..04c6499 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1364,68 +1364,63 @@ m_window.set_ws(ws); } -void gprs_rlcmac_dl_tbf::update_coding_scheme_counter_dl(const GprsCodingScheme cs) +void gprs_rlcmac_dl_tbf::update_coding_scheme_counter_dl(enum CodingScheme cs) { - uint8_t coding_scheme = 0; - - coding_scheme = CodingScheme(cs); - if (mcs_is_gprs(cs)) { - switch (coding_scheme) { - case CS1 : - bts->gprs_dl_cs1(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); - break; - case CS2 : - bts->gprs_dl_cs2(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); - break; - case CS3 : - bts->gprs_dl_cs3(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); - break; - case CS4 : - bts->gprs_dl_cs4(); - rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); - break; - } - } else { - switch (coding_scheme) { - case MCS1 : - bts->egprs_dl_mcs1(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); - break; - case MCS2 : - bts->egprs_dl_mcs2(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); - break; - case MCS3 : - bts->egprs_dl_mcs3(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); - break; - case MCS4 : - bts->egprs_dl_mcs4(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); - break; - case MCS5 : - bts->egprs_dl_mcs5(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); - break; - case MCS6 : - bts->egprs_dl_mcs6(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); - break; - case MCS7 : - bts->egprs_dl_mcs7(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); - break; - case MCS8 : - bts->egprs_dl_mcs8(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); - break; - case MCS9 : - bts->egprs_dl_mcs9(); - rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); - break; - } + switch (cs) { + case CS1: + bts->gprs_dl_cs1(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); + break; + case CS2: + bts->gprs_dl_cs2(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); + break; + case CS3: + bts->gprs_dl_cs3(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); + break; + case CS4: + bts->gprs_dl_cs4(); + rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); + break; + case MCS1: + bts->egprs_dl_mcs1(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); + break; + case MCS2: + bts->egprs_dl_mcs2(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); + break; + case MCS3: + bts->egprs_dl_mcs3(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); + break; + case MCS4: + bts->egprs_dl_mcs4(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); + break; + case MCS5: + bts->egprs_dl_mcs5(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); + break; + case MCS6: + bts->egprs_dl_mcs6(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); + break; + case MCS7: + bts->egprs_dl_mcs7(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); + break; + case MCS8: + bts->egprs_dl_mcs8(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); + break; + case MCS9: + bts->egprs_dl_mcs9(); + rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); + break; + default: + LOGPTBFDL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", + mcs_name(cs)); } } diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index f40ec3d..fd7d73b 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -525,69 +525,64 @@ return assemble_status; } -void gprs_rlcmac_ul_tbf::update_coding_scheme_counter_ul(const GprsCodingScheme cs) +void gprs_rlcmac_ul_tbf::update_coding_scheme_counter_ul(enum CodingScheme cs) { - uint8_t coding_scheme = 0; - - coding_scheme = CodingScheme(cs); - if (mcs_is_gprs(cs)) { - switch (coding_scheme) { - case CS1 : - bts->gprs_ul_cs1(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); - break; - case CS2 : - bts->gprs_ul_cs2(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); - break; - case CS3 : - bts->gprs_ul_cs3(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); - break; - case CS4 : - bts->gprs_ul_cs4(); - rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); - break; - } - } else { - switch (coding_scheme) { - case MCS1 : - bts->egprs_ul_mcs1(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); - break; - case MCS2 : - bts->egprs_ul_mcs2(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); - break; - case MCS3 : - bts->egprs_ul_mcs3(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); - break; - case MCS4 : - bts->egprs_ul_mcs4(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); - break; - case MCS5 : - bts->egprs_ul_mcs5(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); - break; - case MCS6 : - bts->egprs_ul_mcs6(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); - break; - case MCS7 : - bts->egprs_ul_mcs7(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); - break; - case MCS8 : - bts->egprs_ul_mcs8(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); - break; - case MCS9 : - bts->egprs_ul_mcs9(); - rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); - break; - } + switch (cs) { + case CS1: + bts->gprs_ul_cs1(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); + break; + case CS2: + bts->gprs_ul_cs2(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); + break; + case CS3: + bts->gprs_ul_cs3(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); + break; + case CS4: + bts->gprs_ul_cs4(); + rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); + break; + case MCS1: + bts->egprs_ul_mcs1(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); + break; + case MCS2: + bts->egprs_ul_mcs2(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); + break; + case MCS3: + bts->egprs_ul_mcs3(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); + break; + case MCS4: + bts->egprs_ul_mcs4(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); + break; + case MCS5: + bts->egprs_ul_mcs5(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); + break; + case MCS6: + bts->egprs_ul_mcs6(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); + break; + case MCS7: + bts->egprs_ul_mcs7(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); + break; + case MCS8: + bts->egprs_ul_mcs8(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); + break; + case MCS9: + bts->egprs_ul_mcs9(); + rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); + break; + default: + LOGPTBFUL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n", + mcs_name(cs)); } } -- To view, visit https://gerrit.osmocom.org/13243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I763136c2f356d63aa3d28d09c57fd5faf5336258 Gerrit-Change-Number: 13243 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:08 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:08 +0000 Subject: Change in osmo-pcu[master]: TBF-DL: cosmetic update for helper routines In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13244 ) Change subject: TBF-DL: cosmetic update for helper routines ...................................................................... TBF-DL: cosmetic update for helper routines * use enum values where appropriate * reformat to proper code style to improve readability Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e --- M src/tbf_dl.cpp 1 file changed, 32 insertions(+), 38 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 04c6499..08df05a 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -688,7 +688,7 @@ * the current limit. */ cs = m_rlc.block(index)->cs_current_trans; - GprsCodingScheme &cs_init = m_rlc.block(index)->cs_init; + enum CodingScheme cs_init = m_rlc.block(index)->cs_init; bsns[0] = index; num_bsns = 1; @@ -702,11 +702,10 @@ * if the intial mcs is 8 and retransmission mcs is either 6 or 3 * we have to include the padding of 6 octets in first segment */ - if ((CodingScheme(cs_init) == MCS8) && - (CodingScheme(cs) == MCS6 || - CodingScheme(cs) == MCS3)) { + if ((cs_init == MCS8) && + (cs == MCS6 || cs == MCS3)) { if (spb_status == EGPRS_RESEG_DL_DEFAULT || - spb_status == EGPRS_RESEG_SECOND_SEG_SENT) + spb_status == EGPRS_RESEG_SECOND_SEG_SENT) need_padding = true; } else if (num_bsns == 1) { /* TODO: remove the conditional when MCS-6 padding isn't @@ -1248,8 +1247,12 @@ egprs_rlc_dl_reseg_bsn_state *block_status_dl = &rlc_data->spb_status.block_status_dl; - GprsCodingScheme &cs_current_trans = m_rlc.block(bsn)->cs_current_trans; - GprsCodingScheme &cs_init = m_rlc.block(bsn)->cs_init; + enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); + enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + + enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); + enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); + *block_data = &rlc_data->block[0]; /* @@ -1259,10 +1262,9 @@ * MCS8: second segment starts at 31 * MCS4: second segment starts at 44/2 = 22 */ - if (cs_current_trans.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_3) { + if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) { if (*block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { - switch (CodingScheme(cs_init)) { + switch (cs_init) { case MCS6 : case MCS9 : *block_data = &rlc_data->block[37]; @@ -1281,21 +1283,17 @@ LOGPTBFDL(this, LOGL_ERROR, "FIXME: Software error: hit invalid condition. " "headerType(%d) blockstatus(%d) cs(%s) PLEASE FIX!\n", - cs_current_trans.headerTypeData(), + ht_cs_current_trans, *block_status_dl, mcs_name(cs_init)); break; } return EGPRS_RESEG_SECOND_SEG_SENT; - } else if ((cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_1) || - (cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_2)) { + } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) || + (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) { return EGPRS_RESEG_FIRST_SEG_SENT; - } else if ((CodingScheme(cs_init) == - MCS4) && - (CodingScheme(cs_current_trans) == - MCS1)) { + } else if ((cs_init == MCS4) && + (cs_current_trans == MCS1)) { return EGPRS_RESEG_FIRST_SEG_SENT; } } @@ -1320,34 +1318,30 @@ enum egprs_rlcmac_dl_spb gprs_rlcmac_dl_tbf::get_egprs_dl_spb(const int bsn) { struct gprs_rlc_data *rlc_data = m_rlc.block(bsn); - egprs_rlc_dl_reseg_bsn_state block_status_dl = - rlc_data->spb_status.block_status_dl; + egprs_rlc_dl_reseg_bsn_state block_status_dl = rlc_data->spb_status.block_status_dl; - GprsCodingScheme &cs_current_trans = m_rlc.block(bsn)->cs_current_trans; - GprsCodingScheme &cs_init = m_rlc.block(bsn)->cs_init; + enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); + enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + + enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); + enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); /* Table 10.4.8b.1 of 44.060 */ - if (cs_current_trans.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_3) { - /* - * if we are sending the second segment the spb should be 3 - * other wise it should be 2 - */ + if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) { + /* + * if we are sending the second segment the spb should be 3 + * otherwise it should be 2 + */ if (block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { - /* statistics */ bts->spb_downlink_second_segment(); return EGPRS_RLCMAC_DL_SEC_SEG; - } else if ((cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_1) || - (cs_init.headerTypeData() == - HEADER_EGPRS_DATA_TYPE_2)) { + } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) || + (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; - } else if ((CodingScheme(cs_init) == - MCS4) && - (CodingScheme(cs_current_trans) == - MCS1)) { + } else if ((cs_init == MCS4) && + (cs_current_trans == MCS1)) { bts->spb_downlink_first_segment(); return EGPRS_RLCMAC_DL_FIRST_SEG; } -- To view, visit https://gerrit.osmocom.org/13244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If1d2bc69b0d43fc520e579457007704b7975117e Gerrit-Change-Number: 13244 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:32:09 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:32:09 +0000 Subject: Change in osmo-pcu[master]: Update IA Rest Octets encoding In-Reply-To: References: Message-ID: Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/13245 ) Change subject: Update IA Rest Octets encoding ...................................................................... Update IA Rest Octets encoding Write initial bits of 3GPP TS 44.018 ?10.5.2.16 IA Rest Octets the same way as write_ia_rest_*() routines do. This should also fix the issue addressed in I75dd5bebc74eea85edf9582607c774d0bba0d2a6 initially by properly encoding L/H bits. Change-Id: I7ed5270bf95c3f6e9e026ff447eef8539f6f0314 --- M src/encoding.cpp 1 file changed, 13 insertions(+), 17 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index b460d41..1b325b4 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -497,41 +497,37 @@ plen = wp / 8; /* 3GPP TS 44.018 ?10.5.2.16 IA Rest Octets */ + dest->cur_bit = wp; if (downlink) { if (!as_dl_tbf(tbf)) { LOGP(DRLCMACDL, LOGL_ERROR, "Cannot encode DL IMMEDIATE ASSIGNMENT without TBF\n"); return -EINVAL; } - dest->cur_bit = wp; rc = write_ia_rest_downlink(as_dl_tbf(tbf), dest, polling, gsm48_ta_is_valid(ta), fn, alpha, gamma, ta_idx); } else if (((burst_type == GSM_L1_BURST_TYPE_ACCESS_1) || (burst_type == GSM_L1_BURST_TYPE_ACCESS_2))) { - bitvec_write_field(dest, &wp, 1, 2); /* LH */ - bitvec_write_field(dest, &wp, 0, 2); /* 0 EGPRS Uplink Assignment */ - bitvec_write_field(dest, &wp, ra & 0x1F, 5); /* Extended RA */ - bitvec_write_field(dest, &wp, 0, 1); /* Access technology Request */ + SET_L(dest); SET_H(dest); // "LH" + SET_0(dest); SET_0(dest); // "00" < EGPRS Packet Uplink Assignment > + rc = bitvec_set_u64(dest, ra & 0x1F, 5, false); // < Extended RA > + CHECK(rc); - if (as_ul_tbf(tbf) != NULL) { - dest->cur_bit = wp; + SET_0(dest); // No < Access Technologies Request struct > + + if (as_ul_tbf(tbf) != NULL) rc = write_ia_rest_egprs_uplink_sba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx); - } else { - dest->cur_bit = wp; + else rc = write_ia_rest_egprs_uplink_mba(dest, fn, alpha, gamma); - } } else { OSMO_ASSERT(!tbf || !tbf->is_egprs_enabled()); - bitvec_write_field(dest, &wp, 3, 2); // "HH" - bitvec_write_field(dest, &wp, 0, 2); // "0" Packet Uplink Assignment + SET_H(dest); SET_H(dest); // "HH" + SET_0(dest); SET_0(dest); // "00" < Packet Uplink Assignment > - if (as_ul_tbf(tbf) != NULL) { - dest->cur_bit = wp; + if (as_ul_tbf(tbf) != NULL) rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx); - } else { - dest->cur_bit = wp; + else rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma); - } } if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/13245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7ed5270bf95c3f6e9e026ff447eef8539f6f0314 Gerrit-Change-Number: 13245 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:43:01 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:43:01 +0000 Subject: Change in osmo-pcu[master]: Add ARQ type helpers In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13406 ) Change subject: Add ARQ type helpers ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/#/c/13406/3/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13406/3/src/coding_scheme.c at 177 PS3, Line 177: char *egprs_arq_type_name(const struct gprs_rlcmac_bts *bts) > "const char *"? Ack https://gerrit.osmocom.org/#/c/13406/3/src/pcu_vty.c File src/pcu_vty.c: https://gerrit.osmocom.org/#/c/13406/3/src/pcu_vty.c at 222 PS3, Line 222: if (egprs_arq_type_2(bts)) > Just being curious: what's the advantage of using a function here? The previous statement is shorter [?] It makes it easier to modify - see follow-up patch. -- To view, visit https://gerrit.osmocom.org/13406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 Gerrit-Change-Number: 13406 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 12:43:01 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:45:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:45:36 +0000 Subject: Change in osmo-pcu[master]: Add ARQ type helpers In-Reply-To: References: Message-ID: Hello Daniel Willmann, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13406 to look at the new patch set (#4). Change subject: Add ARQ type helpers ...................................................................... Add ARQ type helpers Add functions to check/log EGPRS ARQ type (as described in 3GPP TS 44.060 ?8.1.1). Note - this requires updating previously incorrect TBF test output. Depends on: I85b7dc8e8786671a054af2f1e7d836b863a25e60 and Ib39e4424f73c677b34f921917440f211e400e14f in OsmoPCU. Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.h M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.err 6 files changed, 51 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/13406/4 -- To view, visit https://gerrit.osmocom.org/13406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 Gerrit-Change-Number: 13406 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:45:36 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:45:36 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Daniel Willmann, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13057 to look at the new patch set (#9). Change subject: Use boolean for DL resegmentation parameter ...................................................................... Use boolean for DL resegmentation parameter In some places #define was used for DL resegmentation parameter, in other int, in some other bool. Let's clarify this and always use boolean value of resegment bit directly as it's described in 3GPP TS 44.060 - appropriate clarification added as comment to bts.h. Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 --- M src/bts.h M src/coding_scheme.c M src/coding_scheme.h M src/pcu_main.cpp M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 7 files changed, 17 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/13057/9 -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 9 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:46:11 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:46:11 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/#/c/13057/8/src/pcu_main.cpp File src/pcu_main.cpp: https://gerrit.osmocom.org/#/c/13057/8/src/pcu_main.cpp at 264 PS8, Line 264: * can also be configured through VTY (egprs dl arq-type ...) > consider mentioning the VTY option here, since it isn't obvious from the variable name anymore. Done -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 9 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 12:46:11 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:48:42 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 12:48:42 +0000 Subject: Change in osmo-pcu[master]: Update MCS selection for retransmission In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13402 ) Change subject: Update MCS selection for retransmission ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c at 136 PS1, Line 136: OSMO_ASSERT(NUM_SCHEMES - MCS1 == 9); > May be worth adding an OSMO_STATIC_ASSERT() macro in libosmocore Excellent idea! Please update this code once the macro is available in libosmocore. -- To view, visit https://gerrit.osmocom.org/13402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 Gerrit-Change-Number: 13402 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 12:48:42 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:58:08 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 12:58:08 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3: Enable tests against O2CG Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13426 Change subject: ttcn3: Enable tests against O2CG ...................................................................... ttcn3: Enable tests against O2CG Change-Id: Ie42f9144c6fa5cbee71e3f0b97d60c295f5f531e --- M ttcn3/default-suites.conf A ttcn3/scenarios/oc2g.conf 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/26/13426/1 diff --git a/ttcn3/default-suites.conf b/ttcn3/default-suites.conf index cfa46b4..14d2b35 100644 --- a/ttcn3/default-suites.conf +++ b/ttcn3/default-suites.conf @@ -1,2 +1,3 @@ - ttcn3_bts_tests:trx - ttcn3_bts_tests:sysmo +- ttcn3_bts_tests:oc2g diff --git a/ttcn3/scenarios/oc2g.conf b/ttcn3/scenarios/oc2g.conf new file mode 120000 index 0000000..c85edf2 --- /dev/null +++ b/ttcn3/scenarios/oc2g.conf @@ -0,0 +1 @@ +../../example/scenarios/oc2g.conf \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/13426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie42f9144c6fa5cbee71e3f0b97d60c295f5f531e Gerrit-Change-Number: 13426 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 12:58:17 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 12:58:17 +0000 Subject: Change in osmo-gsm-tester[master]: Integrate osmo-{bts,pcu}-oc2g In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13113 ) Change subject: Integrate osmo-{bts,pcu}-oc2g ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I446e27039f75e63c2870d751c190a4fd76947000 Gerrit-Change-Number: 13113 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Omar Ramadan Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 12:58:17 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:01:24 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 13:01:24 +0000 Subject: Change in osmo-gsm-tester[master]: default-suites.conf: Add tests for OC2G Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13427 Change subject: default-suites.conf: Add tests for OC2G ...................................................................... default-suites.conf: Add tests for OC2G Change-Id: I5599c86565ebb6d7d6931d36fd49e57fe2020d1f --- M example/default-suites.conf 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/27/13427/1 diff --git a/example/default-suites.conf b/example/default-suites.conf index 5ba36e1..f93c933 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -16,6 +16,24 @@ - dynts:sysmo+mod-bts0-dynts67-ipa+cfg-codec-fr-any - dynts:sysmo+mod-bts0-dynts67-osmo +- nitb_sms:oc2g +- sms:oc2g +- nitb_ussd:oc2g +- ussd:oc2g +- voice:oc2g+mod-bts0-ts-tchf+cfg-codec-fr1 +- voice:oc2g+mod-bts0-ts-tchf+cfg-codec-fr2 +- voice:oc2g+mod-bts0-ts-tchf+cfg-codec-fr3 +- voice:oc2g+mod-bts0-ts-tchh+cfg-codec-hr1 +- voice:oc2g+mod-bts0-ts-tchh+cfg-codec-hr3 +- voice:oc2g+mod-bts0-dynts-ipa+cfg-codec-fr-any +- voice:oc2g+mod-bts0-dynts-osmo +- gprs:oc2g +- gprs:oc2g+mod-bts0-egprs +- gprs:oc2g+mod-bts0-dynts-ipa +- gprs:oc2g+mod-bts0-dynts-osmo +- dynts:oc2g+mod-bts0-dynts67-ipa+cfg-codec-fr-any +- dynts:oc2g+mod-bts0-dynts67-osmo + - nitb_sms:trx-b200 - sms:trx-b200 - nitb_ussd:trx-b200 -- To view, visit https://gerrit.osmocom.org/13427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I5599c86565ebb6d7d6931d36fd49e57fe2020d1f Gerrit-Change-Number: 13427 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:02:55 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 13:02:55 +0000 Subject: Change in osmo-pcu[master]: Update MCS selection for retransmission In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13402 to look at the new patch set (#4). Change subject: Update MCS selection for retransmission ...................................................................... Update MCS selection for retransmission In 3GPP TS 44.060 the selection of MCS for retransmissions is defined as separate tables (8.1.1.1 and 8.1.1.2) depending on the value of resegmentation bit (which is opposite to the way EGPRS_ARQ are defined in the source code). Let's follow the same idea and explicitly check for resegmentation bit value and use separate tables. This also makes it easier to add proper support for special cases (MCS-6-9 and MCS-5-7) and padding in future independently for different ARQ types. The code is also moved to c to avoid unnecessary conversions to and from cpp class. Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 --- M src/coding_scheme.c M src/coding_scheme.h M src/gprs_coding_scheme.cpp M src/gprs_coding_scheme.h M src/tbf_dl.cpp 5 files changed, 40 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/02/13402/4 -- To view, visit https://gerrit.osmocom.org/13402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 Gerrit-Change-Number: 13402 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:03:32 2019 From: gerrit-no-reply at lists.osmocom.org (Max) Date: Wed, 27 Mar 2019 13:03:32 +0000 Subject: Change in osmo-pcu[master]: Update MCS selection for retransmission In-Reply-To: References: Message-ID: Max has posted comments on this change. ( https://gerrit.osmocom.org/13402 ) Change subject: Update MCS selection for retransmission ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/#/c/13402/1/src/coding_scheme.c at 131 PS1, Line 131: /* FIXME: take into account padding and special cases of commanded MCS (MCS-6-9 and MCS-5-7) */ > commanded MCS? do you mean demanded_mcs? Done -- To view, visit https://gerrit.osmocom.org/13402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 Gerrit-Change-Number: 13402 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 13:03:32 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:28:20 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13356 to look at the new patch set (#2). Change subject: Initial commit for OC-2G support. ...................................................................... Initial commit for OC-2G support. From-Commit: b77fd00608dd From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 --- M configure.ac M src/Makefile.am A src/osmo-bts-oc2g/oc2g_l1_hw.c A src/osmo-bts-oc2g/oc2g_l1_if.c A src/osmo-bts-oc2g/oc2g_l1_if.h A src/osmo-bts-oc2g/oc2gbts.c A src/osmo-bts-oc2g/oc2gbts.h 7 files changed, 1,145 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/13356/2 -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:28:20 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Hello Minh-Quang Nguyen, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13357 to look at the new patch set (#2). Change subject: OC-2G: Fix missing header ...................................................................... OC-2G: Fix missing header From-Commit: a9eefb54c62a From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/13357/2 -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Harald Welte Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:28:20 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix TA adjustment In-Reply-To: References: Message-ID: Hello Harald Welte, Minh-Quang Nguyen, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13358 to look at the new patch set (#2). Change subject: OC-2G: Fix TA adjustment ...................................................................... OC-2G: Fix TA adjustment Problem: TA provided from L1 PH-DATA-IND is a relative amount of TA adjustment to actual TA being used for given TBF. The current TA update algorithm in PCU simply applies the relative amount of TA to given TBF but does not take into account of current TA. As a result, the PCU will request wrong TA jump for given TBF if the MS is moving away from BTS more than 2 km. Related issue: http://osmocom.org/issues/2611 Fixes: - The PCU needs increase or decrease current TA of given TBF on receiving of relative amount of TA adjustment provided by PH-DATA-IND from L1. - The PCU needs to set absolute TA of given TBF on receiving absolute TA provided by PH-RA-IND from L1. From-Commit: 139ad3f42193 From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/58/13358/2 -- To view, visit https://gerrit.osmocom.org/13358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 Gerrit-Change-Number: 13358 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:28:20 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Always use positive TA information provided in PH-RA-IND In-Reply-To: References: Message-ID: Hello Harald Welte, Minh-Quang Nguyen, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13359 to look at the new patch set (#2). Change subject: OC-2G: Always use positive TA information provided in PH-RA-IND ...................................................................... OC-2G: Always use positive TA information provided in PH-RA-IND From-Commit: 960aa3d1b0b1 From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/13359/2 -- To view, visit https://gerrit.osmocom.org/13359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 Gerrit-Change-Number: 13359 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:28:20 +0000 Subject: Change in osmo-pcu[master]: oc2g: Remove custom alarms In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13360 to look at the new patch set (#2). Change subject: oc2g: Remove custom alarms ...................................................................... oc2g: Remove custom alarms Don't try to send custom alarms that weren't included in upstream. Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/13360/2 -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:28:24 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:28:24 +0000 Subject: Change in osmo-pcu[master]: jenkins.sh: Add oc2g build support Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13428 Change subject: jenkins.sh: Add oc2g build support ...................................................................... jenkins.sh: Add oc2g build support Related: OS#3749, SYS#4524 Change-Id: I014e5e59bc5e904a616ddf50ebfb8247f0d428cf --- M contrib/jenkins.sh 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/13428/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7af7309..e805080 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -48,6 +48,12 @@ osmo-layer1-headers.sh lc15 "$FIRMWARE_VERSION" cd "$base" +elif [ "$with_dsp" = oc2g ]; then + PCU_CONFIG="$PCU_CONFIG --enable-oc2gbts-phy --with-oc2g=$deps/layer1-headers/inc" + cd "$deps" + osmo-layer1-headers.sh oc2g "$FIRMWARE_VERSION" + cd "$base" + elif [ -z "$with_dsp" -o "$with_dsp" = none ]; then echo "Direct DSP access disabled, sanitizer enabled" PCU_CONFIG="$PCU_CONFIG --enable-werror --enable-sanitize" -- To view, visit https://gerrit.osmocom.org/13428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I014e5e59bc5e904a616ddf50ebfb8247f0d428cf Gerrit-Change-Number: 13428 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:34:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:34:06 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13356 ) Change subject: Initial commit for OC-2G support. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 13:34:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:34:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:34:14 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13357 ) Change subject: OC-2G: Fix missing header ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 13:34:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:34:32 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix TA adjustment In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13358 ) Change subject: OC-2G: Fix TA adjustment ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 Gerrit-Change-Number: 13358 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-Comment-Date: Wed, 27 Mar 2019 13:34:32 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:34:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:34:40 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Always use positive TA information provided in PH-RA-IND In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13359 ) Change subject: OC-2G: Always use positive TA information provided in PH-RA-IND ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 Gerrit-Change-Number: 13359 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-Comment-Date: Wed, 27 Mar 2019 13:34:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:34:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:34:51 +0000 Subject: Change in osmo-pcu[master]: oc2g: Remove custom alarms In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13360 ) Change subject: oc2g: Remove custom alarms ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 13:34:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:35:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:35:05 +0000 Subject: Change in osmo-pcu[master]: jenkins.sh: Add oc2g build support In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13428 ) Change subject: jenkins.sh: Add oc2g build support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I014e5e59bc5e904a616ddf50ebfb8247f0d428cf Gerrit-Change-Number: 13428 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Wed, 27 Mar 2019 13:35:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:36:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:36:22 +0000 Subject: Change in osmo-pcu[master]: Use boolean for DL resegmentation parameter In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13057 ) Change subject: Use boolean for DL resegmentation parameter ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4d4fe5fe12068a4532cb3b61d4eeb229a77c1476 Gerrit-Change-Number: 13057 Gerrit-PatchSet: 10 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 13:36:22 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:37:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:37:01 +0000 Subject: Change in osmo-pcu[master]: Add ARQ type helpers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13406 ) Change subject: Add ARQ type helpers ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I844aca7dcd9d7f41e5975c1edd1905951f271998 Gerrit-Change-Number: 13406 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 13:37:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:37:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:37:34 +0000 Subject: Change in osmo-gsm-tester[master]: Integrate osmo-{bts,pcu}-oc2g In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13113 ) Change subject: Integrate osmo-{bts,pcu}-oc2g ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I446e27039f75e63c2870d751c190a4fd76947000 Gerrit-Change-Number: 13113 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Omar Ramadan Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 13:37:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:37:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:37:48 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3: Enable tests against O2CG In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13426 ) Change subject: ttcn3: Enable tests against O2CG ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie42f9144c6fa5cbee71e3f0b97d60c295f5f531e Gerrit-Change-Number: 13426 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 13:37:48 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:37:54 +0000 Subject: Change in osmo-gsm-tester[master]: default-suites.conf: Add tests for OC2G In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13427 ) Change subject: default-suites.conf: Add tests for OC2G ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5599c86565ebb6d7d6931d36fd49e57fe2020d1f Gerrit-Change-Number: 13427 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 13:37:54 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:41:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:41:36 +0000 Subject: Change in docker-playground[master]: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13429 Change subject: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch ...................................................................... Switch all osmo-*-master and ttcn3-*-test from jessie to stretch Jessie will be EOL in June 2019, let's make the switch to stretch before that. Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6 --- M README.md M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-hnbgw-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-nitb-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile M osmocom-bb-host-master/Dockerfile M sctp-test/Dockerfile M sigtran-tests/Dockerfile M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh 31 files changed, 46 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/29/13429/1 diff --git a/README.md b/README.md index 4977256..05ee31f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ container with the same name as the folder like this: ``` -$ cd debian-jessie-build +$ cd debian-stretch-build $ make ``` @@ -50,7 +50,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ diff --git a/jenkins-common.sh b/jenkins-common.sh index 7c8e231..2c4288e 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -30,12 +30,12 @@ } fix_perms() { - docker_images_require debian-jessie-build + docker_images_require debian-stretch-build echo Fixing permissions docker run --rm \ -v $VOL_BASE_DIR:/data \ --name ${BUILD_TAG}-cleaner \ - $REPO_USER/debian-jessie-build \ + $REPO_USER/debian-stretch-build \ chmod -R a+rX /data/ } diff --git a/nplab-m3ua-test/jenkins.sh b/nplab-m3ua-test/jenkins.sh index 800c5b2..103ea13 100755 --- a/nplab-m3ua-test/jenkins.sh +++ b/nplab-m3ua-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "nplab-m3ua-test" diff --git a/nplab-sua-test/jenkins.sh b/nplab-sua-test/jenkins.sh index fea5cf0..56a323d 100755 --- a/nplab-sua-test/jenkins.sh +++ b/nplab-sua-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "sigtran-tests" \ diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 5c76688..e39b324 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 69a8d4c..eae67e5 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 5acdf98..0cedb16 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 45c3bd5..5b71584 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index c00d68b..8487df4 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index 2c9469e..7fe4eba 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index fe40d78..c8fec29 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index 94563b1..bed228e 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 867f534..b83c40e 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index d87f295..50c99a2 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index e69cbc7..7b9e73d 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index ae93c10..c4dba67 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 0cede4b..fc6589a 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -1,11 +1,11 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte ARG OSMO_BB_BRANCH="master" -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/sctp-test/Dockerfile b/sctp-test/Dockerfile index fe5db70..79df64d 100644 --- a/sctp-test/Dockerfile +++ b/sctp-test/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte diff --git a/sigtran-tests/Dockerfile b/sigtran-tests/Dockerfile index b09fa09..ebfb027 100644 --- a/sigtran-tests/Dockerfile +++ b/sigtran-tests/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index 0a6ecf3..0a2ff8b 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index ec8c23e..af5c965 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index df45b0a..10d7d62 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-nitb-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-bscnat-test" diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index b287a78..eb96e59 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -4,7 +4,7 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # NOTE: there is no osmocom-bb-host-latest, hence always use master! docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "osmocom-bb-host-master" \ diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index 40f3227..4250e4d 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-ggsn-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-ggsn-test" diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index fcb51b6..3d942de 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-hlr-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-hlr-test" diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 4f836b7..473782f 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-mgw-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-mgw-test" diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 3289a67..a0a5f87 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-msc-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 7f57c09..fb6ccd3 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-pcu-test" diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index bee539d..e78dca0 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-pcu-test" diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index e4611bc..7947132 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-sgsn-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-sgsn-test" diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index a918269..02c7cd6 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-sip-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-sip-test" -- To view, visit https://gerrit.osmocom.org/13429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6 Gerrit-Change-Number: 13429 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:43:47 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 13:43:47 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... Patch Set 3: > Patch Set 2: > > > I want to keep the commit from others unchanged as much as a can - even if this is really trivial. > > Than it probably make sense to keep commit meta-info as well: author, date, original repo/branch etc. It's kinda confusing that for some commits in this series it's preserved and for other it isn't. I didn't change the author - this commit was actually a fixup from myself and thus doesn't have another author, date or original repo/branch. -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 3 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max Gerrit-Comment-Date: Wed, 27 Mar 2019 13:43:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 13:53:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 27 Mar 2019 13:53:34 +0000 Subject: Change in docker-playground[master]: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13429 ) Change subject: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch ...................................................................... Patch Set 1: I tested that all *-master and *test containers still build as expected. I didn't test if they produce identical results in executing the tests. However, at least for the *-latest containers we were already using stretch, so *-master should work equally fine. The only risk is in the ttcn3-*-test containers. -- To view, visit https://gerrit.osmocom.org/13429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6 Gerrit-Change-Number: 13429 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Wed, 27 Mar 2019 13:53:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:09:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 14:09:56 +0000 Subject: Change in osmo-ci[master]: build-old-tags: known error: osmo-bts-1.0.0 Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13430 Change subject: build-old-tags: known error: osmo-bts-1.0.0 ...................................................................... build-old-tags: known error: osmo-bts-1.0.0 Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/30/13430/1 diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 542785d..548ac3d 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -56,6 +56,9 @@ echo "1.2.1" # depends on libosmo-legacy-mgcp echo "1.4.0" # testsuite ;; + osmo-bts) + echo "1.0.0" # missing gsm0808.h include, fixed in 1.0.1 + ;; osmo-mgw) echo "1.3.0" # testsuite echo "1.4.0" # testsuite -- To view, visit https://gerrit.osmocom.org/13430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 Gerrit-Change-Number: 13430 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:11:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 14:11:51 +0000 Subject: Change in osmo-ci[master]: build-old-tags: known error: osmo-bts-1.0.0 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13430 ) Change subject: build-old-tags: known error: osmo-bts-1.0.0 ...................................................................... Patch Set 1: This marks osmo-bts 1.0.0 as known error, so the new jenkins job passes again: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/13/console -- To view, visit https://gerrit.osmocom.org/13430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 Gerrit-Change-Number: 13430 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 14:11:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:31:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 14:31:20 +0000 Subject: Change in osmo-pcu[master]: TS alloc: expand tests log In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/3895 ) Change subject: TS alloc: expand tests log ...................................................................... Patch Set 28: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/3895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5 Gerrit-Change-Number: 3895 Gerrit-PatchSet: 28 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 14:31:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:35:13 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 14:35:13 +0000 Subject: Change in osmo-msc[master]: Log protocol for which transaction is allocated In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13420 ) Change subject: Log protocol for which transaction is allocated ...................................................................... Patch Set 2: Code-Review+1 (commit message: would be nice to start it with "transaction.c:" or similar) -- To view, visit https://gerrit.osmocom.org/13420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If4a5f3ecaec568b3f8d5a57d864184d7af2b95cc Gerrit-Change-Number: 13420 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 14:35:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:44:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 14:44:15 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#4) to the change originally created by Max. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... BSSGP: use variable for NSEI Handle NSEI the same way as BVCI is handled: assign it to variable instead of repetitive calls to msgb_nsei() - this simplifies log update in follow-up patches and makes code slightly easier to read. Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 --- M src/gb/gprs_bssgp.c 1 file changed, 27 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/13204/4 -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:49:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 Mar 2019 14:49:19 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... Patch Set 4: Code-Review+1 > Agreeing with osmith here. As Max is leaving sysmocom, assignign this to osmith so he can remove the hunks related to the two "single use" instances. Thanks! Done. -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Wed, 27 Mar 2019 14:49:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:51:16 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 14:51:16 +0000 Subject: Change in osmo-gsm-tester[master]: Integrate osmo-{bts,pcu}-oc2g In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13113 ) Change subject: Integrate osmo-{bts,pcu}-oc2g ...................................................................... Integrate osmo-{bts,pcu}-oc2g Change-Id: I446e27039f75e63c2870d751c190a4fd76947000 --- M example/defaults.conf M example/resources.conf.prod A example/scenarios/oc2g.conf A src/osmo_gsm_tester/bts_oc2g.py A src/osmo_gsm_tester/pcu_oc2g.py M src/osmo_gsm_tester/resource.py A src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl A src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl 8 files changed, 334 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index 3de5e29..353cf9b 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -87,3 +87,8 @@ osmo_bts_virtual: max_trx: 1 + +osmo_bts_oc2g: + max_trx: 1 + trx_list: + - nominal_power: 25 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index dc7e337..a65add0 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -117,6 +117,14 @@ addr: 10.42.42.55 band: GSM-1800 +- label: OC-2G + type: osmo-bts-oc2g + ipa_unit_id: 14 + addr: 10.42.42.100 + band: GSM-900 + direct_pcu: true + ciphers: [a5_0, a5_1, a5_3] + arfcn: - arfcn: 512 band: GSM-1800 diff --git a/example/scenarios/oc2g.conf b/example/scenarios/oc2g.conf new file mode 100644 index 0000000..884e46b --- /dev/null +++ b/example/scenarios/oc2g.conf @@ -0,0 +1,3 @@ +resources: + bts: + - type: osmo-bts-oc2g diff --git a/src/osmo_gsm_tester/bts_oc2g.py b/src/osmo_gsm_tester/bts_oc2g.py new file mode 100644 index 0000000..ec4ed3d --- /dev/null +++ b/src/osmo_gsm_tester/bts_oc2g.py @@ -0,0 +1,137 @@ +# osmo_gsm_tester: specifics for running a osmo-bts-oc2g +# +# Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os +import pprint +from . import log, config, util, template, process, pcu_oc2g, bts_osmo + +class OsmoBtsOC2G(bts_osmo.OsmoBts): +############## +# PROTECTED +############## + + REMOTE_DIR = '/osmo-gsm-tester-bts' + BTS_OC2G_BIN = 'osmo-bts-oc2g' + BTS_OC2G_CFG = 'osmo-bts-oc2g.cfg' + + def __init__(self, suite_run, conf): + super().__init__(suite_run, conf, OsmoBtsOC2G.BTS_OC2G_BIN, 'osmo_bts_oc2g') + self.run_dir = None + self.inst = None + self.remote_inst = None + self.remote_dir = None + self.remote_user = 'root' + + def _direct_pcu_enabled(self): + return util.str2bool(self.conf.get('direct_pcu')) + + def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): + run_dir = self.run_dir.new_dir(name) + proc = process.RemoteProcess(name, run_dir, self.remote_user, self.remote_addr(), remote_cwd, + popen_args) + self.suite_run.remember_to_stop(proc, keepalive) + proc.launch() + return proc + + def create_pcu(self): + return pcu_oc2g.OsmoPcuOC2G(self.suite_run, self, self.conf) + + def configure(self): + if self.bsc is None: + raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be configured') + + self.config_file = self.run_dir.new_file(OsmoBtsOC2G.BTS_OC2G_CFG) + self.dbg(config_file=self.config_file) + + values = { 'osmo_bts_oc2g': config.get_defaults('osmo_bts_oc2g') } + config.overlay(values, self.suite_run.config()) + config.overlay(values, { + 'osmo_bts_oc2g': { + 'oml_remote_ip': self.bsc.addr(), + 'pcu_socket_path': self.pcu_socket_path(), + } + }) + config.overlay(values, { 'osmo_bts_oc2g': self.conf }) + + self.dbg('OSMO-BTS-OC2G CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(OsmoBtsOC2G.BTS_OC2G_CFG, values) + self.dbg(r) + f.write(r) + +######################## +# PUBLIC - INTERNAL API +######################## + def pcu_socket_path(self): + return os.path.join(OsmoBtsOC2G.REMOTE_DIR, 'pcu_bts') + + def conf_for_bsc(self): + values = self.conf_for_bsc_prepare() + # Hack until we have proper ARFCN resource allocation support (OS#2230) + band = values.get('band') + trx_list = values.get('trx_list') + if band == 'GSM-900': + for trx_i in range(len(trx_list)): + config.overlay(trx_list[trx_i], { 'arfcn' : str(50 + trx_i * 2) }) + self.dbg(conf=values) + return values + +################### +# PUBLIC (test API included) +################### + # We get log from ssh stdout instead of usual stderr. + def ready_for_pcu(self): + if not self.proc_bts or not self.proc_bts.is_running: + return False + return 'BTS is up' in (self.proc_bts.get_stdout() or '') + + def start(self, keepalive=False): + if self.bsc is None: + raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') + log.log('Starting OsmoBtsOC2G to connect to', self.bsc) + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) + lib = self.inst.child('lib') + if not os.path.isdir(lib): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', OsmoBtsOC2G.BTS_OC2G_BIN): + raise log.Error('No osmo-bts-oc2g binary in', self.inst) + + remote_run_dir = util.Dir(OsmoBtsOC2G.REMOTE_DIR) + + self.remote_inst = process.copy_inst_ssh(self.run_dir, self.inst, remote_run_dir, self.remote_user, + self.remote_addr(), OsmoBtsOC2G.BTS_OC2G_BIN, self.config_file) + + remote_config_file = remote_run_dir.child(OsmoBtsOC2G.BTS_OC2G_CFG) + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', 'osmo-bts-oc2g') + + args = ('LD_LIBRARY_PATH=%s' % remote_lib, + remote_binary, '-c', remote_config_file, '-r', '1', + '-i', self.bsc.addr()) + + if self._direct_pcu_enabled(): + args += ('-M',) + + self.proc_bts = self.launch_remote('osmo-bts-oc2g', args, remote_cwd=remote_run_dir, keepalive=keepalive) + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py new file mode 100644 index 0000000..b0572f4 --- /dev/null +++ b/src/osmo_gsm_tester/pcu_oc2g.py @@ -0,0 +1,125 @@ +# osmo_gsm_tester: specifics for running a osmo-pcu for OC-2G +# +# Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH +# +# Author: Pau Espin Pedrol +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os +import pprint +from . import log, config, util, template, process + +class OsmoPcuOC2G(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-pcu' + PCU_OC2G_BIN = 'osmo-pcu' + PCU_OC2G_CFG = 'osmo-pcu-oc2g.cfg' + + def __init__(self, suite_run, btsoc2g, conf): + super().__init__(log.C_RUN, self.PCU_OC2G_BIN) + self.run_dir = None + self.bsc = None + self.inst = None + self.remote_inst = None + self.remote_dir = None + self.btsoc2g = None + self.suite_run = suite_run + self.btsoc2g = btsoc2g + self.conf = conf + self.remote_env = {} + self.remote_user = 'root' + + def start(self, keepalive=False): + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + + self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu-oc2g'))) + lib = self.inst.child('lib') + if not os.path.isdir(lib): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', OsmoPcuOC2G.PCU_OC2G_BIN): + raise log.Error('No osmo-pcu-oc2g binary in', self.inst) + + self.remote_dir = util.Dir(OsmoPcuOC2G.REMOTE_DIR) + self.remote_inst = util.Dir(self.remote_dir.child(os.path.basename(str(self.inst)))) + + self.run_remote('rm-remote-dir', ('test', '!', '-d', OsmoPcuOC2G.REMOTE_DIR, '||', 'rm', '-rf', OsmoPcuOC2G.REMOTE_DIR)) + self.run_remote('mk-remote-dir', ('mkdir', '-p', OsmoPcuOC2G.REMOTE_DIR)) + self.run_local('scp-inst-to-btsoc2g', + ('scp', '-r', str(self.inst), '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), str(self.remote_inst)))) + + remote_run_dir = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_BIN) + self.run_remote('mk-remote-run-dir', ('mkdir', '-p', remote_run_dir)) + + remote_config_file = self.remote_dir.child(OsmoPcuOC2G.PCU_OC2G_CFG) + self.run_local('scp-cfg-to-btsoc2g', + ('scp', '-r', self.config_file, '%s@%s:%s' % (self.remote_user, self.btsoc2g.remote_addr(), remote_config_file))) + + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', OsmoPcuOC2G.PCU_OC2G_BIN) + self.launch_remote(OsmoPcuOC2G.PCU_OC2G_BIN, + ('LD_LIBRARY_PATH=%s' % remote_lib, + remote_binary, '-c', remote_config_file, '-r', '1', + '-i', self.btsoc2g.bsc.addr()), + remote_cwd=remote_run_dir, keepalive=keepalive) + + def _process_remote(self, name, popen_args, remote_cwd=None): + run_dir = self.run_dir.new_dir(name) + return process.RemoteProcess(name, run_dir, self.remote_user, self.btsoc2g.remote_addr(), remote_cwd, + popen_args) + + def run_remote(self, name, popen_args, remote_cwd=None): + proc = self._process_remote(name, popen_args, remote_cwd) + proc.launch() + proc.wait() + if proc.result != 0: + log.ctx(proc) + raise log.Error('Exited in error') + + def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): + proc = self._process_remote(name, popen_args, remote_cwd) + self.suite_run.remember_to_stop(proc, keepalive) + proc.launch() + + def run_local(self, name, popen_args): + run_dir = self.run_dir.new_dir(name) + proc = process.Process(name, run_dir, popen_args) + proc.launch() + proc.wait() + if proc.result != 0: + log.ctx(proc) + raise log.Error('Exited in error') + + def configure(self): + self.config_file = self.run_dir.new_file(OsmoPcuOC2G.PCU_OC2G_CFG) + self.dbg(config_file=self.config_file) + + values = { 'osmo_pcu_oc2g': config.get_defaults('osmo_pcu_oc2g') } + config.overlay(values, self.suite_run.config()) + config.overlay(values, { + 'osmo_pcu_oc2g': { + 'pcu_socket_path': self.btsoc2g.pcu_socket_path() + } + }) + config.overlay(values, { 'osmo_pcu_oc2g': self.conf }) + + self.dbg('OSMO-PCU-OC2G CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(OsmoPcuOC2G.PCU_OC2G_CFG, values) + self.dbg(r) + f.write(r) + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index ce1966b..246b196 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -26,7 +26,7 @@ from . import config from . import util from . import schema -from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts +from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile @@ -101,6 +101,7 @@ KNOWN_BTS_TYPES = { 'osmo-bts-sysmo': bts_sysmo.SysmoBts, 'osmo-bts-trx': bts_osmotrx.OsmoBtsTrx, + 'osmo-bts-oc2g': bts_oc2g.OsmoBtsOC2G, 'osmo-bts-octphy': bts_octphy.OsmoBtsOctphy, 'osmo-bts-virtual': bts_osmovirtual.OsmoBtsVirtual, 'nanobts': bts_nanobts.NanoBts, diff --git a/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl new file mode 100644 index 0000000..1927061 --- /dev/null +++ b/src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl @@ -0,0 +1,42 @@ +! Configuration rendered by osmo-gsm-tester +log stderr + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging level abis debug + logging level oml debug + logging level pag debug + logging level rll debug + logging level rr debug + logging level rsl debug + ! Level required by ready_for_pcu(): pcu info + logging level pcu info +! +line vty + bind ${osmo_bts_oc2g.addr} +ctrl + bind ${osmo_bts_oc2g.addr} +! +phy 0 + instance 0 + trx-calibration-path /mnt/rom/factory/calib +bts 0 + band ${osmo_bts_oc2g.band} + ipa unit-id ${osmo_bts_oc2g.ipa_unit_id} 0 + oml remote-ip ${osmo_bts_oc2g.oml_remote_ip} + pcu-socket ${osmo_bts_oc2g.pcu_socket_path} + gsmtap-sapi bcch + gsmtap-sapi ccch + gsmtap-sapi rach + gsmtap-sapi agch + gsmtap-sapi pch + gsmtap-sapi sdcch + gsmtap-sapi tch/f + gsmtap-sapi tch/h + gsmtap-sapi pacch + gsmtap-sapi pdtch + gsmtap-sapi ptcch + gsmtap-sapi cbch + gsmtap-sapi sacch + trx 0 + phy 0 instance 0 diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl new file mode 100644 index 0000000..5c03636 --- /dev/null +++ b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl @@ -0,0 +1,12 @@ +log stderr + logging color 1 + logging print extended-timestamp 1 + logging print category 1 + logging level set-all info +pcu + pcu-socket ${osmo_pcu_oc2g.pcu_socket_path} + flow-control-interval 10 + cs 2 + alloc-algorithm dynamic + alpha 0 + gamma 0 -- To view, visit https://gerrit.osmocom.org/13113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I446e27039f75e63c2870d751c190a4fd76947000 Gerrit-Change-Number: 13113 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Omar Ramadan Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:51:17 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 14:51:17 +0000 Subject: Change in osmo-gsm-tester[master]: ttcn3: Enable tests against O2CG In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13426 ) Change subject: ttcn3: Enable tests against O2CG ...................................................................... ttcn3: Enable tests against O2CG Change-Id: Ie42f9144c6fa5cbee71e3f0b97d60c295f5f531e --- M ttcn3/default-suites.conf A ttcn3/scenarios/oc2g.conf 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/ttcn3/default-suites.conf b/ttcn3/default-suites.conf index cfa46b4..14d2b35 100644 --- a/ttcn3/default-suites.conf +++ b/ttcn3/default-suites.conf @@ -1,2 +1,3 @@ - ttcn3_bts_tests:trx - ttcn3_bts_tests:sysmo +- ttcn3_bts_tests:oc2g diff --git a/ttcn3/scenarios/oc2g.conf b/ttcn3/scenarios/oc2g.conf new file mode 120000 index 0000000..c85edf2 --- /dev/null +++ b/ttcn3/scenarios/oc2g.conf @@ -0,0 +1 @@ +../../example/scenarios/oc2g.conf \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/13426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie42f9144c6fa5cbee71e3f0b97d60c295f5f531e Gerrit-Change-Number: 13426 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 14:51:18 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 14:51:18 +0000 Subject: Change in osmo-gsm-tester[master]: default-suites.conf: Add tests for OC2G In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13427 ) Change subject: default-suites.conf: Add tests for OC2G ...................................................................... default-suites.conf: Add tests for OC2G Change-Id: I5599c86565ebb6d7d6931d36fd49e57fe2020d1f --- M example/default-suites.conf 1 file changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/example/default-suites.conf b/example/default-suites.conf index 5ba36e1..f93c933 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -16,6 +16,24 @@ - dynts:sysmo+mod-bts0-dynts67-ipa+cfg-codec-fr-any - dynts:sysmo+mod-bts0-dynts67-osmo +- nitb_sms:oc2g +- sms:oc2g +- nitb_ussd:oc2g +- ussd:oc2g +- voice:oc2g+mod-bts0-ts-tchf+cfg-codec-fr1 +- voice:oc2g+mod-bts0-ts-tchf+cfg-codec-fr2 +- voice:oc2g+mod-bts0-ts-tchf+cfg-codec-fr3 +- voice:oc2g+mod-bts0-ts-tchh+cfg-codec-hr1 +- voice:oc2g+mod-bts0-ts-tchh+cfg-codec-hr3 +- voice:oc2g+mod-bts0-dynts-ipa+cfg-codec-fr-any +- voice:oc2g+mod-bts0-dynts-osmo +- gprs:oc2g +- gprs:oc2g+mod-bts0-egprs +- gprs:oc2g+mod-bts0-dynts-ipa +- gprs:oc2g+mod-bts0-dynts-osmo +- dynts:oc2g+mod-bts0-dynts67-ipa+cfg-codec-fr-any +- dynts:oc2g+mod-bts0-dynts67-osmo + - nitb_sms:trx-b200 - sms:trx-b200 - nitb_ussd:trx-b200 -- To view, visit https://gerrit.osmocom.org/13427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5599c86565ebb6d7d6931d36fd49e57fe2020d1f Gerrit-Change-Number: 13427 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:40:29 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 16:40:29 +0000 Subject: Change in libosmocore[master]: ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13431 Change subject: ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse ...................................................................... ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse ipa_ccm_idtag_parse_off is broken, and can only be used with len_offset=1 on ID Request messages, otherwise won't work correctly. Modify ipa_ccm_idtag_parse to at least parse those correctly, and document the limitations. Those two functions are already deprecated and only used in openbsc by 3 callers: * ipa_ccm_idtag_parse in ussd_read_cb(): Broken, that function can only work for Requests and it's used to parse a Response. * ipa_ccm_idtag_parse_off in forward_sccp_to_msc (NAT): Broken, it can only be used to parse Requests and it's used to parse a Response. Furthermore, len_offset=2 is passed which makes no sense and most probably it fails always, or can even make the program crash. * ipa_ccm_idtag_parse_off in (answer_challenge): This one is fine and could actually be replaced with ipa_ccm_id_get_parse after this commit is merged. Change-Id: I6efc852dfc041192f554e41a58290a0f63298021 --- M src/gsm/ipa.c 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/13431/1 diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index d423c26..8e64a1e 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -98,11 +98,21 @@ return idtag_names[tag]; } +/*! Parse the payload part of an IPA CCM ID GET, return \ref tlv_parsed format. */ int ipa_ccm_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len) { - return ipa_ccm_idtag_parse_off(dec, buf, len, 0); + return ipa_ccm_idtag_parse_off(dec, buf, len, 1); } +/*! Parse the payload part of an IPA CCM ID GET, return \ref tlv_parsed format. + * WARNING: This function can only parse correctly IPA CCM ID GET/REQUEST + * messages, and only when len_offset is passed value of 1. + * \param[out] dec Caller-provided/allocated output structure for parsed payload + * \param[in] buf Buffer containing the payload (excluding 1 byte msg_type) of the message + * \param[in] len Length of \a buf in octets + * \param[in] len_offset Offset from end of len field to start of value (ommiting tag). Must be 1! + * \returns 0 on success; negative on error + */ int ipa_ccm_idtag_parse_off(struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset) { uint8_t t_len; -- To view, visit https://gerrit.osmocom.org/13431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6efc852dfc041192f554e41a58290a0f63298021 Gerrit-Change-Number: 13431 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:45:07 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 16:45:07 +0000 Subject: Change in libosmocore[master]: ipa: Fix ipa_ccm_id_resp_parse on big endian systems Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13432 Change subject: ipa: Fix ipa_ccm_id_resp_parse on big endian systems ...................................................................... ipa: Fix ipa_ccm_id_resp_parse on big endian systems Change-Id: Iedc46ab53a4f76bbd98741c065fad3d9042a34a4 --- M src/gsm/ipa.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/13432/1 diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index 8e64a1e..1563d0a 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -204,8 +204,8 @@ while (len >= 3) { len -= 3; - t_len = *cur++ << 8; - t_len += *cur++; + t_len = osmo_load16be(cur); + cur += 2; t_tag = *cur++; if (t_len > len + 1) { -- To view, visit https://gerrit.osmocom.org/13432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iedc46ab53a4f76bbd98741c065fad3d9042a34a4 Gerrit-Change-Number: 13432 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:37 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:37 +0000 Subject: Change in osmo-pcu[master]: Initial commit for OC-2G support. In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13356 ) Change subject: Initial commit for OC-2G support. ...................................................................... Initial commit for OC-2G support. From-Commit: b77fd00608dd From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 --- M configure.ac M src/Makefile.am A src/osmo-bts-oc2g/oc2g_l1_hw.c A src/osmo-bts-oc2g/oc2g_l1_if.c A src/osmo-bts-oc2g/oc2g_l1_if.h A src/osmo-bts-oc2g/oc2gbts.c A src/osmo-bts-oc2g/oc2gbts.h 7 files changed, 1,145 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index c3e2df8..149162e 100644 --- a/configure.ac +++ b/configure.ac @@ -139,6 +139,25 @@ CPPFLAGS="$oldCPPFLAGS" fi +AC_MSG_CHECKING([whether to enable direct PHY access for PDCH of NuRAN Wireless OC-2G BTS]) +AC_ARG_ENABLE(oc2gbts-phy, + AC_HELP_STRING([--enable-oc2gbts-phy], + [enable code for OC-2G PHY [default=no]]), + [enable_oc2gbts_phy="$enableval"],[enable_oc2gbts_phy="no"]) +AC_ARG_WITH([oc2g], [AS_HELP_STRING([--with-oc2g=INCLUDE_DIR], [Location of the OC-2G API header files])], + [oc2g_incdir="$withval"],[oc2g_incdir="$incdir"]) +AC_SUBST([OC2G_INCDIR], $oc2g_incdir) +AC_MSG_RESULT([$enable_oc2gbts_phy]) +AM_CONDITIONAL(ENABLE_OC2GBTS_PHY, test "x$enable_oc2gbts_phy" = "xyes") +if test "$enable_oc2g" = "yes"; then + oldCPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$OC2G_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS" + AC_CHECK_HEADER([nrw/oc2g/oc2g.h],[], + [AC_MSG_ERROR([nrw/oc2g/oc2g.h can not be found in $oc2g_incdir])], + [#include ]) + CPPFLAGS=$oldCPPFLAGS +fi + AC_ARG_ENABLE([vty_tests], AC_HELP_STRING([--enable-vty-tests], [Include the VTY tests in make check [default=no]]), diff --git a/src/Makefile.am b/src/Makefile.am index 51b047e..233e24d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -29,6 +29,10 @@ AM_CPPFLAGS += -DENABLE_DIRECT_PHY endif +if ENABLE_OC2GBTS_PHY +AM_CPPFLAGS += -DENABLE_DIRECT_PHY +endif + AM_CXXFLAGS = -Wall -ldl -pthread AM_LDFLAGS = -lrt @@ -159,6 +163,26 @@ osmo-bts-litecell15/lc15bts.c endif +if ENABLE_OC2GBTS_PHY +AM_CPPFLAGS += -I$(OC2G_INCDIR) -I$(srcdir)/osmo-bts-oc2g + +EXTRA_DIST = \ + osmo-bts-oc2g/oc2g_l1_if.c \ + osmo-bts-oc2g/oc2g_l1_if.h \ + osmo-bts-oc2g/oc2g_l1_hw.c \ + osmo-bts-oc2g/oc2gbts.c \ + osmo-bts-oc2g/oc2gbts.h + +noinst_HEADERS += \ + osmo-bts-oc2g/oc2g_l1_if.h \ + osmo-bts-oc2g/oc2gbts.h + +osmo_pcu_SOURCES += \ + osmo-bts-oc2g/oc2g_l1_if.c \ + osmo-bts-oc2g/oc2g_l1_hw.c \ + osmo-bts-oc2g/oc2gbts.c +endif + osmo_pcu_LDADD = \ libgprs.la \ $(LIBOSMOGB_LIBS) \ diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c new file mode 100644 index 0000000..aaa543f --- /dev/null +++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c @@ -0,0 +1,213 @@ +/* Interface handler for Nuran Wireless Litecell 1.5 L1 (real hardware) */ + +/* Copyright (C) 2015 by Yves Godin + * based on: + * femto_l1_hw.c + * (C) 2011 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "gprs_debug.h" +#include "oc2g_l1_if.h" +#include "oc2gbts.h" + +#define DEV_SYS_DSP2ARM_NAME "/dev/msgq/oc2g_dsp2arm_trx" +#define DEV_SYS_ARM2DSP_NAME "/dev/msgq/oc2g_arm2dsp_trx" +#define DEV_L1_DSP2ARM_NAME "/dev/msgq/gsml1_sig_dsp2arm_trx" +#define DEV_L1_ARM2DSP_NAME "/dev/msgq/gsml1_sig_arm2dsp_trx" + +#define DEV_TCH_DSP2ARM_NAME "/dev/msgq/gsml1_tch_dsp2arm_trx" +#define DEV_TCH_ARM2DSP_NAME "/dev/msgq/gsml1_tch_arm2dsp_trx" +#define DEV_PDTCH_DSP2ARM_NAME "/dev/msgq/gsml1_pdtch_dsp2arm_trx" +#define DEV_PDTCH_ARM2DSP_NAME "/dev/msgq/gsml1_pdtch_arm2dsp_trx" + +static const char *rd_devnames[] = { + [MQ_SYS_READ] = DEV_SYS_DSP2ARM_NAME, + [MQ_L1_READ] = DEV_L1_DSP2ARM_NAME, + [MQ_TCH_READ] = DEV_TCH_DSP2ARM_NAME, + [MQ_PDTCH_READ] = DEV_PDTCH_DSP2ARM_NAME, +}; + +static const char *wr_devnames[] = { + [MQ_SYS_WRITE] = DEV_SYS_ARM2DSP_NAME, + [MQ_L1_WRITE] = DEV_L1_ARM2DSP_NAME, + [MQ_TCH_WRITE] = DEV_TCH_ARM2DSP_NAME, + [MQ_PDTCH_WRITE]= DEV_PDTCH_ARM2DSP_NAME, +}; + +/* callback when there's something to read from the l1 msg_queue */ +static int l1if_fd_cb(struct osmo_fd *ofd, unsigned int what) +{ + //struct msgb *msg = l1p_msgb_alloc(); + struct msgb *msg = msgb_alloc_headroom(sizeof(Oc2g_Prim_t) + 128, + 128, "1l_fd"); + struct oc2gl1_hdl *fl1h = ofd->data; + int rc; + + msg->l1h = msg->data; + rc = read(ofd->fd, msg->l1h, msgb_tailroom(msg)); + if (rc < 0) { + if (rc != -1) + LOGP(DL1IF, LOGL_ERROR, "error reading from L1 msg_queue: %s\n", + strerror(errno)); + msgb_free(msg); + return rc; + } + msgb_put(msg, rc); + + switch (ofd->priv_nr) { + case MQ_SYS_WRITE: + if (rc != sizeof(Oc2g_Prim_t)) + LOGP(DL1IF, LOGL_NOTICE, "%u != " + "sizeof(Litecell15_Prim_t)\n", rc); + return l1if_handle_sysprim(fl1h, msg); + case MQ_L1_WRITE: + case MQ_TCH_WRITE: + case MQ_PDTCH_WRITE: + if (rc != sizeof(GsmL1_Prim_t)) + LOGP(DL1IF, LOGL_NOTICE, "%u != " + "sizeof(GsmL1_Prim_t)\n", rc); + return l1if_handle_l1prim(ofd->priv_nr, fl1h, msg); + default: + /* The compiler can't know that priv_nr is an enum. Assist. */ + LOGP(DL1IF, LOGL_FATAL, "writing on a wrong queue: %d\n", + ofd->priv_nr); + exit(0); + break; + } +}; + +/* callback when we can write to one of the l1 msg_queue devices */ +static int l1fd_write_cb(struct osmo_fd *ofd, struct msgb *msg) +{ + int rc; + + rc = write(ofd->fd, msg->l1h, msgb_l1len(msg)); + if (rc < 0) { + LOGP(DL1IF, LOGL_ERROR, "error writing to L1 msg_queue: %s\n", + strerror(errno)); + return rc; + } else if (rc < msg->len) { + LOGP(DL1IF, LOGL_ERROR, "short write to L1 msg_queue: " + "%u < %u\n", rc, msg->len); + return -EIO; + } + + return 0; +} + +int l1if_transport_open(int q, struct oc2gl1_hdl *hdl) +{ + int rc; + char buf[PATH_MAX]; + + /* Step 1: Open all msg_queue file descriptors */ + struct osmo_fd *read_ofd = &hdl->read_ofd[q]; + struct osmo_wqueue *wq = &hdl->write_q[q]; + struct osmo_fd *write_ofd = &hdl->write_q[q].bfd; + + snprintf(buf, sizeof(buf)-1, "%s%d", rd_devnames[q], hdl->hw_info.trx_nr); + buf[sizeof(buf)-1] = '\0'; + + rc = open(buf, O_RDONLY); + if (rc < 0) { + LOGP(DL1IF, LOGL_FATAL, "unable to open msg_queue %s: %s\n", + buf, strerror(errno)); + return rc; + } + read_ofd->fd = rc; + read_ofd->priv_nr = q; + read_ofd->data = hdl; + read_ofd->cb = l1if_fd_cb; + read_ofd->when = BSC_FD_READ; + rc = osmo_fd_register(read_ofd); + if (rc < 0) { + close(read_ofd->fd); + read_ofd->fd = -1; + return rc; + } + + snprintf(buf, sizeof(buf)-1, "%s%d", wr_devnames[q], hdl->hw_info.trx_nr); + buf[sizeof(buf)-1] = '\0'; + + rc = open(buf, O_WRONLY); + if (rc < 0) { + LOGP(DL1IF, LOGL_FATAL, "unable to open msg_queue %s: %s\n", + buf, strerror(errno)); + goto out_read; + } + osmo_wqueue_init(wq, 10); + wq->write_cb = l1fd_write_cb; + write_ofd->fd = rc; + write_ofd->priv_nr = q; + write_ofd->data = hdl; + write_ofd->when = BSC_FD_WRITE; + rc = osmo_fd_register(write_ofd); + if (rc < 0) { + close(write_ofd->fd); + write_ofd->fd = -1; + goto out_read; + } + + return 0; + +out_read: + close(hdl->read_ofd[q].fd); + osmo_fd_unregister(&hdl->read_ofd[q]); + + return rc; +} + +int l1if_transport_close(int q, struct oc2gl1_hdl *hdl) +{ + struct osmo_fd *read_ofd = &hdl->read_ofd[q]; + struct osmo_fd *write_ofd = &hdl->write_q[q].bfd; + + osmo_fd_unregister(read_ofd); + close(read_ofd->fd); + read_ofd->fd = -1; + + osmo_fd_unregister(write_ofd); + close(write_ofd->fd); + write_ofd->fd = -1; + + return 0; +} diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c new file mode 100644 index 0000000..23661cb --- /dev/null +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -0,0 +1,386 @@ +/* Copyright (C) 2015 by Yves Godin + * based on: + * femto_l1_if.c + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +#include "oc2g_l1_if.h" + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +extern void *tall_pcu_ctx; + +uint32_t l1if_ts_to_hLayer2(uint8_t trx, uint8_t ts) +{ + return (ts << 16) | (trx << 24); +} + +/* allocate a msgb containing a GsmL1_Prim_t */ +struct msgb *l1p_msgb_alloc(void) +{ + struct msgb *msg = msgb_alloc(sizeof(GsmL1_Prim_t), "l1_prim"); + + if (msg) + msg->l1h = msgb_put(msg, sizeof(GsmL1_Prim_t)); + + return msg; +} + +static int l1if_req_pdch(struct oc2gl1_hdl *fl1h, struct msgb *msg) +{ + struct osmo_wqueue *wqueue = &fl1h->write_q[MQ_PDTCH_WRITE]; + + if (osmo_wqueue_enqueue(wqueue, msg) != 0) { + LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n"); + msgb_free(msg); + } + + return 0; +} + +static void *prim_init(GsmL1_Prim_t *prim, GsmL1_PrimId_t id, struct oc2gl1_hdl *gl1) +{ + prim->id = id; + + switch (id) { + case GsmL1_PrimId_MphInitReq: + //prim->u.mphInitReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphCloseReq: + prim->u.mphCloseReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphConnectReq: + prim->u.mphConnectReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphDisconnectReq: + prim->u.mphDisconnectReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphActivateReq: + prim->u.mphActivateReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphDeactivateReq: + prim->u.mphDeactivateReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphConfigReq: + prim->u.mphConfigReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphMeasureReq: + prim->u.mphMeasureReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_MphInitCnf: + case GsmL1_PrimId_MphCloseCnf: + case GsmL1_PrimId_MphConnectCnf: + case GsmL1_PrimId_MphDisconnectCnf: + case GsmL1_PrimId_MphActivateCnf: + case GsmL1_PrimId_MphDeactivateCnf: + case GsmL1_PrimId_MphConfigCnf: + case GsmL1_PrimId_MphMeasureCnf: + break; + case GsmL1_PrimId_MphTimeInd: + break; + case GsmL1_PrimId_MphSyncInd: + break; + case GsmL1_PrimId_PhEmptyFrameReq: + prim->u.phEmptyFrameReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_PhDataReq: + prim->u.phDataReq.hLayer1 = (HANDLE)gl1->hLayer1; + break; + case GsmL1_PrimId_PhConnectInd: + break; + case GsmL1_PrimId_PhReadyToSendInd: + break; + case GsmL1_PrimId_PhDataInd: + break; + case GsmL1_PrimId_PhRaInd: + break; + default: + LOGP(DL1IF, LOGL_ERROR, "unknown L1 primitive %u\n", id); + break; + } + return &prim->u; +} + +/* connect PDTCH */ +int l1if_connect_pdch(void *obj, uint8_t ts) +{ + struct oc2gl1_hdl *fl1h = obj; + struct msgb *msg = l1p_msgb_alloc(); + GsmL1_MphConnectReq_t *cr; + + cr = prim_init(msgb_l1prim(msg), GsmL1_PrimId_MphConnectReq, fl1h); + cr->u8Tn = ts; + cr->logChComb = GsmL1_LogChComb_XIII; + + return l1if_req_pdch(fl1h, msg); +} + +static int handle_ph_readytosend_ind(struct oc2gl1_hdl *fl1h, + GsmL1_PhReadyToSendInd_t *rts_ind) +{ + struct gsm_time g_time; + int rc = 0; + + gsm_fn2gsmtime(&g_time, rts_ind->u32Fn); + + DEBUGP(DL1IF, "Rx PH-RTS.ind %02u/%02u/%02u SAPI=%s\n", + g_time.t1, g_time.t2, g_time.t3, + get_value_string(oc2gbts_l1sapi_names, rts_ind->sapi)); + + switch (rts_ind->sapi) { + case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Pacch: + rc = pcu_rx_rts_req_pdtch(fl1h->trx_no, rts_ind->u8Tn, + rts_ind->u32Fn, rts_ind->u8BlockNbr); + case GsmL1_Sapi_Ptcch: + // FIXME + default: + break; + } + + return rc; +} + +static void get_meas(struct pcu_l1_meas *meas, const GsmL1_MeasParam_t *l1_meas) +{ + meas->rssi = (int8_t) (l1_meas->fRssi); + meas->have_rssi = 1; + meas->ber = (uint8_t) (l1_meas->fBer * 100); + meas->have_ber = 1; + meas->bto = (int16_t) (l1_meas->i16BurstTiming); + meas->have_bto = 1; + meas->link_qual = (int16_t) (l1_meas->fLinkQuality); + meas->have_link_qual = 1; +} + +static int handle_ph_data_ind(struct oc2gl1_hdl *fl1h, + GsmL1_PhDataInd_t *data_ind, struct msgb *l1p_msg) +{ + int rc = 0; + struct pcu_l1_meas meas = {0}; + + DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + get_value_string(oc2gbts_l1sapi_names, data_ind->sapi), + data_ind->hLayer2, + osmo_hexdump(data_ind->msgUnitParam.u8Buffer, + data_ind->msgUnitParam.u8Size)); + + /* + * TODO: Add proper bad frame handling here. This could be used + * to switch the used CS. Avoid a crash with the PCU right now + * feed "0 - 1" amount of data. + */ + if (data_ind->msgUnitParam.u8Size == 0) + return -1; + + gsmtap_send(fl1h->gsmtap, data_ind->u16Arfcn | GSMTAP_ARFCN_F_UPLINK, + data_ind->u8Tn, GSMTAP_CHANNEL_PACCH, 0, + data_ind->u32Fn, 0, 0, data_ind->msgUnitParam.u8Buffer+1, + data_ind->msgUnitParam.u8Size-1); + + get_meas(&meas, &data_ind->measParam); + bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no, + data_ind->u8Tn, qta2ta(meas.bto)); + + switch (data_ind->sapi) { + case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Pacch: + /* drop incomplete UL block */ + if (data_ind->msgUnitParam.u8Buffer[0] + != GsmL1_PdtchPlType_Full) + break; + /* PDTCH / PACCH frame handling */ + pcu_rx_data_ind_pdtch(fl1h->trx_no, data_ind->u8Tn, + data_ind->msgUnitParam.u8Buffer + 1, + data_ind->msgUnitParam.u8Size - 1, + data_ind->u32Fn, + &meas); + break; + case GsmL1_Sapi_Ptcch: + // FIXME + break; + default: + LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", + get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); + memcpy(alarm_sig_data.spare, &data_ind->sapi, sizeof(unsigned int)); + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_SAP_ALARM, &alarm_sig_data); + + break; + } + + return rc; +} + +#define MIN_QUAL_RACH 5.0f + +static int handle_ph_ra_ind(struct oc2gl1_hdl *fl1h, GsmL1_PhRaInd_t *ra_ind) +{ + if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) + return 0; + + DEBUGP(DL1IF, "Rx PH-RA.ind"); + bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, + qta2ta(ra_ind->measParam.i16BurstTiming)); + + return 0; +} + + +/* handle any random indication from the L1 */ +int l1if_handle_l1prim(int wq, struct oc2gl1_hdl *fl1h, struct msgb *msg) +{ + GsmL1_Prim_t *l1p = msgb_l1prim(msg); + int rc = 0; + + LOGP(DL1IF, LOGL_DEBUG, "Rx L1 prim %s on queue %d\n", + get_value_string(oc2gbts_l1prim_names, l1p->id), wq); + + switch (l1p->id) { +#if 0 + case GsmL1_PrimId_MphTimeInd: + rc = handle_mph_time_ind(fl1h, &l1p->u.mphTimeInd); + break; + case GsmL1_PrimId_MphSyncInd: + break; + case GsmL1_PrimId_PhConnectInd: + break; +#endif + case GsmL1_PrimId_PhReadyToSendInd: + rc = handle_ph_readytosend_ind(fl1h, &l1p->u.phReadyToSendInd); + break; + case GsmL1_PrimId_PhDataInd: + rc = handle_ph_data_ind(fl1h, &l1p->u.phDataInd, msg); + break; + case GsmL1_PrimId_PhRaInd: + rc = handle_ph_ra_ind(fl1h, &l1p->u.phRaInd); + break; + default: + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_PRIM_ALARM, &alarm_sig_data); + break; + } + + msgb_free(msg); + + return rc; +} + +int l1if_handle_sysprim(struct oc2gl1_hdl *fl1h, struct msgb *msg) +{ + return -ENOTSUP; +} + +/* send packet data request to L1 */ +int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn, + uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len) +{ + struct oc2gl1_hdl *fl1h = obj; + struct msgb *msg; + GsmL1_Prim_t *l1p; + GsmL1_PhDataReq_t *data_req; + GsmL1_MsgUnitParam_t *msu_param; + struct gsm_time g_time; + + gsm_fn2gsmtime(&g_time, fn); + + DEBUGP(DL1IF, "TX packet data %02u/%02u/%02u is_ptcch=%d ts=%d " + "block_nr=%d, arfcn=%d, len=%d\n", g_time.t1, g_time.t2, + g_time.t3, is_ptcch, ts, block_nr, arfcn, len); + + msg = l1p_msgb_alloc(); + l1p = msgb_l1prim(msg); + l1p->id = GsmL1_PrimId_PhDataReq; + data_req = &l1p->u.phDataReq; + data_req->hLayer1 = (HANDLE)fl1h->hLayer1; + data_req->sapi = (is_ptcch) ? GsmL1_Sapi_Ptcch : GsmL1_Sapi_Pdtch; + data_req->subCh = GsmL1_SubCh_NA; + data_req->u8BlockNbr = block_nr; + data_req->u8Tn = ts; + data_req->u32Fn = fn; + msu_param = &data_req->msgUnitParam; + msu_param->u8Size = len; + memcpy(msu_param->u8Buffer, data, len); + + gsmtap_send(fl1h->gsmtap, arfcn, data_req->u8Tn, GSMTAP_CHANNEL_PACCH, + 0, data_req->u32Fn, 0, 0, + data_req->msgUnitParam.u8Buffer, + data_req->msgUnitParam.u8Size); + + + /* transmit */ + if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) { + LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n"); + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_PDTCH_QUEUE_FULL_ALARM, &alarm_sig_data); + msgb_free(msg); + } + + return 0; +} + +void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1) +{ + struct oc2gl1_hdl *fl1h; + int rc; + + fl1h = talloc_zero(tall_pcu_ctx, struct oc2gl1_hdl); + if (!fl1h) + return NULL; + + fl1h->hLayer1 = hlayer1; + fl1h->trx_no = trx_no; + /* hardware queues are numbered starting from 0 */ + fl1h->hw_info.trx_nr = trx_no; + + DEBUGP(DL1IF, "PCU: Using TRX HW#%u\n", fl1h->hw_info.trx_nr); + + rc = l1if_transport_open(MQ_PDTCH_WRITE, fl1h); + if (rc < 0) { + alarm_sig_data.spare[0] = trx_no; + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_FAIL_OPEN_L1_ALARM, &alarm_sig_data); + talloc_free(fl1h); + return NULL; + } + + fl1h->gsmtap = gsmtap_source_init("localhost", GSMTAP_UDP_PORT, 1); + if (fl1h->gsmtap) + gsmtap_source_add_sink(fl1h->gsmtap); + + return fl1h; +} + +int l1if_close_pdch(void *obj) +{ + struct oc2gl1_hdl *fl1h = obj; + if (fl1h) + l1if_transport_close(MQ_PDTCH_WRITE, fl1h); + talloc_free(fl1h); + return 0; +} + diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.h b/src/osmo-bts-oc2g/oc2g_l1_if.h new file mode 100644 index 0000000..1e09f02 --- /dev/null +++ b/src/osmo-bts-oc2g/oc2g_l1_if.h @@ -0,0 +1,106 @@ +/* Copyright (C) 2015 by Yves Godin + * based on: + * femto_l1_if.h + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#ifndef _OC2G_L1_IF_H +#define _OC2G_L1_IF_H + +#include +#include +#include +#include +#include + +#include "oc2gbts.h" + +enum { + MQ_SYS_READ, + MQ_L1_READ, + MQ_TCH_READ, + MQ_PDTCH_READ, + _NUM_MQ_READ +}; + +enum { + MQ_SYS_WRITE, + MQ_L1_WRITE, + MQ_TCH_WRITE, + MQ_PDTCH_WRITE, + _NUM_MQ_WRITE +}; + +struct oc2gl1_hdl { + struct gsm_time gsm_time; + uint32_t hLayer1; /* handle to the L1 instance in the DSP */ + uint32_t dsp_trace_f; + struct llist_head wlc_list; + + struct gsmtap_inst *gsmtap; + uint32_t gsmtap_sapi_mask; + + uint8_t trx_no; + + struct osmo_timer_list alive_timer; + unsigned int alive_prim_cnt; + + struct osmo_fd read_ofd[_NUM_MQ_READ]; /* osmo file descriptors */ + struct osmo_wqueue write_q[_NUM_MQ_WRITE]; + + struct { + int trx_nr; /* <1-2> */ + } hw_info; +}; + +#define msgb_l1prim(msg) ((GsmL1_Prim_t *)(msg)->l1h) +#define msgb_sysprim(msg) ((Oc2g_Prim_t *)(msg)->l1h) + +typedef int l1if_compl_cb(struct msgb *l1_msg, void *data); + +/* send a request primitive to the L1 and schedule completion call-back */ +int l1if_req_compl(struct oc2gl1_hdl *fl1h, struct msgb *msg, + int is_system_prim, l1if_compl_cb *cb, void *data); + +int l1if_reset(struct oc2gl1_hdl *hdl); +int l1if_activate_rf(struct oc2gl1_hdl *hdl, int on); +int l1if_set_trace_flags(struct oc2gl1_hdl *hdl, uint32_t flags); +int l1if_set_txpower(struct oc2gl1_hdl *fl1h, float tx_power); + +struct msgb *l1p_msgb_alloc(void); +struct msgb *sysp_msgb_alloc(void); + +uint32_t l1if_lchan_to_hLayer2(struct gsm_lchan *lchan); +struct gsm_lchan *l1if_hLayer2_to_lchan(struct gsm_bts_trx *trx, uint32_t hLayer2); + +int l1if_handle_sysprim(struct oc2gl1_hdl *fl1h, struct msgb *msg); +int l1if_handle_l1prim(int wq, struct oc2gl1_hdl *fl1h, struct msgb *msg); + +/* tch.c */ +int l1if_tch_rx(struct gsm_lchan *lchan, struct msgb *l1p_msg); +int l1if_tch_fill(struct gsm_lchan *lchan, uint8_t *l1_buffer); +struct msgb *gen_empty_tch_msg(struct gsm_lchan *lchan); + +/* + * The implementation of these functions is selected by either compiling and + * linking sysmo_l1_hw.c or sysmo_l1_fwd.c + */ +int l1if_transport_open(int q, struct oc2gl1_hdl *hdl); +int l1if_transport_close(int q, struct oc2gl1_hdl *hdl); + +#endif /* _OC2G_L1_IF_H */ diff --git a/src/osmo-bts-oc2g/oc2gbts.c b/src/osmo-bts-oc2g/oc2gbts.c new file mode 100644 index 0000000..edd7f5b --- /dev/null +++ b/src/osmo-bts-oc2g/oc2gbts.c @@ -0,0 +1,333 @@ +/* NuRAN Wireless OC-2G L1 API related definitions */ + +/* Copyright (C) 2015 by Yves Godin + * based on: + * sysmobts.c + * (C) 2011 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include "oc2gbts.h" + +#include +#include +#include + + +enum l1prim_type oc2gbts_get_l1prim_type(GsmL1_PrimId_t id) +{ + switch (id) { + case GsmL1_PrimId_MphInitReq: return L1P_T_REQ; + case GsmL1_PrimId_MphCloseReq: return L1P_T_REQ; + case GsmL1_PrimId_MphConnectReq: return L1P_T_REQ; + case GsmL1_PrimId_MphDisconnectReq: return L1P_T_REQ; + case GsmL1_PrimId_MphActivateReq: return L1P_T_REQ; + case GsmL1_PrimId_MphDeactivateReq: return L1P_T_REQ; + case GsmL1_PrimId_MphConfigReq: return L1P_T_REQ; + case GsmL1_PrimId_MphMeasureReq: return L1P_T_REQ; + case GsmL1_PrimId_MphInitCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphCloseCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphConnectCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphDisconnectCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphActivateCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphDeactivateCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphConfigCnf: return L1P_T_CONF; + case GsmL1_PrimId_MphMeasureCnf: return L1P_T_CONF; + case GsmL1_PrimId_PhEmptyFrameReq: return L1P_T_REQ; + case GsmL1_PrimId_PhDataReq: return L1P_T_REQ; + case GsmL1_PrimId_MphTimeInd: return L1P_T_IND; + case GsmL1_PrimId_MphSyncInd: return L1P_T_IND; + case GsmL1_PrimId_PhConnectInd: return L1P_T_IND; + case GsmL1_PrimId_PhReadyToSendInd: return L1P_T_IND; + case GsmL1_PrimId_PhDataInd: return L1P_T_IND; + case GsmL1_PrimId_PhRaInd: return L1P_T_IND; + default: return L1P_T_INVALID; + } +} + +const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1] = { + { GsmL1_PrimId_MphInitReq, "MPH-INIT.req" }, + { GsmL1_PrimId_MphCloseReq, "MPH-CLOSE.req" }, + { GsmL1_PrimId_MphConnectReq, "MPH-CONNECT.req" }, + { GsmL1_PrimId_MphDisconnectReq,"MPH-DISCONNECT.req" }, + { GsmL1_PrimId_MphActivateReq, "MPH-ACTIVATE.req" }, + { GsmL1_PrimId_MphDeactivateReq,"MPH-DEACTIVATE.req" }, + { GsmL1_PrimId_MphConfigReq, "MPH-CONFIG.req" }, + { GsmL1_PrimId_MphMeasureReq, "MPH-MEASURE.req" }, + { GsmL1_PrimId_MphInitCnf, "MPH-INIT.conf" }, + { GsmL1_PrimId_MphCloseCnf, "MPH-CLOSE.conf" }, + { GsmL1_PrimId_MphConnectCnf, "MPH-CONNECT.conf" }, + { GsmL1_PrimId_MphDisconnectCnf,"MPH-DISCONNECT.conf" }, + { GsmL1_PrimId_MphActivateCnf, "MPH-ACTIVATE.conf" }, + { GsmL1_PrimId_MphDeactivateCnf,"MPH-DEACTIVATE.conf" }, + { GsmL1_PrimId_MphConfigCnf, "MPH-CONFIG.conf" }, + { GsmL1_PrimId_MphMeasureCnf, "MPH-MEASURE.conf" }, + { GsmL1_PrimId_MphTimeInd, "MPH-TIME.ind" }, + { GsmL1_PrimId_MphSyncInd, "MPH-SYNC.ind" }, + { GsmL1_PrimId_PhEmptyFrameReq, "PH-EMPTY_FRAME.req" }, + { GsmL1_PrimId_PhDataReq, "PH-DATA.req" }, + { GsmL1_PrimId_PhConnectInd, "PH-CONNECT.ind" }, + { GsmL1_PrimId_PhReadyToSendInd,"PH-READY_TO_SEND.ind" }, + { GsmL1_PrimId_PhDataInd, "PH-DATA.ind" }, + { GsmL1_PrimId_PhRaInd, "PH-RA.ind" }, + { 0, NULL } +}; + +GsmL1_PrimId_t oc2gbts_get_l1prim_conf(GsmL1_PrimId_t id) +{ + switch (id) { + case GsmL1_PrimId_MphInitReq: return GsmL1_PrimId_MphInitCnf; + case GsmL1_PrimId_MphCloseReq: return GsmL1_PrimId_MphCloseCnf; + case GsmL1_PrimId_MphConnectReq: return GsmL1_PrimId_MphConnectCnf; + case GsmL1_PrimId_MphDisconnectReq: return GsmL1_PrimId_MphDisconnectCnf; + case GsmL1_PrimId_MphActivateReq: return GsmL1_PrimId_MphActivateCnf; + case GsmL1_PrimId_MphDeactivateReq: return GsmL1_PrimId_MphDeactivateCnf; + case GsmL1_PrimId_MphConfigReq: return GsmL1_PrimId_MphConfigCnf; + case GsmL1_PrimId_MphMeasureReq: return GsmL1_PrimId_MphMeasureCnf; + default: return -1; // Weak + } +} + +enum l1prim_type oc2gbts_get_sysprim_type(Oc2g_PrimId_t id) +{ + switch (id) { + case Oc2g_PrimId_SystemInfoReq: return L1P_T_REQ; + case Oc2g_PrimId_SystemInfoCnf: return L1P_T_CONF; + case Oc2g_PrimId_SystemFailureInd: return L1P_T_IND; + case Oc2g_PrimId_ActivateRfReq: return L1P_T_REQ; + case Oc2g_PrimId_ActivateRfCnf: return L1P_T_CONF; + case Oc2g_PrimId_DeactivateRfReq: return L1P_T_REQ; + case Oc2g_PrimId_DeactivateRfCnf: return L1P_T_CONF; + case Oc2g_PrimId_SetTraceFlagsReq: return L1P_T_REQ; + case Oc2g_PrimId_Layer1ResetReq: return L1P_T_REQ; + case Oc2g_PrimId_Layer1ResetCnf: return L1P_T_CONF; + case Oc2g_PrimId_SetCalibTblReq: return L1P_T_REQ; + case Oc2g_PrimId_SetCalibTblCnf: return L1P_T_CONF; + case Oc2g_PrimId_MuteRfReq: return L1P_T_REQ; + case Oc2g_PrimId_MuteRfCnf: return L1P_T_CONF; + case Oc2g_PrimId_SetRxAttenReq: return L1P_T_REQ; + case Oc2g_PrimId_SetRxAttenCnf: return L1P_T_CONF; + default: return L1P_T_INVALID; + } +} + +const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1] = { + { Oc2g_PrimId_SystemInfoReq, "SYSTEM-INFO.req" }, + { Oc2g_PrimId_SystemInfoCnf, "SYSTEM-INFO.conf" }, + { Oc2g_PrimId_SystemFailureInd, "SYSTEM-FAILURE.ind" }, + { Oc2g_PrimId_ActivateRfReq, "ACTIVATE-RF.req" }, + { Oc2g_PrimId_ActivateRfCnf, "ACTIVATE-RF.conf" }, + { Oc2g_PrimId_DeactivateRfReq, "DEACTIVATE-RF.req" }, + { Oc2g_PrimId_DeactivateRfCnf, "DEACTIVATE-RF.conf" }, + { Oc2g_PrimId_SetTraceFlagsReq, "SET-TRACE-FLAGS.req" }, + { Oc2g_PrimId_Layer1ResetReq, "LAYER1-RESET.req" }, + { Oc2g_PrimId_Layer1ResetCnf, "LAYER1-RESET.conf" }, + { Oc2g_PrimId_SetCalibTblReq, "SET-CALIB.req" }, + { Oc2g_PrimId_SetCalibTblCnf, "SET-CALIB.cnf" }, + { Oc2g_PrimId_MuteRfReq, "MUTE-RF.req" }, + { Oc2g_PrimId_MuteRfCnf, "MUTE-RF.cnf" }, + { Oc2g_PrimId_SetRxAttenReq, "SET-RX-ATTEN.req" }, + { Oc2g_PrimId_SetRxAttenCnf, "SET-RX-ATTEN-CNF.cnf" }, + { 0, NULL } +}; + +Oc2g_PrimId_t oc2gbts_get_sysprim_conf(Oc2g_PrimId_t id) +{ + switch (id) { + case Oc2g_PrimId_SystemInfoReq: return Oc2g_PrimId_SystemInfoCnf; + case Oc2g_PrimId_ActivateRfReq: return Oc2g_PrimId_ActivateRfCnf; + case Oc2g_PrimId_DeactivateRfReq: return Oc2g_PrimId_DeactivateRfCnf; + case Oc2g_PrimId_Layer1ResetReq: return Oc2g_PrimId_Layer1ResetCnf; + case Oc2g_PrimId_SetCalibTblReq: return Oc2g_PrimId_SetCalibTblCnf; + case Oc2g_PrimId_MuteRfReq: return Oc2g_PrimId_MuteRfCnf; + case Oc2g_PrimId_SetRxAttenReq: return Oc2g_PrimId_SetRxAttenCnf; + default: return -1; // Weak + } +} + +const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1] = { + { GsmL1_Sapi_Idle, "IDLE" }, + { GsmL1_Sapi_Fcch, "FCCH" }, + { GsmL1_Sapi_Sch, "SCH" }, + { GsmL1_Sapi_Sacch, "SACCH" }, + { GsmL1_Sapi_Sdcch, "SDCCH" }, + { GsmL1_Sapi_Bcch, "BCCH" }, + { GsmL1_Sapi_Pch, "PCH" }, + { GsmL1_Sapi_Agch, "AGCH" }, + { GsmL1_Sapi_Cbch, "CBCH" }, + { GsmL1_Sapi_Rach, "RACH" }, + { GsmL1_Sapi_TchF, "TCH/F" }, + { GsmL1_Sapi_FacchF,"FACCH/F" }, + { GsmL1_Sapi_TchH, "TCH/H" }, + { GsmL1_Sapi_FacchH,"FACCH/H" }, + { GsmL1_Sapi_Nch, "NCH" }, + { GsmL1_Sapi_Pdtch, "PDTCH" }, + { GsmL1_Sapi_Pacch, "PACCH" }, + { GsmL1_Sapi_Pbcch, "PBCCH" }, + { GsmL1_Sapi_Pagch, "PAGCH" }, + { GsmL1_Sapi_Ppch, "PPCH" }, + { GsmL1_Sapi_Pnch, "PNCH" }, + { GsmL1_Sapi_Ptcch, "PTCCH" }, + { GsmL1_Sapi_Prach, "PRACH" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1] = { + { GsmL1_Status_Success, "Success" }, + { GsmL1_Status_Generic, "Generic error" }, + { GsmL1_Status_NoMemory, "Not enough memory" }, + { GsmL1_Status_Timeout, "Timeout" }, + { GsmL1_Status_InvalidParam, "Invalid parameter" }, + { GsmL1_Status_Busy, "Resource busy" }, + { GsmL1_Status_NoRessource, "No more resources" }, + { GsmL1_Status_Uninitialized, "Trying to use uninitialized resource" }, + { GsmL1_Status_NullInterface, "Trying to call a NULL interface" }, + { GsmL1_Status_NullFctnPtr, "Trying to call a NULL function ptr" }, + { GsmL1_Status_BadCrc, "Bad CRC" }, + { GsmL1_Status_BadUsf, "Bad USF" }, + { GsmL1_Status_InvalidCPS, "Invalid CPS field" }, + { GsmL1_Status_UnexpectedBurst, "Unexpected burst" }, + { GsmL1_Status_UnavailCodec, "AMR codec is unavailable" }, + { GsmL1_Status_CriticalError, "Critical error" }, + { GsmL1_Status_OverheatError, "Overheat error" }, + { GsmL1_Status_DeviceError, "Device error" }, + { GsmL1_Status_FacchError, "FACCH / TCH order error" }, + { GsmL1_Status_AlreadyDeactivated,"Lchan already deactivated" }, + { GsmL1_Status_TxBurstFifoOvrn, "FIFO overrun" }, + { GsmL1_Status_TxBurstFifoUndr, "FIFO underrun" }, + { GsmL1_Status_NotSynchronized, "Not synchronized" }, + { GsmL1_Status_Unsupported, "Unsupported feature" }, + { GsmL1_Status_ClockError, "System clock error" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_tracef_names[29] = { + { DBG_DEBUG, "DEBUG" }, + { DBG_L1WARNING, "L1_WARNING" }, + { DBG_ERROR, "ERROR" }, + { DBG_L1RXMSG, "L1_RX_MSG" }, + { DBG_L1RXMSGBYTE, "L1_RX_MSG_BYTE" }, + { DBG_L1TXMSG, "L1_TX_MSG" }, + { DBG_L1TXMSGBYTE, "L1_TX_MSG_BYTE" }, + { DBG_MPHCNF, "MPH_CNF" }, + { DBG_MPHIND, "MPH_IND" }, + { DBG_MPHREQ, "MPH_REQ" }, + { DBG_PHIND, "PH_IND" }, + { DBG_PHREQ, "PH_REQ" }, + { DBG_PHYRF, "PHY_RF" }, + { DBG_PHYRFMSGBYTE, "PHY_MSG_BYTE" }, + { DBG_MODE, "MODE" }, + { DBG_TDMAINFO, "TDMA_INFO" }, + { DBG_BADCRC, "BAD_CRC" }, + { DBG_PHINDBYTE, "PH_IND_BYTE" }, + { DBG_PHREQBYTE, "PH_REQ_BYTE" }, + { DBG_DEVICEMSG, "DEVICE_MSG" }, + { DBG_RACHINFO, "RACH_INFO" }, + { DBG_LOGCHINFO, "LOG_CH_INFO" }, + { DBG_MEMORY, "MEMORY" }, + { DBG_PROFILING, "PROFILING" }, + { DBG_TESTCOMMENT, "TEST_COMMENT" }, + { DBG_TEST, "TEST" }, + { DBG_STATUS, "STATUS" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_tracef_docs[29] = { + { DBG_DEBUG, "Debug Region" }, + { DBG_L1WARNING, "L1 Warning Region" }, + { DBG_ERROR, "Error Region" }, + { DBG_L1RXMSG, "L1_RX_MSG Region" }, + { DBG_L1RXMSGBYTE, "L1_RX_MSG_BYTE Region" }, + { DBG_L1TXMSG, "L1_TX_MSG Region" }, + { DBG_L1TXMSGBYTE, "L1_TX_MSG_BYTE Region" }, + { DBG_MPHCNF, "MphConfirmation Region" }, + { DBG_MPHIND, "MphIndication Region" }, + { DBG_MPHREQ, "MphRequest Region" }, + { DBG_PHIND, "PhIndication Region" }, + { DBG_PHREQ, "PhRequest Region" }, + { DBG_PHYRF, "PhyRF Region" }, + { DBG_PHYRFMSGBYTE, "PhyRF Message Region" }, + { DBG_MODE, "Mode Region" }, + { DBG_TDMAINFO, "TDMA Info Region" }, + { DBG_BADCRC, "Bad CRC Region" }, + { DBG_PHINDBYTE, "PH_IND_BYTE" }, + { DBG_PHREQBYTE, "PH_REQ_BYTE" }, + { DBG_DEVICEMSG, "Device Message Region" }, + { DBG_RACHINFO, "RACH Info" }, + { DBG_LOGCHINFO, "LOG_CH_INFO" }, + { DBG_MEMORY, "Memory Region" }, + { DBG_PROFILING, "Profiling Region" }, + { DBG_TESTCOMMENT, "Test Comments" }, + { DBG_TEST, "Test Region" }, + { DBG_STATUS, "Status Region" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_tch_pl_names[] = { + { GsmL1_TchPlType_NA, "N/A" }, + { GsmL1_TchPlType_Fr, "FR" }, + { GsmL1_TchPlType_Hr, "HR" }, + { GsmL1_TchPlType_Efr, "EFR" }, + { GsmL1_TchPlType_Amr, "AMR(IF2)" }, + { GsmL1_TchPlType_Amr_SidBad, "AMR(SID BAD)" }, + { GsmL1_TchPlType_Amr_Onset, "AMR(ONSET)" }, + { GsmL1_TchPlType_Amr_Ratscch, "AMR(RATSCCH)" }, + { GsmL1_TchPlType_Amr_SidUpdateInH, "AMR(SID_UPDATE INH)" }, + { GsmL1_TchPlType_Amr_SidFirstP1, "AMR(SID_FIRST P1)" }, + { GsmL1_TchPlType_Amr_SidFirstP2, "AMR(SID_FIRST P2)" }, + { GsmL1_TchPlType_Amr_SidFirstInH, "AMR(SID_FIRST INH)" }, + { GsmL1_TchPlType_Amr_RatscchMarker, "AMR(RATSCCH MARK)" }, + { GsmL1_TchPlType_Amr_RatscchData, "AMR(RATSCCH DATA)" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_dir_names[] = { + { GsmL1_Dir_TxDownlink, "TxDL" }, + { GsmL1_Dir_TxUplink, "TxUL" }, + { GsmL1_Dir_RxUplink, "RxUL" }, + { GsmL1_Dir_RxDownlink, "RxDL" }, + { GsmL1_Dir_TxDownlink|GsmL1_Dir_RxUplink, "BOTH" }, + { 0, NULL } +}; + +const struct value_string oc2gbts_chcomb_names[] = { + { GsmL1_LogChComb_0, "dummy" }, + { GsmL1_LogChComb_I, "tch_f" }, + { GsmL1_LogChComb_II, "tch_h" }, + { GsmL1_LogChComb_IV, "ccch" }, + { GsmL1_LogChComb_V, "ccch_sdcch4" }, + { GsmL1_LogChComb_VII, "sdcch8" }, + { GsmL1_LogChComb_XIII, "pdtch" }, + { 0, NULL } +}; + +const uint8_t pdch_msu_size[_NUM_PDCH_CS] = { + [PDCH_CS_1] = 23, + [PDCH_CS_2] = 34, + [PDCH_CS_3] = 40, + [PDCH_CS_4] = 54, + [PDCH_MCS_1] = 27, + [PDCH_MCS_2] = 33, + [PDCH_MCS_3] = 42, + [PDCH_MCS_4] = 49, + [PDCH_MCS_5] = 60, + [PDCH_MCS_6] = 78, + [PDCH_MCS_7] = 118, + [PDCH_MCS_8] = 142, + [PDCH_MCS_9] = 154 +}; diff --git a/src/osmo-bts-oc2g/oc2gbts.h b/src/osmo-bts-oc2g/oc2gbts.h new file mode 100644 index 0000000..24deae7 --- /dev/null +++ b/src/osmo-bts-oc2g/oc2gbts.h @@ -0,0 +1,64 @@ +#ifndef OC2GBTS_H +#define OC2GBTS_H + +#include +#include + +#include +#include + +/* + * Depending on the firmware version either GsmL1_Prim_t or Oc2g_Prim_t + * is the bigger struct. For earlier firmware versions the GsmL1_Prim_t was the + * bigger struct. + */ +#define OC2GBTS_PRIM_SIZE \ + (OSMO_MAX(sizeof(Oc2g_Prim_t), sizeof(GsmL1_Prim_t)) + 128) + +enum l1prim_type { + L1P_T_INVALID, /* this must be 0 to detect uninitialized elements */ + L1P_T_REQ, + L1P_T_CONF, + L1P_T_IND, +}; + +enum l1prim_type oc2gbts_get_l1prim_type(GsmL1_PrimId_t id); +const struct value_string oc2gbts_l1prim_names[GsmL1_PrimId_NUM+1]; +GsmL1_PrimId_t oc2gbts_get_l1prim_conf(GsmL1_PrimId_t id); + +enum l1prim_type oc2gbts_get_sysprim_type(Oc2g_PrimId_t id); +const struct value_string oc2gbts_sysprim_names[Oc2g_PrimId_NUM+1]; +Oc2g_PrimId_t oc2gbts_get_sysprim_conf(Oc2g_PrimId_t id); + +const struct value_string oc2gbts_l1sapi_names[GsmL1_Sapi_NUM+1]; +const struct value_string oc2gbts_l1status_names[GSML1_STATUS_NUM+1]; + +const struct value_string oc2gbts_tracef_names[29]; +const struct value_string oc2gbts_tracef_docs[29]; + +const struct value_string oc2gbts_tch_pl_names[15]; + +const struct value_string oc2gbts_clksrc_names[10]; + +const struct value_string oc2gbts_dir_names[6]; + +enum pdch_cs { + PDCH_CS_1, + PDCH_CS_2, + PDCH_CS_3, + PDCH_CS_4, + PDCH_MCS_1, + PDCH_MCS_2, + PDCH_MCS_3, + PDCH_MCS_4, + PDCH_MCS_5, + PDCH_MCS_6, + PDCH_MCS_7, + PDCH_MCS_8, + PDCH_MCS_9, + _NUM_PDCH_CS +}; + +const uint8_t pdch_msu_size[_NUM_PDCH_CS]; + +#endif /* LC15BTS_H */ -- To view, visit https://gerrit.osmocom.org/13356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453 Gerrit-Change-Number: 13356 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:37 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:37 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix missing header In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13357 ) Change subject: OC-2G: Fix missing header ...................................................................... OC-2G: Fix missing header From-Commit: a9eefb54c62a From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 23661cb..3855da1 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -31,6 +31,8 @@ #include #include #include +#include + #include #include #include -- To view, visit https://gerrit.osmocom.org/13357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596 Gerrit-Change-Number: 13357 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:38 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:38 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Fix TA adjustment In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13358 ) Change subject: OC-2G: Fix TA adjustment ...................................................................... OC-2G: Fix TA adjustment Problem: TA provided from L1 PH-DATA-IND is a relative amount of TA adjustment to actual TA being used for given TBF. The current TA update algorithm in PCU simply applies the relative amount of TA to given TBF but does not take into account of current TA. As a result, the PCU will request wrong TA jump for given TBF if the MS is moving away from BTS more than 2 km. Related issue: http://osmocom.org/issues/2611 Fixes: - The PCU needs increase or decrease current TA of given TBF on receiving of relative amount of TA adjustment provided by PH-DATA-IND from L1. - The PCU needs to set absolute TA of given TBF on receiving absolute TA provided by PH-RA-IND from L1. From-Commit: 139ad3f42193 From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 3855da1..ccf7431 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -210,7 +210,7 @@ get_meas(&meas, &data_ind->measParam); bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no, - data_ind->u8Tn, qta2ta(meas.bto)); + data_ind->u8Tn, sign_qta2ta(meas.bto), false); switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: @@ -250,7 +250,7 @@ DEBUGP(DL1IF, "Rx PH-RA.ind"); bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, - qta2ta(ra_ind->measParam.i16BurstTiming)); + sign_qta2ta(ra_ind->measParam.i16BurstTiming), true); return 0; } -- To view, visit https://gerrit.osmocom.org/13358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324 Gerrit-Change-Number: 13358 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:38 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:38 +0000 Subject: Change in osmo-pcu[master]: OC-2G: Always use positive TA information provided in PH-RA-IND In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13359 ) Change subject: OC-2G: Always use positive TA information provided in PH-RA-IND ...................................................................... OC-2G: Always use positive TA information provided in PH-RA-IND From-Commit: 960aa3d1b0b1 From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index ccf7431..80b9dbc 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -248,9 +248,10 @@ if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) return 0; - DEBUGP(DL1IF, "Rx PH-RA.ind"); + LOGP(DL1IF, LOGL_DEBUG, "PH-RA-IND L1 qta=%d\n", ra_ind->measParam.i16BurstTiming); + bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, - sign_qta2ta(ra_ind->measParam.i16BurstTiming), true); + qta2ta(ra_ind->measParam.i16BurstTiming), true); return 0; } -- To view, visit https://gerrit.osmocom.org/13359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838 Gerrit-Change-Number: 13359 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Minh-Quang Nguyen -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:39 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:39 +0000 Subject: Change in osmo-pcu[master]: oc2g: Remove custom alarms In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13360 ) Change subject: oc2g: Remove custom alarms ...................................................................... oc2g: Remove custom alarms Don't try to send custom alarms that weren't included in upstream. Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c --- M src/osmo-bts-oc2g/oc2g_l1_if.c 1 file changed, 0 insertions(+), 7 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 80b9dbc..f9768ae 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -232,9 +232,6 @@ default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); - memcpy(alarm_sig_data.spare, &data_ind->sapi, sizeof(unsigned int)); - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_SAP_ALARM, &alarm_sig_data); - break; } @@ -286,7 +283,6 @@ rc = handle_ph_ra_ind(fl1h, &l1p->u.phRaInd); break; default: - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_PRIM_ALARM, &alarm_sig_data); break; } @@ -340,7 +336,6 @@ /* transmit */ if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) { LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n"); - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_PDTCH_QUEUE_FULL_ALARM, &alarm_sig_data); msgb_free(msg); } @@ -365,8 +360,6 @@ rc = l1if_transport_open(MQ_PDTCH_WRITE, fl1h); if (rc < 0) { - alarm_sig_data.spare[0] = trx_no; - osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_FAIL_OPEN_L1_ALARM, &alarm_sig_data); talloc_free(fl1h); return NULL; } -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:39 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:39 +0000 Subject: Change in osmo-pcu[master]: oc2g: Change log type (Litecell15->Oc2g) In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13362 ) Change subject: oc2g: Change log type (Litecell15->Oc2g) ...................................................................... oc2g: Change log type (Litecell15->Oc2g) Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b --- M src/osmo-bts-oc2g/oc2g_l1_hw.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Pau Espin Pedrol: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c index aaa543f..e96df89 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_hw.c +++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c @@ -97,7 +97,7 @@ case MQ_SYS_WRITE: if (rc != sizeof(Oc2g_Prim_t)) LOGP(DL1IF, LOGL_NOTICE, "%u != " - "sizeof(Litecell15_Prim_t)\n", rc); + "sizeof(Oc2g_Prim_t)\n", rc); return l1if_handle_sysprim(fl1h, msg); case MQ_L1_WRITE: case MQ_TCH_WRITE: -- To view, visit https://gerrit.osmocom.org/13362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b Gerrit-Change-Number: 13362 Gerrit-PatchSet: 3 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 16:46:40 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 16:46:40 +0000 Subject: Change in osmo-pcu[master]: jenkins.sh: Add oc2g build support In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13428 ) Change subject: jenkins.sh: Add oc2g build support ...................................................................... jenkins.sh: Add oc2g build support Related: OS#3749, SYS#4524 Change-Id: I014e5e59bc5e904a616ddf50ebfb8247f0d428cf --- M contrib/jenkins.sh 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7af7309..e805080 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -48,6 +48,12 @@ osmo-layer1-headers.sh lc15 "$FIRMWARE_VERSION" cd "$base" +elif [ "$with_dsp" = oc2g ]; then + PCU_CONFIG="$PCU_CONFIG --enable-oc2gbts-phy --with-oc2g=$deps/layer1-headers/inc" + cd "$deps" + osmo-layer1-headers.sh oc2g "$FIRMWARE_VERSION" + cd "$base" + elif [ -z "$with_dsp" -o "$with_dsp" = none ]; then echo "Direct DSP access disabled, sanitizer enabled" PCU_CONFIG="$PCU_CONFIG --enable-werror --enable-sanitize" -- To view, visit https://gerrit.osmocom.org/13428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I014e5e59bc5e904a616ddf50ebfb8247f0d428cf Gerrit-Change-Number: 13428 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 17:32:05 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 17:32:05 +0000 Subject: Change in osmo-pcu[master]: oc2g: Remove custom alarms In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13360 ) Change subject: oc2g: Remove custom alarms ...................................................................... Patch Set 2: > Patch Set 2: > > Build Started https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-pcu/697/ That's me mucking about with the osmo-ci job changes for osmo-pcu, please ignore -- To view, visit https://gerrit.osmocom.org/13360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c Gerrit-Change-Number: 13360 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Pau Espin Pedrol Gerrit-Comment-Date: Wed, 27 Mar 2019 17:32:05 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 17:37:06 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 17:37:06 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Hello Max, Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13368 to look at the new patch set (#2). Change subject: Also build oc2g support for osmo-pcu ...................................................................... Also build oc2g support for osmo-pcu Needs gerrit change I7cd89a549c9463e81893ca7dd925299f728e4453 in osmo-pcu Fixes: SYS#4524 Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 --- M jobs/gerrit-verifications.yml 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/68/13368/2 -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-CC: Andr? Boddenberg -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 17:37:07 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 17:37:07 +0000 Subject: Change in osmo-ci[master]: Avoid '/' in jenkins matrix labels Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13434 Change subject: Avoid '/' in jenkins matrix labels ...................................................................... Avoid '/' in jenkins matrix labels The script already deals with this for osmo-bts by using the version_prefix variable Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f --- M jobs/gerrit-verifications.yml 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/34/13434/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index c28a2fa..6128dc5 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -192,7 +192,7 @@ - osmo-pcu: a1_name: FIRMWARE_VERSION - a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15, oc2g] + a1: !!python/tuple [master, v2017.01, litecell15, oc2g] a2_name: with_vty a2: !!python/tuple [True, False] a3_name: with_dsp @@ -204,7 +204,7 @@ (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") -- To view, visit https://gerrit.osmocom.org/13434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f Gerrit-Change-Number: 13434 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 17:38:29 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 17:38:29 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13368 ) Change subject: Also build oc2g support for osmo-pcu ...................................................................... Patch Set 2: Verified+1 Tested in https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-pcu/698/ -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-CC: Andr? Boddenberg Gerrit-Comment-Date: Wed, 27 Mar 2019 17:38:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 17:42:15 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Wed, 27 Mar 2019 17:42:15 +0000 Subject: Change in osmo-ci[master]: Avoid '/' in jenkins matrix labels In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13434 ) Change subject: Avoid '/' in jenkins matrix labels ...................................................................... Patch Set 1: Verified+1 https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-pcu/698 -- To view, visit https://gerrit.osmocom.org/13434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f Gerrit-Change-Number: 13434 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 Mar 2019 17:42:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 20:27:37 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 27 Mar 2019 20:27:37 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/#/c/13421/5/include/osmocom/msc/vlr.h File include/osmocom/msc/vlr.h: https://gerrit.osmocom.org/#/c/13421/5/include/osmocom/msc/vlr.h at 277 PS5, Line 277: lcls_enabled Cosmetic: other symbols here are using imperative style, so "enable_lcls" would be better. https://gerrit.osmocom.org/#/c/13421/5/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/13421/5/src/libmsc/msc_vty.c at 408 PS5, Line 408: lcls-enable Are you (you anyone else) going to add more LCLS related parameters? If yes, it would make sense to have group called 'lcls', so the command would look this way: "lcls enable 1" or similar. -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Wed, 27 Mar 2019 20:27:37 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 21:22:23 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 21:22:23 +0000 Subject: Change in openbsc[master]: vty_test_runner: Handle MGCP message recv len dynamically Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13435 Change subject: vty_test_runner: Handle MGCP message recv len dynamically ...................................................................... vty_test_runner: Handle MGCP message recv len dynamically Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 --- M openbsc/tests/vty_test_runner.py 1 file changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/35/13435/1 diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py index ca0b879..44ccdd8 100644 --- a/openbsc/tests/vty_test_runner.py +++ b/openbsc/tests/vty_test_runner.py @@ -20,6 +20,7 @@ import unittest import socket import subprocess +import struct import osmopy.obscvty as obscvty import osmopy.osmoutil as osmoutil @@ -1089,6 +1090,16 @@ if (verbose): print "\tBSC <- NAT: ", s +def ipa_handle_mgcp(x, verbose = False): + data = x.recv(3) + s = data2str(data) + if s[4:] != "fc": + print "expected IPA(MGCP) but received %r instead" % (s[4:]) + ipa_len, = struct.unpack('>H', data[:2]) + mgcp_msg = x.recv(ipa_len) # MGCP msg + if (verbose): + print "\tBSC <- NAT (MGCP[%d]): %s" % (ipa_len, mgcp_msg) + def nat_bsc_num_con(x): return len(x.vty.command("show bsc connections").split('\n')) @@ -1106,7 +1117,7 @@ ipa_handle_resp(bsc, tk, verbose, proc=proc) if proc: print "\tproc.poll() = %r" % proc.poll() - bsc.recv(27) # MGCP msg + ipa_handle_mgcp(bsc, verbose) if proc: print "\tproc.poll() = %r" % proc.poll() ipa_handle_small(bsc, verbose) -- To view, visit https://gerrit.osmocom.org/13435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 Gerrit-Change-Number: 13435 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 27 21:22:35 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Wed, 27 Mar 2019 21:22:35 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Wed, 27 Mar 2019 21:22:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 06:45:46 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 06:45:46 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 06:45:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:53:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:53:53 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Patch Set 2: Code-Review+1 looks good to me. However, we should have at least some very basic bsc-nat tests in operation (Daniel?) before merging a change like this. -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 08:53:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:54:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:54:24 +0000 Subject: Change in openbsc[master]: vty_test_runner: Handle MGCP message recv len dynamically In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13435 ) Change subject: vty_test_runner: Handle MGCP message recv len dynamically ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 Gerrit-Change-Number: 13435 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 28 Mar 2019 08:54:24 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:55:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:55:47 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13368 ) Change subject: Also build oc2g support for osmo-pcu ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-CC: Andr? Boddenberg Gerrit-Comment-Date: Thu, 28 Mar 2019 08:55:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:56:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:56:02 +0000 Subject: Change in osmo-ci[master]: Avoid '/' in jenkins matrix labels In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13434 ) Change subject: Avoid '/' in jenkins matrix labels ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f Gerrit-Change-Number: 13434 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 08:56:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:56:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:56:51 +0000 Subject: Change in osmo-ci[master]: build-old-tags: known error: osmo-bts-1.0.0 In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13430 ) Change subject: build-old-tags: known error: osmo-bts-1.0.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 Gerrit-Change-Number: 13430 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 08:56:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:58:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:58:38 +0000 Subject: Change in osmo-pcu[master]: TS alloc: expand tests log In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/3895 ) Change subject: TS alloc: expand tests log ...................................................................... Patch Set 28: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/3895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5 Gerrit-Change-Number: 3895 Gerrit-PatchSet: 28 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 08:58:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:58:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:58:42 +0000 Subject: Change in osmo-pcu[master]: TS alloc: expand tests log In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/3895 ) Change subject: TS alloc: expand tests log ...................................................................... TS alloc: expand tests log * restructure code for easier reading * use consistent formatting for output * log essential allocation parameters on failure Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5 Related: OS#2282 --- M src/gprs_rlcmac_ts_alloc.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.err 3 files changed, 297 insertions(+), 295 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 835c199..0476d6d 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -40,6 +40,13 @@ /* Consider a PDCH as idle if has at most this number of TBFs assigned to it */ #define PDCH_IDLE_TBF_THRESH 1 +#define LOGPSL(tbf, level, fmt, args...) LOGP(DRLCMAC, level, "[%s] " fmt, \ + (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL", ## args) + +#define LOGPAL(tbf, kind, single, trx_n, level, fmt, args...) LOGPSL(tbf, level, \ + "algo %s <%s> (suggested TRX: %d): " fmt, \ + kind, single ? "single" : "multi", trx_n, ## args) + static char *set_flag_chars(char *buf, uint8_t val, char set_char, char unset_char = 0) { int i; @@ -351,13 +358,12 @@ const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx = ms->current_trx(); - LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class " - "%d\n", tbf->ms_class()); + LOGPSL(tbf, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class %d\n", tbf->ms_class()); trx_no = find_trx(bts, ms, use_trx); if (trx_no < 0) { - LOGP(DRLCMAC, LOGL_NOTICE, - "- Failed to find a usable TRX (TFI exhausted)\n"); + LOGPAL(tbf, "A", single ? "single" : "multi", use_trx, LOGL_NOTICE, + "failed to find a usable TRX (TFI exhausted)\n"); return trx_no; } if (!trx) @@ -385,14 +391,14 @@ &tfi, &usf); if (tbf->direction == GPRS_RLCMAC_UL_TBF && usf < 0) { - LOGP(DRLCMAC, LOGL_NOTICE, "- Failed " - "to allocate a TS, no USF available\n"); + LOGPAL(tbf, "A", single ? "single" : "multi", use_trx, LOGL_NOTICE, + "failed to allocate a TS, no USF available\n"); return -EBUSY; } if (ts < 0) { - LOGP(DRLCMAC, LOGL_NOTICE, "- Failed " - "to allocate a TS, no TFI available\n"); + LOGPAL(tbf, "A", single ? "single" : "multi", use_trx, LOGL_NOTICE, + "failed to allocate a TS, no TFI available\n"); return -EBUSY; } @@ -402,13 +408,11 @@ * may be modified from now on. */ if (tbf->direction == GPRS_RLCMAC_UL_TBF) { struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf_); - LOGP(DRLCMAC, LOGL_DEBUG, "- Assign uplink TS=%d TFI=%d USF=%d\n", - ts, tfi, usf); + LOGPSL(tbf, LOGL_DEBUG, "Assign uplink TS=%d TFI=%d USF=%d\n", ts, tfi, usf); assign_uplink_tbf_usf(pdch, ul_tbf, tfi, usf); } else { struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf_); - LOGP(DRLCMAC, LOGL_DEBUG, "- Assign downlink TS=%d TFI=%d\n", - ts, tfi); + LOGPSL(tbf, LOGL_DEBUG, "Assign downlink TS=%d TFI=%d\n", ts, tfi); assign_dlink_tbf(pdch, dl_tbf, tfi); } @@ -711,7 +715,7 @@ LOGPC(DRLCMAC, LOGL_DEBUG, "- Selected DL"); } - LOGPC(DRLCMAC, LOGL_DEBUG, " slots: (TS=0)\"%s\"(TS=7)%s\n", slot_info, single ? ", single" : ""); + LOGPC(DRLCMAC, LOGL_DEBUG, " slots: (TS=0)\"%s\"(TS=7), %s\n", slot_info, single ? "single" : "multi"); return sl; } @@ -868,7 +872,7 @@ /* Step 2a: Find usable TRX and TFI */ tfi = tfi_find_free(bts->bts, trx, ms, tbf->direction, use_trx, &trx_no); if (tfi < 0) { - LOGP(DRLCMAC, LOGL_NOTICE, "- Failed to allocate a TFI\n"); + LOGPAL(tbf, "B", single, use_trx, LOGL_NOTICE, "failed to allocate a TFI\n"); return tfi; } @@ -912,23 +916,21 @@ first_common_ts = ffs(dl_slots & ul_slots) - 1; if (first_common_ts < 0) { - LOGP(DRLCMAC, LOGL_NOTICE, "No first common slots available\n"); + LOGPAL(tbf, "B", single, use_trx, LOGL_NOTICE, "first common slot unavailable\n"); return -EINVAL; } + if (first_ts < 0) { - LOGP(DRLCMAC, LOGL_NOTICE, "No first slot available\n"); + LOGPAL(tbf, "B", single, use_trx, LOGL_NOTICE, "first slot unavailable\n"); return -EINVAL; } if (single && slotcount) { tbf_->upgrade_to_multislot = (avail_count > slotcount); - LOGP(DRLCMAC, LOGL_INFO, "Using single slot at TS %d for %s\n", - first_ts, - (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL"); + LOGPAL(tbf, "B", single, use_trx, LOGL_INFO, "using single slot at TS %d\n", first_ts); } else { tbf_->upgrade_to_multislot = 0; - LOGP(DRLCMAC, LOGL_INFO, "Using %d slots for %s\n", slotcount, - (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL"); + LOGPAL(tbf, "B", single, use_trx, LOGL_INFO, "using %d slots\n", slotcount); } /* The allocation will be successful, so the system state and tbf_/ms_ diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err index 562135d..3549793 100644 --- a/tests/alloc/AllocTest.err +++ b/tests/alloc/AllocTest.err @@ -193,7 +193,7 @@ TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=0/0 -- Failed to find a usable TRX (TFI exhausted) +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=RELEASING) free @@ -305,7 +305,7 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 Allocating UL TBF: MS_CLASS=0/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) free @@ -713,7 +713,7 @@ TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=0/0 -- Failed to find a usable TRX (TFI exhausted) +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free @@ -931,7 +931,7 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 4 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 00 Allocating UL TBF: MS_CLASS=0/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free @@ -189959,7 +189959,7 @@ TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 Allocating UL TBF: MS_CLASS=1/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available Allocating UL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00 @@ -190155,7 +190155,7 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating UL TBF: MS_CLASS=12/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00 @@ -190351,7 +190351,7 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=12/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 @@ -190547,7 +190547,7 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=9/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 @@ -190743,7 +190743,7 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=33/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 @@ -190939,7 +190939,7 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=33/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 Allocating DL TBF: MS_CLASS=33/0 @@ -190961,7 +190961,7 @@ TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=36/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available Allocating DL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 @@ -191176,7 +191176,7 @@ TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 Allocating UL TBF: MS_CLASS=1/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=RELEASING) free Allocating DL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5 @@ -191373,7 +191373,7 @@ No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating DL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 78 @@ -191569,11 +191569,11 @@ No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: -1): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 Allocating UL TBF: MS_CLASS=10/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 @@ -192701,7 +192701,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=1/0 -- Failed to find a usable TRX (TFI exhausted) +[UL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocating UL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00 @@ -192932,7 +192932,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 Allocating DL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free Allocating UL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5 @@ -193164,7 +193164,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 Allocating DL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free @@ -193666,7 +193666,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 -- Failed to find a usable TRX (TFI exhausted) +[UL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocating DL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 @@ -193916,7 +193916,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 Allocating UL TBF: MS_CLASS=1/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free Allocating DL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5 @@ -194148,7 +194148,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18 Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free Allocating DL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5 @@ -194380,7 +194380,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18 Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free @@ -194390,7 +194390,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18 Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free @@ -194400,7 +194400,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18 Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free @@ -194410,8 +194410,8 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = f0 Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI -- Failed to allocate a TS, no USF available +[UL] algo B (suggested TRX: 0): failed to allocate a TFI +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 @@ -194519,7 +194519,7 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 Allocating UL TBF: MS_CLASS=1/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available Allocating UL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00 @@ -194619,7 +194619,7 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating UL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00 @@ -194719,26 +194719,26 @@ No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[UL] algo B (suggested TRX: -1): failed to allocate a TFI TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI -- Failed to allocate a TS, no USF available +[UL] algo B (suggested TRX: -1): failed to allocate a TFI +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available Allocating DL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 @@ -195225,7 +195225,7 @@ TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=1/0 -- Failed to find a usable TRX (TFI exhausted) +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocating DL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 78 @@ -195325,7 +195325,7 @@ No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: -1): failed to allocate a TFI Allocating DL TBF: MS_CLASS=10/0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 78 @@ -195425,7 +195425,7 @@ No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=10/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: -1): failed to allocate a TFI TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08 No TFI available (suggested TRX: 0). @@ -195702,7 +195702,7 @@ TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=10/0 -- Failed to find a usable TRX (TFI exhausted) +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00 @@ -196829,7 +196829,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=23/0 -- Failed to find a usable TRX (TFI exhausted) +[UL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocated 160 TBFs (previously -1) Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 @@ -196937,7 +196937,7 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xc0000022 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 Allocating UL TBF: MS_CLASS=36/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available Allocated 35 TBFs (previously 160) TBF(TFI=0 TLLI=0xc0000000 DIR=UL STATE=NULL) free Allocating UL TBF: MS_CLASS=1/0 @@ -198415,7 +198415,7 @@ TBF(TFI=0 TLLI=0xc000009f DIR=UL STATE=NULL) free No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=23/0 -- Failed to find a usable TRX (TFI exhausted) +[UL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocated 160 TBFs (previously 160) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=RELEASING) free Allocating DL TBF: MS_CLASS=1/0 @@ -199218,7 +199218,7 @@ TBF(TFI=31 TLLI=0xc000009f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=23/0 -- Failed to find a usable TRX (TFI exhausted) +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocated 160 TBFs (previously 160) Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 @@ -199450,7 +199450,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 00 Allocating DL TBF: MS_CLASS=33/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free Allocated 32 TBFs (previously -1) Allocating UL TBF: MS_CLASS=1/0 @@ -199845,7 +199845,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 00 Allocating DL TBF: MS_CLASS=33/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free Allocated 32 TBFs (previously 32) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=RELEASING) free @@ -200010,7 +200010,7 @@ No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=33/0 No TFI available (suggested TRX: -1). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: -1): failed to allocate a TFI Allocated 32 TBFs (previously 32) Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 @@ -200242,7 +200242,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 00 Allocating DL TBF: MS_CLASS=33/0 No TFI available (suggested TRX: 0). -- Failed to allocate a TFI +[DL] algo B (suggested TRX: 0): failed to allocate a TFI TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 6 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 40 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free @@ -200696,7 +200696,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=44/0 -- Failed to find a usable TRX (TFI exhausted) +[UL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocated 89 TBFs (previously -1) Allocating UL TBF: MS_CLASS=1/0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3 @@ -200771,7 +200771,7 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 4 TBF(TFI=6 TLLI=0xc0000017 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 00 Allocating UL TBF: MS_CLASS=25/0 -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available Allocated 24 TBFs (previously 89) TBF(TFI=0 TLLI=0xc0000000 DIR=UL STATE=NULL) free Allocating UL TBF: MS_CLASS=1/0 @@ -202026,7 +202026,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free No TFI available (suggested TRX: 0). Allocating UL TBF: MS_CLASS=23/0 -- Failed to find a usable TRX (TFI exhausted) +[UL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocated 160 TBFs (previously 89) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=RELEASING) free Allocating DL TBF: MS_CLASS=1/0 @@ -202829,7 +202829,7 @@ TBF(TFI=31 TLLI=0xc000009f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 No TFI available (suggested TRX: 0). Allocating DL TBF: MS_CLASS=23/0 -- Failed to find a usable TRX (TFI exhausted) +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) Allocated 160 TBFs (previously 160) Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 6 diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index b58b61d..3d1616f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1,7 +1,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 4, because not enabled @@ -9,7 +9,7 @@ - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled - Skipping TS 3, because num TBFs 0 >= 0 -- Assign downlink TS=2 TFI=0 +[DL] Assign downlink TS=2 TFI=0 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 2 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -18,7 +18,7 @@ Modifying MS object, TLLI = 0x00002342, TA 220 -> 4 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 3, because need to reuse TS @@ -26,7 +26,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign uplink TS=2 TFI=0 USF=0 +[UL] Assign uplink TS=2 TFI=0 USF=0 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 2 Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) @@ -41,7 +41,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -49,7 +49,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -90,7 +90,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -98,7 +98,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=1 +[DL] Assign downlink TS=4 TFI=1 PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) @@ -129,7 +129,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -137,7 +137,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -178,7 +178,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -186,7 +186,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=1 +[DL] Assign downlink TS=4 TFI=1 PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) @@ -217,7 +217,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -225,7 +225,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -470,7 +470,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -478,7 +478,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -492,7 +492,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -500,7 +500,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=1 +[DL] Assign downlink TS=4 TFI=1 PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -533,7 +533,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -541,7 +541,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -558,7 +558,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -566,7 +566,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=1 +[DL] Assign downlink TS=4 TFI=1 PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -583,7 +583,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -591,7 +591,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=2 +[DL] Assign downlink TS=4 TFI=2 PDCH(TS 4, TRX 0): Attaching TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL), 3 TBFs, USFs = 00, TFIs = 00000007. TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -608,7 +608,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -616,7 +616,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=3 +[DL] Assign downlink TS=4 TFI=3 PDCH(TS 4, TRX 0): Attaching TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL), 4 TBFs, USFs = 00, TFIs = 0000000f. TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -633,7 +633,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -641,7 +641,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=4 +[DL] Assign downlink TS=4 TFI=4 PDCH(TS 4, TRX 0): Attaching TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL), 5 TBFs, USFs = 00, TFIs = 0000001f. TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -658,7 +658,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -666,7 +666,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=5 +[DL] Assign downlink TS=4 TFI=5 PDCH(TS 4, TRX 0): Attaching TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL), 6 TBFs, USFs = 00, TFIs = 0000003f. TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -683,7 +683,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -691,7 +691,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=6 +[DL] Assign downlink TS=4 TFI=6 PDCH(TS 4, TRX 0): Attaching TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL), 7 TBFs, USFs = 00, TFIs = 0000007f. TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -708,7 +708,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -716,7 +716,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=7 +[DL] Assign downlink TS=4 TFI=7 PDCH(TS 4, TRX 0): Attaching TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL), 8 TBFs, USFs = 00, TFIs = 000000ff. TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -733,7 +733,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -741,7 +741,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=8 +[DL] Assign downlink TS=4 TFI=8 PDCH(TS 4, TRX 0): Attaching TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL), 9 TBFs, USFs = 00, TFIs = 000001ff. TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -758,7 +758,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -766,7 +766,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=9 +[DL] Assign downlink TS=4 TFI=9 PDCH(TS 4, TRX 0): Attaching TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL), 10 TBFs, USFs = 00, TFIs = 000003ff. TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -783,7 +783,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -791,7 +791,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=10 +[DL] Assign downlink TS=4 TFI=10 PDCH(TS 4, TRX 0): Attaching TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL), 11 TBFs, USFs = 00, TFIs = 000007ff. TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -808,7 +808,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -816,7 +816,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=11 +[DL] Assign downlink TS=4 TFI=11 PDCH(TS 4, TRX 0): Attaching TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL), 12 TBFs, USFs = 00, TFIs = 00000fff. TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -833,7 +833,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -841,7 +841,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=12 +[DL] Assign downlink TS=4 TFI=12 PDCH(TS 4, TRX 0): Attaching TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL), 13 TBFs, USFs = 00, TFIs = 00001fff. TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -858,7 +858,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -866,7 +866,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=13 +[DL] Assign downlink TS=4 TFI=13 PDCH(TS 4, TRX 0): Attaching TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL), 14 TBFs, USFs = 00, TFIs = 00003fff. TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -883,7 +883,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -891,7 +891,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=14 +[DL] Assign downlink TS=4 TFI=14 PDCH(TS 4, TRX 0): Attaching TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL), 15 TBFs, USFs = 00, TFIs = 00007fff. TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -908,7 +908,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -916,7 +916,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=15 +[DL] Assign downlink TS=4 TFI=15 PDCH(TS 4, TRX 0): Attaching TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL), 16 TBFs, USFs = 00, TFIs = 0000ffff. TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -933,7 +933,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -941,7 +941,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=16 +[DL] Assign downlink TS=4 TFI=16 PDCH(TS 4, TRX 0): Attaching TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL), 17 TBFs, USFs = 00, TFIs = 0001ffff. TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -958,7 +958,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -966,7 +966,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=17 +[DL] Assign downlink TS=4 TFI=17 PDCH(TS 4, TRX 0): Attaching TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL), 18 TBFs, USFs = 00, TFIs = 0003ffff. TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -983,7 +983,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -991,7 +991,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=18 +[DL] Assign downlink TS=4 TFI=18 PDCH(TS 4, TRX 0): Attaching TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL), 19 TBFs, USFs = 00, TFIs = 0007ffff. TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1008,7 +1008,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1016,7 +1016,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=19 +[DL] Assign downlink TS=4 TFI=19 PDCH(TS 4, TRX 0): Attaching TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL), 20 TBFs, USFs = 00, TFIs = 000fffff. TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1033,7 +1033,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1041,7 +1041,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=20 +[DL] Assign downlink TS=4 TFI=20 PDCH(TS 4, TRX 0): Attaching TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL), 21 TBFs, USFs = 00, TFIs = 001fffff. TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1058,7 +1058,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1066,7 +1066,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=21 +[DL] Assign downlink TS=4 TFI=21 PDCH(TS 4, TRX 0): Attaching TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL), 22 TBFs, USFs = 00, TFIs = 003fffff. TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1083,7 +1083,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1091,7 +1091,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=22 +[DL] Assign downlink TS=4 TFI=22 PDCH(TS 4, TRX 0): Attaching TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL), 23 TBFs, USFs = 00, TFIs = 007fffff. TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1108,7 +1108,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1116,7 +1116,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=23 +[DL] Assign downlink TS=4 TFI=23 PDCH(TS 4, TRX 0): Attaching TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL), 24 TBFs, USFs = 00, TFIs = 00ffffff. TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1133,7 +1133,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1141,7 +1141,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=24 +[DL] Assign downlink TS=4 TFI=24 PDCH(TS 4, TRX 0): Attaching TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL), 25 TBFs, USFs = 00, TFIs = 01ffffff. TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1158,7 +1158,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1166,7 +1166,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=25 +[DL] Assign downlink TS=4 TFI=25 PDCH(TS 4, TRX 0): Attaching TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL), 26 TBFs, USFs = 00, TFIs = 03ffffff. TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1183,7 +1183,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1191,7 +1191,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=26 +[DL] Assign downlink TS=4 TFI=26 PDCH(TS 4, TRX 0): Attaching TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL), 27 TBFs, USFs = 00, TFIs = 07ffffff. TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1208,7 +1208,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1216,7 +1216,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=27 +[DL] Assign downlink TS=4 TFI=27 PDCH(TS 4, TRX 0): Attaching TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL), 28 TBFs, USFs = 00, TFIs = 0fffffff. TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1233,7 +1233,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1241,7 +1241,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=28 +[DL] Assign downlink TS=4 TFI=28 PDCH(TS 4, TRX 0): Attaching TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL), 29 TBFs, USFs = 00, TFIs = 1fffffff. TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1258,7 +1258,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1266,7 +1266,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=29 +[DL] Assign downlink TS=4 TFI=29 PDCH(TS 4, TRX 0): Attaching TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL), 30 TBFs, USFs = 00, TFIs = 3fffffff. TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1283,7 +1283,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1291,7 +1291,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=30 +[DL] Assign downlink TS=4 TFI=30 PDCH(TS 4, TRX 0): Attaching TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL), 31 TBFs, USFs = 00, TFIs = 7fffffff. TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1308,7 +1308,7 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1316,7 +1316,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=31 +[DL] Assign downlink TS=4 TFI=31 PDCH(TS 4, TRX 0): Attaching TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL), 32 TBFs, USFs = 00, TFIs = ffffffff. TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1333,15 +1333,15 @@ Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 -- Failed to find a usable TRX (TFI exhausted) +[DL] Slot Allocation (Algorithm A) for class 45 +[DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) No PDCH resource Destroying MS object, TLLI = 0x00000000 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1349,7 +1349,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -1372,7 +1372,7 @@ ********** DL-TBF ends here ********** ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Slot Allocation (Algorithm A) for class 45 +[DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1380,7 +1380,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) @@ -1430,7 +1430,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1438,7 +1438,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -1475,7 +1475,7 @@ Got MS: TLLI = 0xf1223344, TA = 7 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=0/0 -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1483,7 +1483,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -1510,7 +1510,7 @@ Allocating UL TBF: MS_CLASS=1/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1518,7 +1518,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -1556,7 +1556,7 @@ Got MS: TLLI = 0xf1223344, TA = 7 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1564,7 +1564,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -1592,7 +1592,7 @@ Allocating UL TBF: MS_CLASS=1/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1600,7 +1600,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -1637,7 +1637,7 @@ Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1645,7 +1645,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -1724,7 +1724,7 @@ Allocating UL TBF: MS_CLASS=1/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1732,7 +1732,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=1 USF=1 +[UL] Assign uplink TS=7 TFI=1 USF=1 PDCH(TS 7, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -1791,7 +1791,7 @@ Allocating UL TBF: MS_CLASS=1/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1799,7 +1799,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -1836,7 +1836,7 @@ Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1844,7 +1844,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -1886,7 +1886,7 @@ MS requests UL TBF in packet resource request of single block, so we provide one: ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1894,7 +1894,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) @@ -1918,7 +1918,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1926,7 +1926,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -1962,7 +1962,7 @@ Allocating UL TBF: MS_CLASS=1/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -1970,7 +1970,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -2007,7 +2007,7 @@ Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -2015,7 +2015,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -2044,7 +2044,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -2052,7 +2052,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -2111,7 +2111,7 @@ Allocating UL TBF: MS_CLASS=1/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -2119,7 +2119,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -2156,7 +2156,7 @@ Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -2164,7 +2164,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -2790,7 +2790,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 -Slot Allocation (Algorithm A) for class 1 +[DL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -2798,7 +2798,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=1 +[DL] Assign downlink TS=7 TFI=1 PDCH(TS 7, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 01, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) @@ -3046,8 +3046,8 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7) -Using 4 slots for DL +- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +[DL] algo B (suggested TRX: 0): using 4 slots - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7) - Assigning DL TS 2 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. @@ -3085,8 +3085,8 @@ - Skipping TS 7, because not enabled - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1 -- Selected DL slots: (TS=0)"..DDDD.."(TS=7) -Using 4 slots for DL +- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +[DL] algo B (suggested TRX: 0): using 4 slots - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7) - Assigning DL TS 2 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. @@ -3128,7 +3128,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3136,7 +3136,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) @@ -3177,7 +3177,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/1 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3185,7 +3185,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) @@ -3218,7 +3218,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3226,7 +3226,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) @@ -3397,7 +3397,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/1 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3405,7 +3405,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) @@ -3429,7 +3429,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3437,7 +3437,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -3735,7 +3735,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3743,7 +3743,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -3991,7 +3991,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -3999,7 +3999,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -4209,7 +4209,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -4217,7 +4217,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -4395,7 +4395,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -4403,7 +4403,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -4561,7 +4561,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -4569,7 +4569,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -4709,7 +4709,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -4717,7 +4717,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -4852,7 +4852,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -4860,7 +4860,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -4984,7 +4984,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -4992,7 +4992,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5116,7 +5116,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5124,7 +5124,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5171,7 +5171,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5179,7 +5179,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5226,7 +5226,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5234,7 +5234,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5281,7 +5281,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5289,7 +5289,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5352,7 +5352,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5360,7 +5360,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5423,7 +5423,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5431,7 +5431,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5494,7 +5494,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5502,7 +5502,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5565,7 +5565,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5573,7 +5573,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5627,7 +5627,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5635,7 +5635,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5689,7 +5689,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5697,7 +5697,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5751,7 +5751,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5759,7 +5759,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -5829,7 +5829,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5837,7 +5837,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) @@ -5897,7 +5897,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/1 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5905,7 +5905,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) @@ -5937,7 +5937,7 @@ - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7) Rx=4 Tx=3 Sum Rx+Tx=5, Tta=3 Ttb=1, Tra=2 Trb=1, Type=1 - Selected DL slots: (TS=0)"..ddDd.."(TS=7), single -Using single slot at TS 4 for DL +[DL] algo B (suggested TRX: 0): using single slot at TS 4 - Reserved DL/UL slots: (TS=0)"...DC..."(TS=7) - Assigning DL TS 4 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. @@ -5951,8 +5951,8 @@ PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. Searching for first unallocated TFI: TRX=0 Found TFI=0. -- Selected DL slots: (TS=0)"..DDDD.."(TS=7) -Using 4 slots for DL +- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi +[DL] algo B (suggested TRX: -1): using 4 slots - Assigning DL TS 2 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. - Assigning DL TS 3 @@ -5990,7 +5990,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -5998,7 +5998,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) @@ -6052,7 +6052,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/1 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6060,7 +6060,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) @@ -6084,7 +6084,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6092,7 +6092,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) @@ -6119,7 +6119,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6127,7 +6127,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6144,7 +6144,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6152,7 +6152,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=1 USF=1 +[UL] Assign uplink TS=7 TFI=1 USF=1 PDCH(TS 7, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6169,7 +6169,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6177,7 +6177,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=2 USF=2 +[UL] Assign uplink TS=7 TFI=2 USF=2 PDCH(TS 7, TRX 0): Attaching TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL), 3 TBFs, USFs = 07, TFIs = 00000007. TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6194,7 +6194,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6202,7 +6202,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=3 USF=3 +[UL] Assign uplink TS=7 TFI=3 USF=3 PDCH(TS 7, TRX 0): Attaching TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL), 4 TBFs, USFs = 0f, TFIs = 0000000f. TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6219,7 +6219,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6227,7 +6227,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=4 USF=4 +[UL] Assign uplink TS=7 TFI=4 USF=4 PDCH(TS 7, TRX 0): Attaching TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL), 5 TBFs, USFs = 1f, TFIs = 0000001f. TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6244,7 +6244,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6252,7 +6252,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=5 USF=5 +[UL] Assign uplink TS=7 TFI=5 USF=5 PDCH(TS 7, TRX 0): Attaching TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL), 6 TBFs, USFs = 3f, TFIs = 0000003f. TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6269,7 +6269,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6277,7 +6277,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=6 USF=6 +[UL] Assign uplink TS=7 TFI=6 USF=6 PDCH(TS 7, TRX 0): Attaching TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL), 7 TBFs, USFs = 7f, TFIs = 0000007f. TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -6294,7 +6294,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6303,7 +6303,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because no USF available -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available No PDCH resource sending Immediate Assignment Uplink (AGCH) reject Destroying MS object, TLLI = 0x00000000 MS requests UL TBF on RACH, so we provide one: ra=0x70 Fn=2654167 qta=31 is_11bit=0: @@ -6327,7 +6327,7 @@ Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 1 +[UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6335,7 +6335,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) @@ -6945,7 +6945,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/1 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS -Slot Allocation (Algorithm A) for class 0 +[DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -6953,7 +6953,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign downlink TS=7 TFI=0 +[DL] Assign downlink TS=7 TFI=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) @@ -7718,7 +7718,7 @@ Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 -Slot Allocation (Algorithm A) for class 11 +[DL] Slot Allocation (Algorithm A) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7726,7 +7726,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because not enabled -- Assign downlink TS=4 TFI=0 +[DL] Assign downlink TS=4 TFI=0 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 4 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) @@ -7740,7 +7740,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7748,7 +7748,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=0 USF=0 +[UL] Assign uplink TS=7 TFI=0 USF=0 PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7765,7 +7765,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7773,7 +7773,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=1 USF=1 +[UL] Assign uplink TS=7 TFI=1 USF=1 PDCH(TS 7, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7790,7 +7790,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7798,7 +7798,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=2 USF=2 +[UL] Assign uplink TS=7 TFI=2 USF=2 PDCH(TS 7, TRX 0): Attaching TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL), 3 TBFs, USFs = 07, TFIs = 00000007. TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7815,7 +7815,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7823,7 +7823,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=3 USF=3 +[UL] Assign uplink TS=7 TFI=3 USF=3 PDCH(TS 7, TRX 0): Attaching TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL), 4 TBFs, USFs = 0f, TFIs = 0000000f. TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7840,7 +7840,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7848,7 +7848,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=4 USF=4 +[UL] Assign uplink TS=7 TFI=4 USF=4 PDCH(TS 7, TRX 0): Attaching TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL), 5 TBFs, USFs = 1f, TFIs = 0000001f. TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7865,7 +7865,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7873,7 +7873,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=5 USF=5 +[UL] Assign uplink TS=7 TFI=5 USF=5 PDCH(TS 7, TRX 0): Attaching TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL), 6 TBFs, USFs = 3f, TFIs = 0000003f. TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7890,7 +7890,7 @@ ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 -Slot Allocation (Algorithm A) for class 0 +[UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7898,7 +7898,7 @@ - Skipping TS 4, because not enabled - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled -- Assign uplink TS=7 TFI=6 USF=6 +[UL] Assign uplink TS=7 TFI=6 USF=6 PDCH(TS 7, TRX 0): Attaching TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL), 7 TBFs, USFs = 7f, TFIs = 0000007f. TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) @@ -7921,7 +7921,7 @@ Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 -Slot Allocation (Algorithm A) for class 11 +[UL] Slot Allocation (Algorithm A) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled - Skipping TS 2, because not enabled @@ -7930,7 +7930,7 @@ - Skipping TS 5, because not enabled - Skipping TS 6, because not enabled - Skipping TS 7, because no USF available -- Failed to allocate a TS, no USF available +[UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available No PDCH resource Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed -- To view, visit https://gerrit.osmocom.org/3895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5 Gerrit-Change-Number: 3895 Gerrit-PatchSet: 29 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 08:59:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 08:59:47 +0000 Subject: Change in osmo-msc[master]: Log protocol for which transaction is allocated In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13420 ) Change subject: Log protocol for which transaction is allocated ...................................................................... Patch Set 2: fine with me, but liek with all msc patches: They should be based on neels' branch and not on master! -- To view, visit https://gerrit.osmocom.org/13420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If4a5f3ecaec568b3f8d5a57d864184d7af2b95cc Gerrit-Change-Number: 13420 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Harald Welte Gerrit-Comment-Date: Thu, 28 Mar 2019 08:59:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:00:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 09:00:18 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 09:00:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:00:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 09:00:20 +0000 Subject: Change in libosmocore[master]: BSSGP: use variable for NSEI In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13204 ) Change subject: BSSGP: use variable for NSEI ...................................................................... BSSGP: use variable for NSEI Handle NSEI the same way as BVCI is handled: assign it to variable instead of repetitive calls to msgb_nsei() - this simplifies log update in follow-up patches and makes code slightly easier to read. Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 --- M src/gb/gprs_bssgp.c 1 file changed, 27 insertions(+), 26 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 4a4bab3..550757f 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -307,7 +307,7 @@ static int bssgp_rx_bvc_block(struct msgb *msg, struct tlv_parsed *tp) { struct osmo_bssgp_prim nmp; - uint16_t bvci; + uint16_t bvci, nsei = msgb_nsei(msg); struct bssgp_bvc_ctx *ptp_ctx; bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); @@ -315,13 +315,13 @@ /* 8.3.2: Signalling BVC shall never be blocked */ LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u/BVCI=%u " "received block for signalling BVC!?!\n", - msgb_nsei(msg), msgb_bvci(msg)); + nsei, msgb_bvci(msg)); return 0; } LOGP(DBSSGP, LOGL_INFO, "BSSGP Rx BVCI=%u BVC-BLOCK\n", bvci); - ptp_ctx = btsctx_by_bvci_nsei(bvci, msgb_nsei(msg)); + ptp_ctx = btsctx_by_bvci_nsei(bvci, nsei); if (!ptp_ctx) return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); @@ -330,7 +330,7 @@ /* Send NM_BVC_BLOCK.ind to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = bvci; nmp.tp = tp; osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_BVC_BLOCK, @@ -338,14 +338,14 @@ bssgp_prim_cb(&nmp.oph, NULL); /* We always acknowledge the BLOCKing */ - return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK_ACK, msgb_nsei(msg), + return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK_ACK, nsei, bvci, msgb_bvci(msg)); }; static int bssgp_rx_bvc_unblock(struct msgb *msg, struct tlv_parsed *tp) { struct osmo_bssgp_prim nmp; - uint16_t bvci; + uint16_t bvci, nsei = msgb_nsei(msg); struct bssgp_bvc_ctx *ptp_ctx; bvci = tlvp_val16be(tp, BSSGP_IE_BVCI); @@ -353,13 +353,13 @@ /* 8.3.2: Signalling BVC shall never be blocked */ LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u/BVCI=%u " "received unblock for signalling BVC!?!\n", - msgb_nsei(msg), msgb_bvci(msg)); + nsei, msgb_bvci(msg)); return 0; } DEBUGP(DBSSGP, "BSSGP BVCI=%u Rx BVC-UNBLOCK\n", bvci); - ptp_ctx = btsctx_by_bvci_nsei(bvci, msgb_nsei(msg)); + ptp_ctx = btsctx_by_bvci_nsei(bvci, nsei); if (!ptp_ctx) return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); @@ -367,7 +367,7 @@ /* Send NM_BVC_UNBLOCK.ind to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = bvci; nmp.tp = tp; osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_BVC_UNBLOCK, @@ -375,7 +375,7 @@ bssgp_prim_cb(&nmp.oph, NULL); /* We always acknowledge the unBLOCKing */ - return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_UNBLOCK_ACK, msgb_nsei(msg), + return bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_UNBLOCK_ACK, nsei, bvci, msgb_bvci(msg)); }; @@ -419,7 +419,7 @@ struct osmo_bssgp_prim gbp; struct gprs_ra_id raid; uint32_t tlli; - uint16_t ns_bvci = msgb_bvci(msg); + uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg); int rc; if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || @@ -438,7 +438,7 @@ /* Inform GMM about the SUSPEND request */ memset(&gbp, 0, sizeof(gbp)); - gbp.nsei = msgb_nsei(msg); + gbp.nsei = nsei; gbp.bvci = ns_bvci; gbp.tlli = tlli; gbp.ra_id = &raid; @@ -447,9 +447,9 @@ rc = bssgp_prim_cb(&gbp.oph, NULL); if (rc < 0) - return bssgp_tx_suspend_nack(msgb_nsei(msg), tlli, &raid, NULL); + return bssgp_tx_suspend_nack(nsei, tlli, &raid, NULL); - bssgp_tx_suspend_ack(msgb_nsei(msg), tlli, &raid, 0); + bssgp_tx_suspend_ack(nsei, tlli, &raid, 0); return 0; } @@ -460,7 +460,7 @@ struct gprs_ra_id raid; uint32_t tlli; uint8_t suspend_ref; - uint16_t ns_bvci = msgb_bvci(msg); + uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg); int rc; if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || @@ -480,7 +480,7 @@ /* Inform GMM about the RESUME request */ memset(&gbp, 0, sizeof(gbp)); - gbp.nsei = msgb_nsei(msg); + gbp.nsei = nsei; gbp.bvci = ns_bvci; gbp.tlli = tlli; gbp.ra_id = &raid; @@ -490,10 +490,10 @@ rc = bssgp_prim_cb(&gbp.oph, NULL); if (rc < 0) - return bssgp_tx_resume_nack(msgb_nsei(msg), tlli, &raid, + return bssgp_tx_resume_nack(nsei, tlli, &raid, NULL); - bssgp_tx_resume_ack(msgb_nsei(msg), tlli, &raid); + bssgp_tx_resume_ack(nsei, tlli, &raid); return 0; } @@ -503,6 +503,7 @@ { struct osmo_bssgp_prim nmp; uint32_t tlli = 0; + uint16_t nsei = msgb_nsei(msg); if (!TLVP_PRESENT(tp, BSSGP_IE_TLLI) || !TLVP_PRESENT(tp, BSSGP_IE_LLC_FRAMES_DISCARDED) || @@ -522,7 +523,7 @@ /* send NM_LLC_DISCARDED to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = ctx->bvci; nmp.tlli = tlli; nmp.tp = tp; @@ -535,6 +536,7 @@ int bssgp_rx_status(struct msgb *msg, struct tlv_parsed *tp, uint16_t bvci, struct bssgp_bvc_ctx *bctx) { + uint16_t nsei = msgb_nsei(msg); struct osmo_bssgp_prim nmp; enum gprs_bssgp_cause cause; @@ -562,7 +564,7 @@ /* send NM_STATUS to NM */ memset(&nmp, 0, sizeof(nmp)); - nmp.nsei = msgb_nsei(msg); + nmp.nsei = nsei; nmp.bvci = bvci; nmp.tp = tp; osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_STATUS, @@ -1034,6 +1036,7 @@ struct bssgp_bvc_ctx *bctx; uint8_t pdu_type = bgph->pdu_type; uint16_t ns_bvci = msgb_bvci(msg); + uint16_t nsei = msgb_nsei(msg); uint16_t bvci = ns_bvci; int data_len; int rc = 0; @@ -1061,7 +1064,7 @@ bvci = tlvp_val16be(&tp, BSSGP_IE_BVCI); /* look-up or create the BTS context for this BVC */ - bctx = btsctx_by_bvci_nsei(bvci, msgb_nsei(msg)); + bctx = btsctx_by_bvci_nsei(bvci, nsei); if (bctx) { log_set_context(LOG_CTX_GB_BVC, bctx); @@ -1080,8 +1083,7 @@ * registered if a BVCI is given. */ if (!bctx && bvci != BVCI_SIGNALLING && pdu_type != BSSGP_PDUT_BVC_RESET) { - LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU " - "type %s for unknown BVCI\n", msgb_nsei(msg), bvci, + LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU type %s for unknown BVCI\n", nsei, bvci, bssgp_pdu_str(pdu_type)); return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); } @@ -1094,9 +1096,8 @@ rc = bssgp_rx_ptp(msg, &tp, bctx); else LOGP(DBSSGP, LOGL_NOTICE, - "NSEI=%u/BVCI=%u Cannot handle PDU type %s for " - "unknown BVCI, NS BVCI %u\n", - msgb_nsei(msg), bvci, bssgp_pdu_str(pdu_type), ns_bvci); + "NSEI=%u/BVCI=%u Cannot handle PDU type %s for unknown BVCI, NS BVCI %u\n", nsei, bvci, + bssgp_pdu_str(pdu_type), ns_bvci); return rc; } -- To view, visit https://gerrit.osmocom.org/13204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I919a717ca22646849d6ec7f62c677c536db0ed31 Gerrit-Change-Number: 13204 Gerrit-PatchSet: 5 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Andr? Boddenberg Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:00:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 09:00:59 +0000 Subject: Change in libosmocore[master]: ipa: Fix ipa_ccm_id_resp_parse on big endian systems In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13432 ) Change subject: ipa: Fix ipa_ccm_id_resp_parse on big endian systems ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iedc46ab53a4f76bbd98741c065fad3d9042a34a4 Gerrit-Change-Number: 13432 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Thu, 28 Mar 2019 09:00:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:12:12 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 09:12:12 +0000 Subject: Change in osmo-ci[master]: Also build oc2g support for osmo-pcu In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13368 ) Change subject: Also build oc2g support for osmo-pcu ...................................................................... Also build oc2g support for osmo-pcu Needs gerrit change I7cd89a549c9463e81893ca7dd925299f728e4453 in osmo-pcu Fixes: SYS#4524 Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 --- M jobs/gerrit-verifications.yml 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index a2f68f5..c28a2fa 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -192,11 +192,11 @@ - osmo-pcu: a1_name: FIRMWARE_VERSION - a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] + a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15, oc2g] a2_name: with_vty a2: !!python/tuple [True, False] a3_name: with_dsp - a3: !!python/tuple [sysmo, lc15, none] + a3: !!python/tuple [sysmo, lc15, oc2g, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] sequential: true @@ -205,6 +205,7 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || + (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") - osmo-python-tests: -- To view, visit https://gerrit.osmocom.org/13368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477 Gerrit-Change-Number: 13368 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-CC: Andr? Boddenberg -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:12:29 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 09:12:29 +0000 Subject: Change in osmo-ci[master]: Avoid '/' in jenkins matrix labels In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13434 ) Change subject: Avoid '/' in jenkins matrix labels ...................................................................... Avoid '/' in jenkins matrix labels The script already deals with this for osmo-bts by using the version_prefix variable Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f --- M jobs/gerrit-verifications.yml 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index c28a2fa..6128dc5 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -192,7 +192,7 @@ - osmo-pcu: a1_name: FIRMWARE_VERSION - a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15, oc2g] + a1: !!python/tuple [master, v2017.01, litecell15, oc2g] a2_name: with_vty a2: !!python/tuple [True, False] a3_name: with_dsp @@ -204,7 +204,7 @@ (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") -- To view, visit https://gerrit.osmocom.org/13434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f Gerrit-Change-Number: 13434 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:19:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 09:19:34 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Patch Set 2: (1 comment) Thanks for figuring this out and for creating the patches! https://gerrit.osmocom.org/#/c/13433/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13433/2//COMMIT_MSG at 23 PS2, Line 23: could actually be replaced with ipa_ccm_id_get_parse after this commit : is merged. This part only makes sense in the related libosmocore.git commit. In this openbsc.git patch it gets replaced already. -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 09:19:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:22:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 09:22:40 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13320 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 3 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: Max Gerrit-Comment-Date: Thu, 28 Mar 2019 09:22:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:32:13 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 09:32:13 +0000 Subject: Change in osmo-ci[master]: build-old-tags: known error: osmo-bts-1.0.0 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13430 ) Change subject: build-old-tags: known error: osmo-bts-1.0.0 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 Gerrit-Change-Number: 13430 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 09:32:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:32:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 09:32:14 +0000 Subject: Change in osmo-ci[master]: build-old-tags: known error: osmo-bts-1.0.0 In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13430 ) Change subject: build-old-tags: known error: osmo-bts-1.0.0 ...................................................................... build-old-tags: known error: osmo-bts-1.0.0 Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 542785d..548ac3d 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -56,6 +56,9 @@ echo "1.2.1" # depends on libosmo-legacy-mgcp echo "1.4.0" # testsuite ;; + osmo-bts) + echo "1.0.0" # missing gsm0808.h include, fixed in 1.0.1 + ;; osmo-mgw) echo "1.3.0" # testsuite echo "1.4.0" # testsuite -- To view, visit https://gerrit.osmocom.org/13430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7 Gerrit-Change-Number: 13430 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:53:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 09:53:51 +0000 Subject: Change in libosmocore[master]: make use of OTC_GLOBAL when allocating library-internal contexts In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13338 to look at the new patch set (#2). Change subject: make use of OTC_GLOBAL when allocating library-internal contexts ...................................................................... make use of OTC_GLOBAL when allocating library-internal contexts As libosmcore is now managing the global talloc contexts, there's no point in having APIs where the user tells the library about which talloc contexts to use for a given sub-system. Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 --- M include/osmocom/core/signal.h M src/counter.c M src/ctrl/control_vty.c M src/gb/gprs_bssgp.c M src/gsm/lapd_core.c M src/logging.c M src/signal.c M src/stats.c M src/vty/telnet_interface.c M tests/ctrl/ctrl_test.c 10 files changed, 42 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/13338/2 -- To view, visit https://gerrit.osmocom.org/13338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 Gerrit-Change-Number: 13338 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 09:53:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 09:53:52 +0000 Subject: Change in libosmocore[master]: make all library-internal static buffers thread-local Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13436 Change subject: make all library-internal static buffers thread-local ...................................................................... make all library-internal static buffers thread-local We have a number of library-internal static global buffers which are mainly used for various stringification functions. This worked as all of the related Osmocom programs were strictly single-threaded. Let's make those buffers at least thread-local. This way every thread gets their own set of buffers, and it's safe for multiple threads to execute the same functiosn once. They're of course still not re-entrant. If you need re-entrancy, you will need to use the _c() or _buf() suffix versionf of those functions and work with your own (stack or heap) buffers. Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 --- M src/fsm.c M src/gb/gprs_ns.c M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/rsl.c M src/msgb.c M src/sim/core.c M src/socket.c M src/utils.c 13 files changed, 31 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/13436/1 diff --git a/src/fsm.c b/src/fsm.c index d86ff4b..351e490 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -412,7 +412,7 @@ */ const char *osmo_fsm_event_name(struct osmo_fsm *fsm, uint32_t event) { - static char buf[32]; + static __thread char buf[32]; if (!fsm->event_names) { snprintf(buf, sizeof(buf), "%"PRIu32, event); return buf; @@ -442,7 +442,7 @@ */ const char *osmo_fsm_state_name(struct osmo_fsm *fsm, uint32_t state) { - static char buf[32]; + static __thread char buf[32]; if (state >= fsm->num_states) { snprintf(buf, sizeof(buf), "unknown %"PRIu32, state); return buf; diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index d72003e..e4141ee 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -1548,7 +1548,7 @@ const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc) { - static char buf[80]; + static __thread char buf[80]; return gprs_ns_ll_str_buf(buf, sizeof(buf), nsvc); } diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index a4c0e41..3fb8f0f 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -939,7 +939,7 @@ const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh) { - static char foh_buf[128]; + static __thread char foh_buf[128]; return abis_nm_dump_foh_buf(foh_buf, sizeof(foh_buf), foh); } diff --git a/src/gsm/apn.c b/src/gsm/apn.c index 88b45a4..a7074ea 100644 --- a/src/gsm/apn.c +++ b/src/gsm/apn.c @@ -31,7 +31,7 @@ #define APN_OI_GPRS_FMT "mnc%03u.mcc%03u.gprs" #define APN_GPRS_FMT "%s.mnc%03u.mcc%03u.gprs" -static char apn_strbuf[APN_MAXLEN+1]; +static __thread char apn_strbuf[APN_MAXLEN+1]; char *osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni) { diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 99cf188..c86496d 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -592,7 +592,7 @@ return ret; } -static char dbuf[256]; +static __thread char dbuf[256]; /*! Dump LCLS parameters (GCR excluded) into string for printing. * \param[out] buf caller-allocated output string buffer @@ -1799,7 +1799,7 @@ */ const char *gsm0808_cell_id_name(const struct gsm0808_cell_id *cid) { - static char buf[64]; + static __thread char buf[64]; return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } @@ -1809,7 +1809,7 @@ */ const char *gsm0808_cell_id_name2(const struct gsm0808_cell_id *cid) { - static char buf[64]; + static __thread char buf[64]; return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } @@ -1866,7 +1866,7 @@ * See also gsm0808_cell_id_list_name_buf(). */ const char *gsm0808_cell_id_list_name(const struct gsm0808_cell_id_list2 *cil) { - static char buf[1024]; + static __thread char buf[1024]; gsm0808_cell_id_list_name_buf(buf, sizeof(buf), cil); return buf; } @@ -1893,7 +1893,7 @@ const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct) { - static char buf[128]; + static __thread char buf[128]; return gsm0808_channel_type_name_buf(buf, sizeof(buf), ct); } diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index 6a8e509..20ee1ca 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -107,7 +107,7 @@ */ const char *osmo_mcc_name(uint16_t mcc) { - static char buf[8]; + static __thread char buf[8]; return osmo_mcc_name_buf(buf, sizeof(buf), mcc); } @@ -158,7 +158,7 @@ */ const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits) { - static char buf[8]; + static __thread char buf[8]; return osmo_mnc_name_buf(buf, sizeof(buf), mnc, mnc_3_digits); } @@ -182,7 +182,7 @@ */ const char *osmo_plmn_name(const struct osmo_plmn_id *plmn) { - static char buf[16]; + static __thread char buf[16]; return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } @@ -193,7 +193,7 @@ */ const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn) { - static char buf[16]; + static __thread char buf[16]; return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } @@ -230,7 +230,7 @@ */ const char *osmo_lai_name(const struct osmo_location_area_id *lai) { - static char buf[32]; + static __thread char buf[32]; return osmo_lai_name_buf(buf, sizeof(buf), lai); } @@ -265,7 +265,7 @@ */ const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi) { - static char buf[32]; + static __thread char buf[32]; return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } @@ -276,7 +276,7 @@ */ const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi) { - static char buf[32]; + static __thread char buf[32]; return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } @@ -320,7 +320,7 @@ */ const char *osmo_gummei_name(const struct osmo_gummei *gummei) { - static char buf[32]; + static __thread char buf[32]; return osmo_gummei_name_buf(buf, sizeof(buf), gummei); } diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index c2c19cf..c97337b 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -203,7 +203,7 @@ */ const char *osmo_rai_name(const struct gprs_ra_id *rai) { - static char buf[32]; + static __thread char buf[32]; return osmo_rai_name_buf(buf, sizeof(buf), rai); } @@ -502,7 +502,7 @@ */ const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len) { - static char mi_name[10 + GSM48_MI_SIZE + 1]; + static __thread char mi_name[10 + GSM48_MI_SIZE + 1]; return osmo_mi_name_buf(mi_name, sizeof(mi_name), mi, mi_len); } @@ -1150,7 +1150,7 @@ */ const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type) { - static char namebuf[64]; + static __thread char namebuf[64]; return gsm48_pdisc_msgtype_name_buf(namebuf, sizeof(namebuf), pdisc, msg_type); } @@ -1303,7 +1303,7 @@ */ const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm) { - static char buf[128]; + static __thread char buf[128]; return osmo_gsm48_classmark_a5_name_buf(buf, sizeof(buf), cm); } diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 6619177..0bfbe99 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -896,7 +896,7 @@ char *osmo_dump_gsmtime(const struct gsm_time *tm) { - static char buf[64]; + static __thread char buf[64]; return osmo_dump_gsmtime_buf(buf, sizeof(buf), tm); } diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 1777479..a74e5c7 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -254,7 +254,7 @@ */ const char *rsl_chan_nr_str(uint8_t chan_nr) { - static char str[20]; + static __thread char str[20]; return rsl_chan_nr_str_buf(str, sizeof(str), chan_nr); } diff --git a/src/msgb.c b/src/msgb.c index 650ed38..c299037 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -511,7 +511,7 @@ */ const char *msgb_hexdump(const struct msgb *msg) { - static char buf[4100]; + static __thread char buf[4100]; return msgb_hexdump_buf(buf, sizeof(buf), msg); } diff --git a/src/sim/core.c b/src/sim/core.c index 63b3000..b93633c 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -300,8 +300,7 @@ char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in) { - /* FIXME: do we want to mark this as __thread? */ - static char sw_print_buf[256]; + static __thread char sw_print_buf[256]; return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); } diff --git a/src/socket.c b/src/socket.c index c817e72..6101c09 100644 --- a/src/socket.c +++ b/src/socket.c @@ -822,7 +822,7 @@ */ const char *osmo_sock_get_name2(int fd) { - static char str[OSMO_SOCK_NAME_MAXLEN]; + static __thread char str[OSMO_SOCK_NAME_MAXLEN]; osmo_sock_get_name_buf(str, sizeof(str), fd); return str; } diff --git a/src/utils.c b/src/utils.c index 7007cc7..05604ee 100644 --- a/src/utils.c +++ b/src/utils.c @@ -41,7 +41,7 @@ * * \file utils.c */ -static char namebuf[255]; +static __thread char namebuf[255]; /*! get human-readable string for given value * \param[in] vs Array of value_string tuples @@ -219,7 +219,7 @@ return nibblepos >> 1; } -static char hexd_buff[4096]; +static __thread char hexd_buff[4096]; static const char hex_chars[] = "0123456789abcdef"; /*! Convert binary sequence to hexadecimal ASCII string. @@ -831,7 +831,7 @@ */ const char *osmo_str_tolower(const char *src) { - static char buf[128]; + static __thread char buf[128]; osmo_str_tolower_buf(buf, sizeof(buf), src); return buf; } @@ -889,7 +889,7 @@ */ const char *osmo_str_toupper(const char *src) { - static char buf[128]; + static __thread char buf[128]; osmo_str_toupper_buf(buf, sizeof(buf), src); return buf; } -- To view, visit https://gerrit.osmocom.org/13436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 Gerrit-Change-Number: 13436 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:07:57 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 10:07:57 +0000 Subject: Change in libosmocore[master]: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13389 ) Change subject: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960 Gerrit-Change-Number: 13389 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 28 Mar 2019 10:07:57 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:07:59 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 10:07:59 +0000 Subject: Change in libosmocore[master]: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/13389 ) Change subject: src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() ...................................................................... src/gsmtap_util.c: fix possible memleak in gsmtap_source_init() In gsmtap_source_init() we dynamically allocate a gsmtap_inst struct, but don't free it if the subsequent call to osmo_fd_register() fails. Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960 --- M src/gsmtap_util.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Vadim Yanitskiy: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index fd0bcc9..2fb18a4 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -440,6 +440,7 @@ rc = osmo_fd_register(>i->wq.bfd); if (rc < 0) { + talloc_free(gti); close(fd); return NULL; } -- To view, visit https://gerrit.osmocom.org/13389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960 Gerrit-Change-Number: 13389 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:09:12 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 10:09:12 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_iface.c: fix copy-paste error In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/13370 ) Change subject: libmsc/sgs_iface.c: fix copy-paste error ...................................................................... libmsc/sgs_iface.c: fix copy-paste error Change-Id: I57b773659302ad4c92b6e670c6156e90a50189ba --- M src/libmsc/sgs_iface.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 4f262a5..f2e74cb 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -51,7 +51,7 @@ /* A pointer to the GSM network we work with. By the current paradigm, * there can only be one gsm_network per MSC. The pointer is set once - * when calling a_init() */ + * when calling sgs_iface_init() */ static struct gsm_network *gsm_network = NULL; static struct osmo_fsm sgs_vlr_reset_fsm; -- To view, visit https://gerrit.osmocom.org/13370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I57b773659302ad4c92b6e670c6156e90a50189ba Gerrit-Change-Number: 13370 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:09:13 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 10:09:13 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/13371 ) Change subject: libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load ...................................................................... libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load Change-Id: I80cd2e5645d6e391080376250c0853a3f3f821ef --- M src/libmsc/sgs_iface.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index f2e74cb..95b68f8 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -1258,8 +1258,12 @@ return NULL; g_sgs = sgs; - osmo_fsm_register(&sgs_vlr_reset_fsm); sgs_server_open(sgs); return sgs; } + +static __attribute__((constructor)) void on_dso_load(void) +{ + OSMO_ASSERT(osmo_fsm_register(&sgs_vlr_reset_fsm) == 0); +} -- To view, visit https://gerrit.osmocom.org/13371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I80cd2e5645d6e391080376250c0853a3f3f821ef Gerrit-Change-Number: 13371 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:09:14 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 10:09:14 +0000 Subject: Change in osmo-msc[master]: libmsc/sgs_vty.c: don't print SGs socket error twice In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/13372 ) Change subject: libmsc/sgs_vty.c: don't print SGs socket error twice ...................................................................... libmsc/sgs_vty.c: don't print SGs socket error twice Because sgs_server_open() already does this. Change-Id: Ifea308645c7829691dbcf53e4f59841090119006 --- M src/libmsc/sgs_vty.c 1 file changed, 2 insertions(+), 6 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/sgs_vty.c b/src/libmsc/sgs_vty.c index 8c94301..8ba5a79 100644 --- a/src/libmsc/sgs_vty.c +++ b/src/libmsc/sgs_vty.c @@ -57,10 +57,8 @@ osmo_stream_srv_link_set_addr(sgs->srv_link, sgs->cfg.local_addr); rc = sgs_server_open(sgs); - if (rc < 0) { - vty_out(vty, "%% SGs socket cannot be opened: %s%s", strerror(errno), VTY_NEWLINE); + if (rc < 0) return CMD_WARNING; - } return CMD_SUCCESS; } @@ -77,10 +75,8 @@ osmo_stream_srv_link_set_port(sgs->srv_link, sgs->cfg.local_port); rc = sgs_server_open(sgs); - if (rc < 0) { - vty_out(vty, "%% SGs socket cannot be opened: %s%s", strerror(errno), VTY_NEWLINE); + if (rc < 0) return CMD_WARNING; - } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/13372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifea308645c7829691dbcf53e4f59841090119006 Gerrit-Change-Number: 13372 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:27:41 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 10:27:41 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#6) to the change originally created by Max. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Add vty option to globally enable LCLS It's disabled by default and will be used in follow-up patches. Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 --- M include/osmocom/msc/vlr.h M src/libmsc/msc_vty.c M tests/test_nodes.vty 3 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/21/13421/6 -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-CC: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 10:32:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 10:32:47 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 6: (2 comments) Review points addressed. I'm wondering if we should add some kind of warning, that the option has no effect yet. I don't see a follow up patch, that will actually use this option, so it seems like it will stay in this state for some time. https://gerrit.osmocom.org/#/c/13421/5/include/osmocom/msc/vlr.h File include/osmocom/msc/vlr.h: https://gerrit.osmocom.org/#/c/13421/5/include/osmocom/msc/vlr.h at 277 PS5, Line 277: enable_lcls; > Cosmetic: other symbols here are using imperative style, so "enable_lcls" would be better. Done https://gerrit.osmocom.org/#/c/13421/5/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/13421/5/src/libmsc/msc_vty.c at 408 PS5, Line 408: lcls enable > Are you (you anyone else) going to add more LCLS related parameters? If yes, it would make sense to [?] Done. I went with this instead of '"lcls-mode (disable|enable-all)"' proposed by Harald, because "lcls enable" seems more flexible to me. -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: osmith Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 28 Mar 2019 10:32:47 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:06:15 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 12:06:15 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 12:06:15 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:07:27 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 12:07:27 +0000 Subject: Change in osmo-msc[master]: Add vty option to globally enable LCLS In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13421 ) Change subject: Add vty option to globally enable LCLS ...................................................................... Patch Set 6: > I'm wondering if we should add some kind of warning, that the option has no effect yet. [...] I would rather avoid merging this patch at all until the corresponding code is introduced. For now, we can mark it as WIP. -- To view, visit https://gerrit.osmocom.org/13421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb587e6ae47cff71f5bf2e2d22c1da86cd7e1762 Gerrit-Change-Number: 13421 Gerrit-PatchSet: 6 Gerrit-Owner: Max Gerrit-Assignee: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 12:07:27 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:09:33 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:09:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: Ensure TC_selftest passed if no error is encountered Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13437 Change subject: mgw: Ensure TC_selftest passed if no error is encountered ...................................................................... mgw: Ensure TC_selftest passed if no error is encountered Change-Id: Ie1601d57ac5bf9ddf99cbbd1cdb91160dc47c84d --- M mgw/MGCP_Test.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/37/13437/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 467ebfc..8cb2404 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -151,6 +151,9 @@ log(c_crcx510_ret); log(dec_MgcpResponse(c_crcx510_ret)); log(dec_MgcpMessage(c_crcx510_ret)); + + /* We didn't encounter any DTE, so pass the test */ + setverdict(pass); } /* CRCX test ideas: -- To view, visit https://gerrit.osmocom.org/13437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie1601d57ac5bf9ddf99cbbd1cdb91160dc47c84d Gerrit-Change-Number: 13437 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:22:30 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 12:22:30 +0000 Subject: Change in libosmocore[master]: ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13431 ) Change subject: ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6efc852dfc041192f554e41a58290a0f63298021 Gerrit-Change-Number: 13431 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 12:22:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:22:37 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 12:22:37 +0000 Subject: Change in libosmocore[master]: ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13431 ) Change subject: ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse ...................................................................... ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse ipa_ccm_idtag_parse_off is broken, and can only be used with len_offset=1 on ID Request messages, otherwise won't work correctly. Modify ipa_ccm_idtag_parse to at least parse those correctly, and document the limitations. Those two functions are already deprecated and only used in openbsc by 3 callers: * ipa_ccm_idtag_parse in ussd_read_cb(): Broken, that function can only work for Requests and it's used to parse a Response. * ipa_ccm_idtag_parse_off in forward_sccp_to_msc (NAT): Broken, it can only be used to parse Requests and it's used to parse a Response. Furthermore, len_offset=2 is passed which makes no sense and most probably it fails always, or can even make the program crash. * ipa_ccm_idtag_parse_off in (answer_challenge): This one is fine and could actually be replaced with ipa_ccm_id_get_parse after this commit is merged. Change-Id: I6efc852dfc041192f554e41a58290a0f63298021 --- M src/gsm/ipa.c 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index d423c26..8e64a1e 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -98,11 +98,21 @@ return idtag_names[tag]; } +/*! Parse the payload part of an IPA CCM ID GET, return \ref tlv_parsed format. */ int ipa_ccm_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len) { - return ipa_ccm_idtag_parse_off(dec, buf, len, 0); + return ipa_ccm_idtag_parse_off(dec, buf, len, 1); } +/*! Parse the payload part of an IPA CCM ID GET, return \ref tlv_parsed format. + * WARNING: This function can only parse correctly IPA CCM ID GET/REQUEST + * messages, and only when len_offset is passed value of 1. + * \param[out] dec Caller-provided/allocated output structure for parsed payload + * \param[in] buf Buffer containing the payload (excluding 1 byte msg_type) of the message + * \param[in] len Length of \a buf in octets + * \param[in] len_offset Offset from end of len field to start of value (ommiting tag). Must be 1! + * \returns 0 on success; negative on error + */ int ipa_ccm_idtag_parse_off(struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset) { uint8_t t_len; -- To view, visit https://gerrit.osmocom.org/13431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6efc852dfc041192f554e41a58290a0f63298021 Gerrit-Change-Number: 13431 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:22:37 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 12:22:37 +0000 Subject: Change in libosmocore[master]: ipa: Fix ipa_ccm_id_resp_parse on big endian systems In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13432 ) Change subject: ipa: Fix ipa_ccm_id_resp_parse on big endian systems ...................................................................... ipa: Fix ipa_ccm_id_resp_parse on big endian systems Change-Id: Iedc46ab53a4f76bbd98741c065fad3d9042a34a4 --- M src/gsm/ipa.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index 8e64a1e..1563d0a 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -204,8 +204,8 @@ while (len >= 3) { len -= 3; - t_len = *cur++ << 8; - t_len += *cur++; + t_len = osmo_load16be(cur); + cur += 2; t_tag = *cur++; if (t_len > len + 1) { -- To view, visit https://gerrit.osmocom.org/13432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iedc46ab53a4f76bbd98741c065fad3d9042a34a4 Gerrit-Change-Number: 13432 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:01 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:01 +0000 Subject: Change in docker-playground[master]: Add first osmo-cn-latest image Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13438 Change subject: Add first osmo-cn-latest image ...................................................................... Add first osmo-cn-latest image Core network in a container. Starts all the services, configuration needs to be tweaked. Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f --- A osmo-cn-latest/.release A osmo-cn-latest/Dockerfile A osmo-cn-latest/Makefile A osmo-cn-latest/Release.key A osmo-cn-latest/osmo-ggsn.cfg A osmo-cn-latest/osmo-hlr.cfg A osmo-cn-latest/osmo-mgw.cfg A osmo-cn-latest/osmo-msc.cfg A osmo-cn-latest/osmo-sgsn.cfg A osmo-cn-latest/osmo-stp.cfg A osmo-cn-latest/run.sh A osmo-cn-latest/runit/ggsn-run A osmo-cn-latest/runit/hlr-run A osmo-cn-latest/runit/mgw-run A osmo-cn-latest/runit/msc-run A osmo-cn-latest/runit/sgsn-run A osmo-cn-latest/runit/stp-run 17 files changed, 343 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/38/13438/1 diff --git a/osmo-cn-latest/.release b/osmo-cn-latest/.release new file mode 100644 index 0000000..334aa04 --- /dev/null +++ b/osmo-cn-latest/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=osmo-cn-latest-0.0.0 diff --git a/osmo-cn-latest/Dockerfile b/osmo-cn-latest/Dockerfile new file mode 100644 index 0000000..3b49c29 --- /dev/null +++ b/osmo-cn-latest/Dockerfile @@ -0,0 +1,45 @@ +FROM debian:stretch + +MAINTAINER Daniel Willmann + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gnupg + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-msc osmo-hlr osmo-sgsn osmo-ggsn osmo-mgw osmo-stp \ + runit telnet iptables && \ + apt-get clean + +WORKDIR /tmp + +VOLUME /data +COPY osmo-stp.cfg /data/osmo-stp.cfg +COPY osmo-msc.cfg /data/osmo-msc.cfg +COPY osmo-hlr.cfg /data/osmo-hlr.cfg +COPY osmo-mgw.cfg /data/osmo-mgw.cfg +COPY osmo-sgsn.cfg /data/osmo-sgsn.cfg +COPY osmo-ggsn.cfg /data/osmo-ggsn.cfg + +COPY runit/stp-run /etc/service/osmo-stp/run +COPY runit/msc-run /etc/service/osmo-msc/run +COPY runit/hlr-run /etc/service/osmo-hlr/run +COPY runit/mgw-run /etc/service/osmo-mgw/run +COPY runit/sgsn-run /etc/service/osmo-sgsn/run +COPY runit/ggsn-run /etc/service/osmo-ggsn/run + +WORKDIR /data +CMD ["/sbin/runit"] + + +EXPOSE 23000/udp diff --git a/osmo-cn-latest/Makefile b/osmo-cn-latest/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-cn-latest/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-cn-latest/Release.key b/osmo-cn-latest/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-cn-latest/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-cn-latest/osmo-ggsn.cfg b/osmo-cn-latest/osmo-ggsn.cfg new file mode 100644 index 0000000..899f261 --- /dev/null +++ b/osmo-cn-latest/osmo-ggsn.cfg @@ -0,0 +1,51 @@ +! +! OpenGGSN (0.94.1-adac) configuration saved from vty +!! +! +log file /data/osmo-ggsn.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging level ip info + logging level tun info + logging level ggsn info + logging level sgsn notice + logging level icmp6 debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp info + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +ggsn ggsn0 + gtp state-dir /tmp + gtp bind-ip 127.0.0.2 + apn internet + gtpu-mode tun + tun-device tun4 + type-support v4 + ip prefix dynamic 10.0.0.1/24 + ip dns 0 9.9.9.9 + ip ifconfig 10.0.0.0/24 + no shutdown + default-apn internet + no shutdown ggsn diff --git a/osmo-cn-latest/osmo-hlr.cfg b/osmo-cn-latest/osmo-hlr.cfg new file mode 100644 index 0000000..77454ed --- /dev/null +++ b/osmo-cn-latest/osmo-hlr.cfg @@ -0,0 +1,19 @@ +! +! OsmoHLR example configuration +! +log file /data/osmo-hlr.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level all debug + logging level linp error +! +line vty + bind 0.0.0.0 +ctrl + bind 0.0.0.0 +hlr + gsup + bind ip 127.0.0.1 diff --git a/osmo-cn-latest/osmo-mgw.cfg b/osmo-cn-latest/osmo-mgw.cfg new file mode 100644 index 0000000..c206914 --- /dev/null +++ b/osmo-cn-latest/osmo-mgw.cfg @@ -0,0 +1,53 @@ +! +! OsmoMGW (1.2.0.17-52e3) configuration saved from vty +!! +! +log file /data/osmo-mgw.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything + logging level rtp notice + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp debug +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +mgcp + bind ip 127.0.0.1 + bind port 2427 + rtp port-range 4002 16000 + rtp bind-ip 192.168.42.10 + rtp ip-probing + rtp ip-dscp 184 + no rtp keep-alive + no rtcp-omit + no rtp-patch + sdp audio-payload number 98 + sdp audio-payload name GSM + sdp audio-payload send-ptime + sdp audio-payload send-name + loop 0 + number endpoints 31 + allow-transcoding + osmux off diff --git a/osmo-cn-latest/osmo-msc.cfg b/osmo-cn-latest/osmo-msc.cfg new file mode 100644 index 0000000..8924d1e --- /dev/null +++ b/osmo-cn-latest/osmo-msc.cfg @@ -0,0 +1,30 @@ +! +! OsmoMSC configuration saved from vty +! +log file /data/osmo-msc.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + asp asp-clnt-OsmoMSC-A-Iu 2905 2904 m3ua + remote-ip 192.168.42.10 +network + network country code 901 + mobile network code 1 + short name OsmoMSC + long name OsmoMSC + encryption a5 0 + rrlp mode none + mm info 1 +msc + mgw remote-ip 127.0.0.1 + assign-tmsi + auth-tuple-max-reuse-count 3 + auth-tuple-reuse-on-error 1 diff --git a/osmo-cn-latest/osmo-sgsn.cfg b/osmo-cn-latest/osmo-sgsn.cfg new file mode 100644 index 0000000..ef18604 --- /dev/null +++ b/osmo-cn-latest/osmo-sgsn.cfg @@ -0,0 +1,34 @@ +! +! Osmocom SGSN (0.9.0.474-0ede2) configuration saved from vty +!! +! +log file /data/osmo-sgsn.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything +! +line vty + no login + bind 0.0.0.0 +! +sgsn + gtp local-ip 127.0.0.1 + ggsn 0 remote-ip 127.0.0.2 + ggsn 0 gtp-version 1 + auth-policy remote + gsup remote-ip 127.0.0.1 + gsup remote-port 4222 +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + encapsulation udp local-ip 0.0.0.0 + encapsulation udp local-port 23000 + encapsulation framerelay-gre enabled 0 +bssgp diff --git a/osmo-cn-latest/osmo-stp.cfg b/osmo-cn-latest/osmo-stp.cfg new file mode 100644 index 0000000..96524de --- /dev/null +++ b/osmo-cn-latest/osmo-stp.cfg @@ -0,0 +1,36 @@ +! +! osmo-stp (0.0.6.3.179-b248) configuration saved from vty +!! +! +log file /data/osmo-stp.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging level all everything + logging level lglobal notice + logging level llapd notice + logging level linp debug + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + listen m3ua 2905 + accept-asp-connections dynamic-permitted + local-ip 192.168.42.10 diff --git a/osmo-cn-latest/run.sh b/osmo-cn-latest/run.sh new file mode 100755 index 0000000..d7bba95 --- /dev/null +++ b/osmo-cn-latest/run.sh @@ -0,0 +1,33 @@ +#! /bin/sh + +. ../jenkins-common.sh + +docker_images_require \ + "osmo-cn-latest" + +docker network create --subnet 192.168.42.0/24 $NET_NAME + +mkdir $VOL_BASE_DIR/osmo-cn +cp osmo-stp.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-msc.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-hlr.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-mgw.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-sgsn.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-ggsn.cfg $VOL_BASE_DIR/osmo-cn/ +cp hlr.db $VOL_BASE_DIR/osmo-cn/ + +echo Starting Osmocom core services +docker run --rm \ + --cap-add=NET_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --network $NET_NAME --ip 192.168.42.10 \ + -p 0.0.0.0:23000:23000/udp \ + -v $VOL_BASE_DIR/osmo-cn:/data \ + --name osmo-cn \ + $REPO_USER/osmo-cn-latest + +echo Stopping containers + +docker container kill osmo-cn + +network_remove diff --git a/osmo-cn-latest/runit/ggsn-run b/osmo-cn-latest/runit/ggsn-run new file mode 100755 index 0000000..db050f9 --- /dev/null +++ b/osmo-cn-latest/runit/ggsn-run @@ -0,0 +1,4 @@ +#!/bin/sh + +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +exec /usr/bin/osmo-ggsn -c /data/osmo-ggsn.cfg diff --git a/osmo-cn-latest/runit/hlr-run b/osmo-cn-latest/runit/hlr-run new file mode 100755 index 0000000..c093d13 --- /dev/null +++ b/osmo-cn-latest/runit/hlr-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-hlr -c /data/osmo-hlr.cfg -l /data/hlr.db diff --git a/osmo-cn-latest/runit/mgw-run b/osmo-cn-latest/runit/mgw-run new file mode 100755 index 0000000..fbbcbc8 --- /dev/null +++ b/osmo-cn-latest/runit/mgw-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-mgw -c /data/osmo-mgw.cfg diff --git a/osmo-cn-latest/runit/msc-run b/osmo-cn-latest/runit/msc-run new file mode 100755 index 0000000..368aefa --- /dev/null +++ b/osmo-cn-latest/runit/msc-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-msc -c /data/osmo-msc.cfg diff --git a/osmo-cn-latest/runit/sgsn-run b/osmo-cn-latest/runit/sgsn-run new file mode 100755 index 0000000..698024b --- /dev/null +++ b/osmo-cn-latest/runit/sgsn-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-sgsn -c /data/osmo-sgsn.cfg diff --git a/osmo-cn-latest/runit/stp-run b/osmo-cn-latest/runit/stp-run new file mode 100755 index 0000000..c52c739 --- /dev/null +++ b/osmo-cn-latest/runit/stp-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-stp -c /data/osmo-stp.cfg -- To view, visit https://gerrit.osmocom.org/13438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f Gerrit-Change-Number: 13438 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:02 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:02 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add script to populate HLR Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13439 Change subject: osmo-cn-latest: Add script to populate HLR ...................................................................... osmo-cn-latest: Add script to populate HLR Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003 --- A osmo-cn-latest/create_hlr.py 1 file changed, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/39/13439/1 diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/create_hlr.py new file mode 100755 index 0000000..4285ea6 --- /dev/null +++ b/osmo-cn-latest/create_hlr.py @@ -0,0 +1,147 @@ +#!/usr/bin/env python + +import csv +import sys +import sqlite3 + +# 3G +def create_hlr_3g(db): + conn = sqlite3.connect(db) + c = conn.execute( + """CREATE TABLE IF NOT EXISTS subscriber ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + imsi VARCHAR(15) UNIQUE NOT NULL, + msisdn VARCHAR(15) UNIQUE, + imeisv VARCHAR, + vlr_number VARCHAR(15), + hlr_number VARCHAR(15), + sgsn_number VARCHAR(15), + sgsn_address VARCHAR, + ggsn_number VARCHAR(15), + gmlc_number VARCHAR(15), + smsc_number VARCHAR(15), + periodic_lu_tmr INTEGER, + periodic_rau_tau_tmr INTEGER, + nam_cs BOOLEAN NOT NULL DEFAULT 1, + nam_ps BOOLEAN NOT NULL DEFAULT 1, + lmsi INTEGER, + ms_purged_cs BOOLEAN NOT NULL DEFAULT 0, + ms_purged_ps BOOLEAN NOT NULL DEFAULT 0 + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS subscriber_apn ( + subscriber_id INTEGER, + apn VARCHAR(256) NOT NULL + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS subscriber_multi_msisdn ( + subscriber_id INTEGER, + msisdn VARCHAR(15) NOT NULL + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS auc_2g ( + subscriber_id INTEGER PRIMARY KEY, + algo_id_2g INTEGER NOT NULL, + ki VARCHAR(32) NOT NULL + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS auc_3g ( + subscriber_id INTEGER PRIMARY KEY, + algo_id_3g INTEGER NOT NULL, + k VARCHAR(32) NOT NULL, + op VARCHAR(32), + opc VARCHAR(32), + sqn INTEGER NOT NULL DEFAULT 0, + ind_bitlen INTEGER NOT NULL DEFAULT 5 + );""" + ) + c.close() + c = conn.execute( + """CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi);""" + ) + conn.commit() + conn.close() + +def write_hlr_3g(db, data): + conn = sqlite3.connect(db) + c = conn.execute( + 'INSERT INTO subscriber ' + + '(imsi, msisdn) ' + + 'VALUES ' + + '(?,?);', + [ + data['imsi'], + data['extension'] + ], + ) + sub_id= c.lastrowid + c.close() + c = conn.execute( + 'INSERT INTO auc_2g ' + + '(subscriber_id, algo_id_2g, ki)' + + 'VALUES ' + + '(?,?,?);', + [ + sub_id, + 1, + data['ki'] + ], + ) + c.close() + c = conn.execute( + 'INSERT INTO auc_3g ' + + '(subscriber_id, algo_id_3g, k, opc, sqn)' + + 'VALUES ' + + '(?, ?, ?, ?, ?);', + [ + sub_id, + 5, + data['ki'], + data['opc'], + 0 + ], + ) + conn.commit() + conn.close() + +def main(infilename): + csvfields = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'extension', 'smsp', 'ki', 'opc', 'adm1'] + + create_hlr_3g("hlr.db") + inf = open(infilename, "r") + outf = open("simcards.csv", "w") + + cr = csv.DictReader(inf) + cw = csv.DictWriter(outf, csvfields) + + cw.writeheader() + for row in cr: + data = {} + data['name'] = "Subscriber " + row['iccid'][-6:-1] + data['iccid'] = row['iccid'] + data['mcc'] = row['imsi'][0:3] + data['mnc'] = row['imsi'][3:5] + data['imsi'] = row['imsi'] + data['ki'] = row['ki'] + data['opc'] = row['opc'] + data['extension'] = row['iccid'][-6:-1] + data['smsp'] = '00495555' + if "adm1" in row: + data['adm1'] = row['adm1'] + cw.writerow(data) + write_hlr_3g("hlr.db", data) + inf.close() + outf.close() + + +if __name__ == '__main__': + main(sys.argv[1]) + -- To view, visit https://gerrit.osmocom.org/13439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003 Gerrit-Change-Number: 13439 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:02 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:02 +0000 Subject: Change in docker-playground[master]: osmo-ci-latest: Add options to change mcc/mnc for SIM card data Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13440 Change subject: osmo-ci-latest: Add options to change mcc/mnc for SIM card data ...................................................................... osmo-ci-latest: Add options to change mcc/mnc for SIM card data Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9 --- M osmo-cn-latest/create_hlr.py 1 file changed, 24 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/40/13440/1 diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/create_hlr.py index 4285ea6..b754af7 100755 --- a/osmo-cn-latest/create_hlr.py +++ b/osmo-cn-latest/create_hlr.py @@ -3,8 +3,17 @@ import csv import sys import sqlite3 +from optparse import OptionParser -# 3G +def parse_options(): + parser = OptionParser() + + parser.add_option("-c", "--mcc", dest="mcc", help="Mobile Country Code") + parser.add_option("-n", "--mnc", dest="mnc", help="Mobile Network Code") + (options, args) = parser.parse_args() + + return options, args + def create_hlr_3g(db): conn = sqlite3.connect(db) c = conn.execute( @@ -112,7 +121,10 @@ conn.commit() conn.close() -def main(infilename): +def main(): + options, args = parse_options() + + infilename = args[0] csvfields = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'extension', 'smsp', 'ki', 'opc', 'adm1'] create_hlr_3g("hlr.db") @@ -124,12 +136,18 @@ cw.writeheader() for row in cr: + imsi = row['imsi'] + if options.mcc: + imsi = options.mcc + imsi[3:] + if options.mnc: + imsi = imsi[0:3] + options.mnc + imsi[5:] + data = {} data['name'] = "Subscriber " + row['iccid'][-6:-1] data['iccid'] = row['iccid'] - data['mcc'] = row['imsi'][0:3] - data['mnc'] = row['imsi'][3:5] - data['imsi'] = row['imsi'] + data['imsi'] = imsi + data['mcc'] = data['imsi'][0:3] + data['mnc'] = data['imsi'][3:5] data['ki'] = row['ki'] data['opc'] = row['opc'] data['extension'] = row['iccid'][-6:-1] @@ -143,5 +161,5 @@ if __name__ == '__main__': - main(sys.argv[1]) + main() -- To view, visit https://gerrit.osmocom.org/13440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9 Gerrit-Change-Number: 13440 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:03 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:03 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add README with instructions for provisioning Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13441 Change subject: osmo-cn-latest: Add README with instructions for provisioning ...................................................................... osmo-cn-latest: Add README with instructions for provisioning Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7 --- A osmo-cn-latest/README 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/41/13441/1 diff --git a/osmo-cn-latest/README b/osmo-cn-latest/README new file mode 100644 index 0000000..293dee9 --- /dev/null +++ b/osmo-cn-latest/README @@ -0,0 +1,11 @@ +You need a csv with the simcard data. + +To create hlr.db and change the mcc/mnc run: +./create_hlr.py --mcc 901 --mnc 23 source.csv + +This will create the hlr.db and a simcards.csv where the first digits of the +IMSI will be changed to match the MCC/MNC. In order to reprogram the SIM cards +run pySim-prog like this: + +./pySim-prog.py -p 0 -t sysmoUSIM-SJS1 --source=csv --read-csv=simcards.csv --read-iccid + -- To view, visit https://gerrit.osmocom.org/13441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7 Gerrit-Change-Number: 13441 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:04 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:04 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Use osmo-config-merge to configure the MSC Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13442 Change subject: osmo-cn-latest: Use osmo-config-merge to configure the MSC ...................................................................... osmo-cn-latest: Use osmo-config-merge to configure the MSC Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca --- M osmo-cn-latest/create_hlr.py R osmo-cn-latest/osmo-msc.cfg.base 2 files changed, 22 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/42/13442/1 diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/create_hlr.py index b754af7..0a625a9 100755 --- a/osmo-cn-latest/create_hlr.py +++ b/osmo-cn-latest/create_hlr.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import os, sys import csv import sys import sqlite3 @@ -127,7 +128,22 @@ infilename = args[0] csvfields = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'extension', 'smsp', 'ki', 'opc', 'adm1'] - create_hlr_3g("hlr.db") + try: + create_hlr_3g("hlr.db") + except sqlite3.OperationalError: + print("hlr.db already exists, please remove!\n"); + sys.exit(1) + + msc = open("osmo-msc.cfg.patch", "w") + msc.write("network\n") + msc.write(" network country code %s\n" %(options.mcc)) + msc.write(" mobile network code %s\n" %(options.mnc)) + msc.write(" short name OsmoMSC-%s-%s\n" %(options.mcc, options.mnc)) + msc.write(" long name OsmoMSC-%s-%s\n" %(options.mcc, options.mnc)) + msc.close() + + os.system("osmo-config-merge osmo-msc.cfg.base osmo-msc.cfg.patch > osmo-msc.cfg") + inf = open(infilename, "r") outf = open("simcards.csv", "w") diff --git a/osmo-cn-latest/osmo-msc.cfg b/osmo-cn-latest/osmo-msc.cfg.base similarity index 77% rename from osmo-cn-latest/osmo-msc.cfg rename to osmo-cn-latest/osmo-msc.cfg.base index 8924d1e..042d847 100644 --- a/osmo-cn-latest/osmo-msc.cfg +++ b/osmo-cn-latest/osmo-msc.cfg.base @@ -2,11 +2,11 @@ ! OsmoMSC configuration saved from vty ! log file /data/osmo-msc.log - logging filter all 1 - logging color 1 - logging print category 1 - logging timestamp 0 - logging level all everything + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything ! line vty no login -- To view, visit https://gerrit.osmocom.org/13442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca Gerrit-Change-Number: 13442 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:04 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:04 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Rename the script to provision the hlr Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13443 Change subject: osmo-cn-latest: Rename the script to provision the hlr ...................................................................... osmo-cn-latest: Rename the script to provision the hlr Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5 --- R osmo-cn-latest/provision-hlr.py 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/43/13443/1 diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/provision-hlr.py similarity index 100% rename from osmo-cn-latest/create_hlr.py rename to osmo-cn-latest/provision-hlr.py -- To view, visit https://gerrit.osmocom.org/13443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5 Gerrit-Change-Number: 13443 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:04 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:04 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Clarify steps for provisioning Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13444 Change subject: osmo-cn-latest: Clarify steps for provisioning ...................................................................... osmo-cn-latest: Clarify steps for provisioning Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb --- M osmo-cn-latest/README 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/44/13444/1 diff --git a/osmo-cn-latest/README b/osmo-cn-latest/README index 293dee9..7e60cec 100644 --- a/osmo-cn-latest/README +++ b/osmo-cn-latest/README @@ -1,11 +1,13 @@ -You need a csv with the simcard data. +You need a csv with the simcard data and osmo-config-merge needs to be in your +path. To create hlr.db and change the mcc/mnc run: -./create_hlr.py --mcc 901 --mnc 23 source.csv +./provision_hlr.py --mcc 901 --mnc 23 source.csv This will create the hlr.db and a simcards.csv where the first digits of the -IMSI will be changed to match the MCC/MNC. In order to reprogram the SIM cards -run pySim-prog like this: +IMSI will be changed to match the MCC/MNC. In order to reprogram the IMSIs of +the SIM cards run pySim-prog: ./pySim-prog.py -p 0 -t sysmoUSIM-SJS1 --source=csv --read-csv=simcards.csv --read-iccid +This is only needed if the mcc/mnc options are used. -- To view, visit https://gerrit.osmocom.org/13444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb Gerrit-Change-Number: 13444 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:04 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:04 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add default osmo-msc.cfg Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13445 Change subject: osmo-cn-latest: Add default osmo-msc.cfg ...................................................................... osmo-cn-latest: Add default osmo-msc.cfg Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6 --- A osmo-cn-latest/osmo-msc.cfg 1 file changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/45/13445/1 diff --git a/osmo-cn-latest/osmo-msc.cfg b/osmo-cn-latest/osmo-msc.cfg new file mode 100644 index 0000000..3015850 --- /dev/null +++ b/osmo-cn-latest/osmo-msc.cfg @@ -0,0 +1,30 @@ +! +! OsmoMSC configuration saved from vty +! +log file /data/osmo-msc.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + asp asp-clnt-OsmoMSC-A-Iu 2905 2904 m3ua + remote-ip 192.168.42.10 +network + network country code 901 + mobile network code 99 + short name UNCONFIGURED + long name UNCONFIGURED + encryption a5 0 + rrlp mode none + mm info 1 +msc + mgw remote-ip 127.0.0.1 + assign-tmsi + auth-tuple-max-reuse-count 3 + auth-tuple-reuse-on-error 1 -- To view, visit https://gerrit.osmocom.org/13445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6 Gerrit-Change-Number: 13445 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:05 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:24:05 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add config snippets for static CS7 configuration Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13446 Change subject: osmo-cn-latest: Add config snippets for static CS7 configuration ...................................................................... osmo-cn-latest: Add config snippets for static CS7 configuration Change-Id: Ib19e870d208acefc1f2b2694752a35ee6505338f --- A osmo-cn-latest/osmo-msc.cfg.cs7-static A osmo-cn-latest/osmo-stp.cfg.cs7-static 2 files changed, 55 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/46/13446/1 diff --git a/osmo-cn-latest/osmo-msc.cfg.cs7-static b/osmo-cn-latest/osmo-msc.cfg.cs7-static new file mode 100644 index 0000000..726022d --- /dev/null +++ b/osmo-cn-latest/osmo-msc.cfg.cs7-static @@ -0,0 +1,7 @@ +cs7 instance 0 + point-code 0.23.1 + asp asp-clnt-OsmoMSC-A-Iu 2905 2904 m3ua + remote-ip 192.168.42.10 + as as-clnt-OsmoMSC-A-Iu m3ua + asp asp-clnt-OsmoMSC-A-Iu + routing-key 1 0.23.1 diff --git a/osmo-cn-latest/osmo-stp.cfg.cs7-static b/osmo-cn-latest/osmo-stp.cfg.cs7-static new file mode 100644 index 0000000..a8b4f21 --- /dev/null +++ b/osmo-cn-latest/osmo-stp.cfg.cs7-static @@ -0,0 +1,48 @@ +! +! osmo-stp (0.0.6.3.179-b248) configuration saved from vty +!! +! +log file /data/osmo-stp.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging level all everything + logging level lglobal notice + logging level llapd notice + logging level linp debug + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + asp asp-core 2904 2905 m3ua + remote-ip 192.168.42.10 + asp asp-bss 2904 2905 m3ua + remote-ip 192.168.42.1 + as as-core m3ua + asp asp-core + routing-key 1 0.23.1 + as as-bss m3ua + asp asp-bss + routing-key 2 0.23.3 + route-table system + update route 0.23.1 0.23.1 linkset as-core + update route 0.23.3 0.23.3 linkset as-bss + listen m3ua 2905 + local-ip 192.168.42.10 +end -- To view, visit https://gerrit.osmocom.org/13446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib19e870d208acefc1f2b2694752a35ee6505338f Gerrit-Change-Number: 13446 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:24:08 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 12:24:08 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Patch Set 2: > looks good to me. However, we should have at least some very basic > bsc-nat tests in operation (Daniel?) before merging a change like > this. I could manually test with the VTY NAT tests that it's working better than it used to. I saw parsing working correctly on those paths which used to fail. I think it's fine merging right now. -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 12:24:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:31:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Thu, 28 Mar 2019 12:31:58 +0000 Subject: Change in libosmocore[master]: osmo_escape_str_buf: Always copy, don't return input string pointer Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13447 Change subject: osmo_escape_str_buf: Always copy, don't return input string pointer ...................................................................... osmo_escape_str_buf: Always copy, don't return input string pointer osmo_escape_str_buf() used to have the somewhat odd semantics that if no escaping was needed, it would return the original pointe without making any copy to the output buffer. While this seems like a elegant optimization, it is a very strange behavior and it works differently than all of our other *_buf() functions. Let's unify the API and turn osmo_escape_str_buf() into a strlcpy() if no escaping is needed. Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 --- M include/osmocom/core/utils.h M src/utils.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 4 files changed, 10 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/13447/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 16159d3..e3728cd 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -137,7 +137,7 @@ bool osmo_separated_identifiers_valid(const char *str, const char *sep_chars); const char *osmo_escape_str(const char *str, int len); -const char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize); +char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize); const char *osmo_quote_str(const char *str, int in_len); const char *osmo_quote_str_buf(const char *str, int in_len, char *buf, size_t bufsize); diff --git a/src/utils.c b/src/utils.c index 2d5bcb0..019e733 100644 --- a/src/utils.c +++ b/src/utils.c @@ -538,14 +538,14 @@ return osmo_separated_identifiers_valid(str, NULL); } -/*! Return the string with all non-printable characters escaped. +/*! Return the string with all non-printable characters escapeda, in user-supplied buffer. * \param[in] str A string that may contain any characters. * \param[in] len Pass -1 to print until nul char, or >= 0 to force a length. * \param[inout] buf string buffer to write escaped characters to. * \param[in] bufsize size of \a buf. - * \returns buf containing an escaped representation, possibly truncated, or str itself. + * \returns buf containing an escaped representation, possibly truncated. */ -const char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize) +char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize) { int in_pos = 0; int next_unprintable = 0; @@ -567,9 +567,10 @@ && str[next_unprintable] != '\\'; next_unprintable++); - if (next_unprintable == in_len - && in_pos == 0) - return str; + if (next_unprintable == in_len && in_pos == 0) { + osmo_strlcpy(buf, str, bufsize); + return buf; + } while (in_pos < next_unprintable && out_pos < out_len) out[out_pos++] = str[in_pos++]; @@ -633,25 +634,13 @@ */ const char *osmo_quote_str_buf(const char *str, int in_len, char *buf, size_t bufsize) { - const char *res; int l; if (!str) return "NULL"; if (bufsize < 3) return ""; buf[0] = '"'; - res = osmo_escape_str_buf(str, in_len, buf + 1, bufsize - 2); - /* if osmo_escape_str_buf() returned the str itself, we need to copy it to buf to be able to - * quote it. */ - if (res == str) { - /* max_len = bufsize - two quotes - nul term */ - int max_len = bufsize - 2 - 1; - if (in_len >= 0) - max_len = OSMO_MIN(in_len, max_len); - /* It is not allowed to pass unterminated strings into osmo_strlcpy() :/ */ - strncpy(buf + 1, str, max_len); - buf[1 + max_len] = '\0'; - } + osmo_escape_str_buf(str, in_len, buf + 1, bufsize - 2); l = strlen(buf); buf[l] = '"'; buf[l+1] = '\0'; /* both osmo_escape_str_buf() and max_len above ensure room for '\0' */ diff --git a/tests/utils/utils_test.c b/tests/utils/utils_test.c index d592fe0..711d6e1 100644 --- a/tests/utils/utils_test.c +++ b/tests/utils/utils_test.c @@ -545,7 +545,7 @@ printf("- passthru:\n"); res = osmo_escape_str(printable, -1); - if (res != printable) + if (strcmp(res, printable)) printf("NOT passed through! \"%s\"\n", res); else printf("passed through unchanged \"%s\"\n", res); @@ -560,14 +560,6 @@ memset(out_buf, 0x7f, sizeof(out_buf)); printf("\"%s\"\n", osmo_escape_str_buf((const char *)in_buf, sizeof(in_buf), out_buf, 10)); OSMO_ASSERT(out_buf[10] == 0x7f); - - printf("- passthrough without truncation when no escaping needed:\n"); - memset(in_buf, 'x', sizeof(in_buf)); - in_buf[19] = 'E'; - in_buf[20] = '\0'; - memset(out_buf, 0x7f, sizeof(out_buf)); - printf("\"%s\"\n", osmo_escape_str_buf((const char *)in_buf, -1, out_buf, 10)); - OSMO_ASSERT(out_buf[0] == 0x7f); } static void str_quote_test(void) diff --git a/tests/utils/utils_test.ok b/tests/utils/utils_test.ok index 1215ddd..8fce9f1 100644 --- a/tests/utils/utils_test.ok +++ b/tests/utils/utils_test.ok @@ -232,8 +232,6 @@ "" - truncation when too long: "\axxxxxxE" -- passthrough without truncation when no escaping needed: -"xxxxxxxxxxxxxxxxxxxE" Testing string quoting - all chars from 0 to 255 in batches of 16: -- To view, visit https://gerrit.osmocom.org/13447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 Gerrit-Change-Number: 13447 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:38:25 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 12:38:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HLR_Tests.ttcn: suspend some compilation warnings Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13448 Change subject: HLR_Tests.ttcn: suspend some compilation warnings ...................................................................... HLR_Tests.ttcn: suspend some compilation warnings In the most use cases of f_SS_expect() we are not interested in GSUP_PDU returned by this function. Calling it without storing the returned value causes TTCN-3 compiler to complain: warning: The value returned by function `@HLR_Tests.f_SS_expect' is not used Let's make use of previously unused variable 'res', and save the returned GSUP_PDU to make the TTCN-3 compiler happy. Change-Id: Ifda42aa18af8076013b436364513296b2b008731 --- M hlr/HLR_Tests.ttcn 1 file changed, 34 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/13448/1 diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index e32fa68..da6ad7c 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -783,8 +783,9 @@ ussd_string := "*#200#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_FACILITY_RETURN_ERROR(1, 18)); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_FACILITY_RETURN_ERROR(1, 18)); } testcase TC_mo_ussd_unknown() runs on test_CT { var HlrSubscriberList sl; @@ -809,8 +810,9 @@ ussd_string := "*100#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_FACILITY_RETURN_ERROR(1, 34)); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_FACILITY_RETURN_ERROR(1, 34)); } testcase TC_mo_ussd_euse_disc() runs on test_CT { var HlrSubscriberList sl; @@ -837,8 +839,10 @@ GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); resp_str := "Your IMSI is " & hex2str(g_pars.sub.imsi); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit(resp_str))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit(resp_str))); } testcase TC_mo_ussd_iuse_imsi() runs on test_CT { var HlrSubscriberList sl; @@ -865,8 +869,10 @@ GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); resp_str := "Your extension is " & hex2str(g_pars.sub.msisdn); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit(resp_str))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit(resp_str))); } testcase TC_mo_ussd_iuse_msisdn() runs on test_CT { var HlrSubscriberList sl; @@ -893,8 +899,10 @@ ussd_string := "*100#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit("*100#"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("*100#"))); } testcase TC_mo_ussd_euse() runs on test_CT { var HlrSubscriberList sl; @@ -925,8 +933,10 @@ GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); /* expect echo response from EUSE */ - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_CONTINUE, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit("*100#"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_CONTINUE, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("*100#"))); /* Simulate CONTINUE from MS/MSC */ ss := f_USSD_FACILITY_IE_INVOKE(op_code := SS_OP_CODE_PROCESS_USS_REQ, @@ -935,9 +945,10 @@ OSMO_GSUP_SESSION_STATE_CONTINUE, ss))); /* expect echo response from EUSE */ - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, - f_encGSM7bit("mahlzeit"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("mahlzeit"))); } testcase TC_mo_ussd_euse_continue() runs on test_CT { var HlrSubscriberList sl; @@ -969,8 +980,10 @@ ussd_string := "*999#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit("*999#"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("*999#"))); } testcase TC_mo_ussd_euse_defaultroute() runs on test_CT { var HlrSubscriberList sl; @@ -1004,6 +1017,7 @@ */ private function f_TC_mo_sss_reject() runs on HLR_ConnHdlr { var SS_FacilityInformation ss_req; + var GSUP_PDU res; /* Prepare '*#21#' SS request */ ss_req := valueof(ts_SS_FACILITY_INVOKE( @@ -1019,9 +1033,9 @@ enc_SS_FacilityInformation(ss_req)))); /* Expect ReturnError with FACILITY_NOT_SUPPORTED */ - f_SS_expect(g_pars.sub.imsi, - g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_FACILITY_RETURN_ERROR(0, 21)); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_FACILITY_RETURN_ERROR(0, 21)); } testcase TC_mo_sss_reject() runs on test_CT { var HLR_ConnHdlrPars pars; -- To view, visit https://gerrit.osmocom.org/13448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifda42aa18af8076013b436364513296b2b008731 Gerrit-Change-Number: 13448 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:38:59 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 12:38:59 +0000 Subject: Change in osmo-ci[master]: ttcn3: Order tests by time triggered Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13449 Change subject: ttcn3: Order tests by time triggered ...................................................................... ttcn3: Order tests by time triggered We had some load issues with many things running at once on jenkins. This will at least make it easier from having colliding ttcn3 jobs. I also changed ttcn3-sip-test to run at 7:30 instead of 7:00 where ttcn3-bts-test runs. Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 --- M jobs/ttcn3-testsuites.yml 1 file changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/49/13449/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 0558144..e3e6d5c 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -10,33 +10,33 @@ - "{job-name}" # Folders from docker-playground.git job-name: - # nightly + # nightly - order by time - nplab-m3ua-test: timer: 00 03 * * * - nplab-sua-test: timer: 15 03 * * * - - ttcn3-bsc-test: - timer: 00 06 * * * - - ttcn3-bsc-test-sccplite: - timer: 30 08 * * * - - ttcn3-bts-test: - timer: 00 07 * * * - ttcn3-ggsn-test: timer: 00 04 * * * - - ttcn3-hlr-test: - timer: 45 06 * * * - - ttcn3-mgw-test: - timer: 30 06 * * * - ttcn3-msc-test: timer: 30 04 * * * - - ttcn3-sgsn-test: - timer: 30 05 * * * - - ttcn3-sip-test: - timer: 00 07 * * * - ttcn3-pcu-test: timer: 00 05 * * * - ttcn3-pcu-test-sns: timer: 15 05 * * * + - ttcn3-sgsn-test: + timer: 30 05 * * * + - ttcn3-bsc-test: + timer: 00 06 * * * + - ttcn3-mgw-test: + timer: 30 06 * * * + - ttcn3-hlr-test: + timer: 45 06 * * * + - ttcn3-bts-test: + timer: 00 07 * * * + - ttcn3-sip-test: + timer: 30 07 * * * + - ttcn3-bsc-test-sccplite: + timer: 30 08 * * * # latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/13449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 Gerrit-Change-Number: 13449 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 12:59:33 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 12:59:33 +0000 Subject: Change in libosmocore[master]: osmo_escape_str_buf: Always copy, don't return input string pointer In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13447 ) Change subject: osmo_escape_str_buf: Always copy, don't return input string pointer ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/13447/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/13447/1//COMMIT_MSG at 10 PS1, Line 10: if no escaping was needed, it would return the original pointe without typo: pointer https://gerrit.osmocom.org/#/c/13447/1//COMMIT_MSG at 11 PS1, Line 11: making any copy to the output buffer. While this seems like a elegant an elegant -- To view, visit https://gerrit.osmocom.org/13447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 Gerrit-Change-Number: 13447 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Thu, 28 Mar 2019 12:59:33 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 13:05:06 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 13:05:06 +0000 Subject: Change in osmo-msc[master]: libmsc: fix: properly initialize the SGs server In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/13373 ) Change subject: libmsc: fix: properly initialize the SGs server ...................................................................... libmsc: fix: properly initialize the SGs server It was observed that the SGs server is started before the actual VTY configuration is parsed. For example: sgs local-port 9999 local-ip 127.0.0.1 vlr-name vlr.example.net produces the following debug output: <0011> sgs_server.c:185 SGs socket bound to r=NULL<->l=0.0.0.0:29118 DLSS7 NOTICE <001e> osmo_ss7.c:1284 0: ASP Restart for server not implemented yet! DSGS NOTICE <0011> sgs_server.c:185 SGs socket bound to r=NULL<->l=0.0.0.0:9999 DSGS NOTICE <0011> sgs_server.c:185 SGs socket bound to r=NULL<->l=127.0.0.1:9999 DMNCC DEBUG <0004> msc_main.c:604 Using internal MNCC handler. The first startup is triggered by sgs_iface_init(), before reading the VTY configuration, so the logging style is different. The next two calls to sgs_server_open() are triggered during reading of the VTY configuration by cfg_sgs_local_port() and cfg_sgs_local_ip(). Let's avoid starting the SGs server three times, and do it once, after the VTY configuration is parsed. Also, keep the possibility to change the binding parameters at run-time. Change-Id: Ie0c31205ac48be7e50d0380a89833771b2708da4 --- M src/libmsc/sgs_iface.c M src/libmsc/sgs_vty.c M src/osmo-msc/msc_main.c 3 files changed, 16 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 95b68f8..450d552 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -1258,8 +1258,6 @@ return NULL; g_sgs = sgs; - sgs_server_open(sgs); - return sgs; } diff --git a/src/libmsc/sgs_vty.c b/src/libmsc/sgs_vty.c index 8ba5a79..dbf2607 100644 --- a/src/libmsc/sgs_vty.c +++ b/src/libmsc/sgs_vty.c @@ -56,9 +56,11 @@ osmo_strlcpy(sgs->cfg.local_addr, argv[0], sizeof(sgs->cfg.local_addr)); osmo_stream_srv_link_set_addr(sgs->srv_link, sgs->cfg.local_addr); - rc = sgs_server_open(sgs); - if (rc < 0) - return CMD_WARNING; + if (vty->type != VTY_FILE) { + rc = sgs_server_open(sgs); + if (rc < 0) + return CMD_WARNING; + } return CMD_SUCCESS; } @@ -74,9 +76,11 @@ sgs->cfg.local_port = atoi(argv[0]); osmo_stream_srv_link_set_port(sgs->srv_link, sgs->cfg.local_port); - rc = sgs_server_open(sgs); - if (rc < 0) - return CMD_WARNING; + if (vty->type != VTY_FILE) { + rc = sgs_server_open(sgs); + if (rc < 0) + return CMD_WARNING; + } return CMD_SUCCESS; } diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index f29b2a8..b55d38f 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -62,6 +62,7 @@ #include #include #include +#include #ifdef BUILD_IU #include @@ -692,6 +693,11 @@ return 8; } + if (sgs_server_open(g_sgs)) { + printf("Starting SGs server failed\n"); + return 9; + } + #ifdef BUILD_IU /* Set up IuCS */ ranap_iu_init(tall_msc_ctx, DRANAP, "OsmoMSC-IuCS", msc_network->iu.sccp, rcvmsg_iu_cs, rx_iu_event); -- To view, visit https://gerrit.osmocom.org/13373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie0c31205ac48be7e50d0380a89833771b2708da4 Gerrit-Change-Number: 13373 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 14:20:09 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 14:20:09 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, Harald Welte, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13433 to look at the new patch set (#3). Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ipa_ccm_idtag_parse_off is broken, and can only be used with len_offset=1 on ID Request messages, otherwise won't work correctly. Modify ipa_ccm_idtag_parse to at least parse those correctly, and document the limitations. Those two functions are already deprecated and only used in openbsc by 3 callers: * ipa_ccm_idtag_parse in ussd_read_cb(): Broken, that function can only work for Requests and it's used to parse a Response. * ipa_ccm_idtag_parse_off in forward_sccp_to_msc (NAT): Broken, it can only be used to parse Requests and it's used to parse a Response. Furthermore, len_offset=2 is passed which makes no sense and most probably it fails always, or can even make the program crash. * ipa_ccm_idtag_parse_off in (answer_challenge): This one is fine and could actually be replaced with ipa_ccm_id_get_parse after libosmocore commit (see below) is merged. See libosmocore I6efc852dfc041192f554e41a58290a0f63298021 for more information. As a consequence of the fixes, osmo-bsc-nat now parses messages sent from VTY test correctly and thus it goes into processing them instead of silently dropping them. As a result, some VTY tests fail because they are sending incorrect format (missing NULL char in unit id strings) and osmo-bsc-nat closses its connection (due to bad auth). Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 --- M openbsc/src/osmo-bsc/osmo_bsc_msc.c M openbsc/src/osmo-bsc_nat/bsc_nat.c M openbsc/src/osmo-bsc_nat/bsc_ussd.c M openbsc/tests/vty_test_runner.py 4 files changed, 10 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/33/13433/3 -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 14:20:09 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Thu, 28 Mar 2019 14:20:09 +0000 Subject: Change in openbsc[master]: vty_test_runner: Handle MGCP message recv len dynamically In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13435 to look at the new patch set (#2). Change subject: vty_test_runner: Handle MGCP message recv len dynamically ...................................................................... vty_test_runner: Handle MGCP message recv len dynamically Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 --- M openbsc/tests/vty_test_runner.py 1 file changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/35/13435/2 -- To view, visit https://gerrit.osmocom.org/13435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 Gerrit-Change-Number: 13435 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:00:40 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 15:00:40 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13450 Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() A memleak has been noticed after executing some of TTCN-3 test cases. For example, the following ones: - MSC_Tests.TC_lu_and_mo_sms, - MSC_Tests.TC_lu_and_mt_sms. The key point is that a test case basically disconnects too quick, leaving some MT SMS messages (e.g. delivery reports) undelivered, so they are getting stored in the SMSC's database. As soon as the SMS queue is triggered, sms_submit_pending() would retrieve pending messages from the database by calling function smsq_take_next_sms() in loop. This function in it's turn checks whether the subscriber is attached or not. If not, the allocated 'gsm_sms' structure would not be free()ed! Therefore, every time smsq_take_next_sms() is called, a 'gsm_sms' structure for unattached subscriber is leaked. Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Closes: OS#3860 --- M src/libmsc/sms_queue.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/50/13450/1 diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index c924dde..2987eba 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -226,8 +226,13 @@ osmo_strlcpy(last_msisdn, sms->dst.addr, last_msisdn_buflen); /* Is the subscriber attached? If not, go to next SMS */ - if (!sms->receiver || !sms->receiver->lu_complete) + if (!sms->receiver || !sms->receiver->lu_complete) { + LOGP(DLSMS, LOGL_DEBUG, + "Subscriber %s is not attached, skipping SMS %llu\n", + vlr_subscr_msisdn_or_name(sms->receiver), sms->id); + talloc_free(sms); continue; + } return sms; } -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:39:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:39:27 +0000 Subject: Change in osmo-bsc[osmith/release-1.2.2]: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13451 Change subject: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS ...................................................................... osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS Fix the following compile error, when libosmo-legacy-mgcp is installed, but into a different prefix than the other libosmo* libraries: In file included from osmo_bsc_msc.c:23:0: ../../include/osmocom/bsc/bsc_nat.h:24:38: fatal error: osmocom/legacy_mgcp/mgcp.h: No such file or directory #include This is needed for a new CI job, which builds old Osmocom releases against current master of all Osmocom libraries. libosmo-legacy-mgcp is provided by osmo-mgw 1.4.0 and was removed in later versions, so we want to have the 1.4.0 version installed into a fallback directory only. Related: OS#3867 Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 --- M src/osmo-bsc/Makefile.am 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/13451/1 diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index cc96743..a04b6f2 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -15,6 +15,7 @@ $(LIBOSMOABIS_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(LIBOSMOMGCPCLIENT_CFLAGS) \ + $(LIBOSMOLEGACYMGCP_CFLAGS) \ $(NULL) AM_LDFLAGS = \ -- To view, visit https://gerrit.osmocom.org/13451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: newchange Gerrit-Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Gerrit-Change-Number: 13451 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:39:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:39:27 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bsc=5Bosmith/release-1=2E2=2E2=5D=3A_Bump_version=3A_1=2E2=2E1=2E1-fb26e_=E2=86=92_1=2E2=2E2?= Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13452 Change subject: Bump version: 1.2.1.1-fb26e ? 1.2.2 ...................................................................... Bump version: 1.2.1.1-fb26e ? 1.2.2 Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/13452/1 diff --git a/debian/changelog b/debian/changelog index 461b0c9..787a35c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +osmo-bsc (1.2.2) unstable; urgency=medium + + * osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS + + -- Oliver Smith Thu, 28 Mar 2019 16:36:58 +0100 + osmo-bsc (1.2.1) unstable; urgency=medium [ Philipp Maier ] -- To view, visit https://gerrit.osmocom.org/13452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: newchange Gerrit-Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a Gerrit-Change-Number: 13452 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:41:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:41:05 +0000 Subject: Change in osmo-ci[master]: Cosmetic: build-old-tags: osmo-msc: note fixed in Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13453 Change subject: Cosmetic: build-old-tags: osmo-msc: note fixed in ...................................................................... Cosmetic: build-old-tags: osmo-msc: note fixed in Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/53/13453/1 diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 548ac3d..0ac220e 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -64,7 +64,7 @@ echo "1.4.0" # testsuite ;; osmo-msc) - echo "1.3.0" # -Werror and deprecated gsm0480_create_ussd_release_complete() + echo "1.3.0" # -Werror and deprecated gsm0480_create_ussd_release_complete(), fixed in 1.3.1 ;; osmo-pcu) echo "0.5.0" # testsuite -- To view, visit https://gerrit.osmocom.org/13453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297 Gerrit-Change-Number: 13453 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:41:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:41:06 +0000 Subject: Change in osmo-ci[master]: build-old-tags: build libosmo-legacy-mgcp Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/13454 Change subject: build-old-tags: build libosmo-legacy-mgcp ...................................................................... build-old-tags: build libosmo-legacy-mgcp Build osmo-mgw 1.4.0 (which provides libosmo-legacy-mgcp) and install it into a different temp dir. Allows properly building osmo-bsc 1.2.x, as soon as a new release is tagged, which makes it use LIBOSMOLEGACYMGCP_CFLAGS and therefore pick up the include path properly [1]. osmo-mgw 1.4.0's "make check" doesn't pass right now, so add a check parameter to build_repo() and disable them when building libosmo-legacy-mgcp. The checks will get executed later, when the depends are installed and we are building various tags of Osmocom repos, including osmo-mgw 1.4.0. While at it, slightly refactor build_repo() to put all arguments into descriptive variable names (as it is getting a bit longer now). [1]: Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Related: OS#3867 Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 47 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/54/13454/1 diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 0ac220e..b8fab38 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -2,6 +2,7 @@ # Environment variables: # * PARALLEL_MAKE: -jN argument for make (default: -j5). # * SKIP_MASTER: don't build REPOS_MASTER (assume that they were just built and keep _temp). +# * SKIP_LEGACY: don't build libosmo-legacy-mgcp (assume that it was just built and keep _temp). # # Latest result: # https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/lastBuild/console @@ -53,7 +54,9 @@ echo "1.0.0" # testsuite ;; osmo-bsc) - echo "1.2.1" # depends on libosmo-legacy-mgcp + # Depends on libosmo-legacy-mgcp, but missing LIBOSMOLEGACYMGCP_CFLAGS so we can't build it with + # this script (we put that legacy lib into a different temp install dir). Fixed in 1.2.2. + echo "1.2.1" echo "1.4.0" # testsuite ;; osmo-bts) @@ -97,9 +100,9 @@ # Delete existing temp dir and create a new one, output the path. prepare_temp_dir() { TEMP="$(cd ..; pwd)/_temp" - if [ -n "$SKIP_MASTER" ]; then + if [ -n "$SKIP_MASTER" ] || [ -n "$SKIP_LEGACY" ]; then if ! [ -d "$TEMP" ]; then - echo "ERROR: SKIP_MASTER is set, but temp dir not found: $TEMP" + echo "ERROR: SKIP_MASTER or SKIP_LEGACY is set, but temp dir not found: $TEMP" exit 1 fi else @@ -136,20 +139,27 @@ # $1: installation path (either $TEMP/inst_master or $TEMP/inst) # $2: repository # $3: branch, tag or commit +# $4: run tests (set to 0 to disable tests, default is 1) # returns: 0 on sucessful build, 1 on error build_repo() { - local log="$TEMP/log/$2-$3.txt" + local inst="$1" + local repo="$2" + local branch="$3" + local check="" + if [ "$4" != "0" ]; then + check="1" + fi if ! PATH="$PWD:$PATH"\ - PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$PKG_CONFIG_PATH" \ - LD_LIBRARY_PATH="$TEMP/inst_master/lib:$LD_LIBRARY_PATH" \ + PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$TEMP/inst_legacy/lib/pkgconfig:$PKG_CONFIG_PATH" \ + LD_LIBRARY_PATH="$TEMP/inst_master/lib:$TEMP/inst_legacy/lib:$LD_LIBRARY_PATH" \ MAKE="make" \ PARALLEL_MAKE="$PARALLEL_MAKE" \ - CHECK="1" \ + CHECK="$check" \ deps="../_deps" \ - inst="$1" \ - ./osmo-build-dep.sh "$2" "$3" \ - > "$log" 2>&1 + inst="$inst" \ + ./osmo-build-dep.sh "$repo" "$branch" \ + > "$TEMP/log/$repo-$branch.txt" 2>&1 then return 1 fi @@ -183,6 +193,32 @@ done } +# Build libosmo-legacy-mgcp and install to $TEMP/inst_legacy (osmo-bsc 1.2.1 depends on it). +build_legacy_mgcp() { + echo "Building legacy libraries..." + + if [ -n "$SKIP_LEGACY" ]; then + echo "=> SKIPPED (SKIP_LEGACY is set)" + return + fi + + local repo="osmo-mgw" + local tag="1.4.0" + + # Don't run "make check" here. The script tries it during build_repos_tags() instead. + local check="0" + printf "%-21s %10s %s" " * $repo" "$tag" "(provides libosmo-legacy-mgcp)" + if ! build_repo "$TEMP/inst_legacy" "$repo" "$tag" "$check"; then + printf "\n" + ERROR_LOGS="$ERROR_LOGS $TEMP/log/$repo-$tag.txt" + show_errors_exit + fi + printf "\n" + + ln -sf "$TEMP"/inst_legacy/include/osmocom/legacy_mgcp \ + "$TEMP"/inst_master/include/osmocom/legacy_mgcp +} + # $1: repository # $2: tag # returns: 0 when the error should be ignored, 1 otherwise @@ -231,5 +267,6 @@ prepare_temp_dir build_repos_master +build_legacy_mgcp build_repos_tags show_errors_exit -- To view, visit https://gerrit.osmocom.org/13454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0 Gerrit-Change-Number: 13454 Gerrit-PatchSet: 1 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:42:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:42:38 +0000 Subject: Change in osmo-bsc[osmith/release-1.2.2]: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13451 ) Change subject: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS ...................................................................... Patch Set 1: Verified+1 Jenkins failure is expected: > configure: error: Package requirements (libosmo-legacy-mgcp >= 1.3.0) were not met -- To view, visit https://gerrit.osmocom.org/13451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: comment Gerrit-Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Gerrit-Change-Number: 13451 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 15:42:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:42:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:42:51 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bsc=5Bosmith/release-1=2E2=2E2=5D=3A_Bump_version=3A_1=2E2=2E1=2E1-fb26e_=E2=86=92_1=2E2=2E2?= In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13452 ) Change subject: Bump version: 1.2.1.1-fb26e ? 1.2.2 ...................................................................... Patch Set 1: Verified+1 Jenkins failure is expected: > configure: error: Package requirements (libosmo-legacy-mgcp >= 1.3.0) were not met -- To view, visit https://gerrit.osmocom.org/13452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: comment Gerrit-Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a Gerrit-Change-Number: 13452 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 Mar 2019 15:42:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 15:59:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 Mar 2019 15:59:20 +0000 Subject: Change in osmo-ci[master]: build-old-tags: build libosmo-legacy-mgcp In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/13454 ) Change subject: build-old-tags: build libosmo-legacy-mgcp ...................................................................... build-old-tags: build libosmo-legacy-mgcp Build osmo-mgw 1.4.0 (which provides libosmo-legacy-mgcp) and install it into a different temp dir. Allows properly building osmo-bsc 1.2.x, as soon as a new release is tagged, which makes it use LIBOSMOLEGACYMGCP_CFLAGS and therefore pick up the include path properly [1]. osmo-mgw 1.4.0's "make check" doesn't pass right now, so add a check parameter to build_repo() and disable them when building libosmo-legacy-mgcp. The checks will get executed later, when the depends are installed and we are building various tags of Osmocom repos, including osmo-mgw 1.4.0. While at it, slightly refactor build_repo() to put all arguments into descriptive variable names (as it is getting a bit longer now). [1]: Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Related: OS#3867 Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 44 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/54/13454/2 -- To view, visit https://gerrit.osmocom.org/13454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0 Gerrit-Change-Number: 13454 Gerrit-PatchSet: 2 Gerrit-Owner: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:53 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Rename IPA_Test->BSCNAT_Tests and get proper cfg files Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13455 Change subject: Rename IPA_Test->BSCNAT_Tests and get proper cfg files ...................................................................... Rename IPA_Test->BSCNAT_Tests and get proper cfg files Change-Id: I937d2aa1abfcb302dfb529ac8be75dcd269c46e2 --- A bsc-nat/BSCNAT_Tests.cfg R bsc-nat/BSCNAT_Tests.default R bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/regen_makefile.sh 4 files changed, 31 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/13455/1 diff --git a/bsc-nat/BSCNAT_Tests.cfg b/bsc-nat/BSCNAT_Tests.cfg new file mode 100644 index 0000000..c40957a --- /dev/null +++ b/bsc-nat/BSCNAT_Tests.cfg @@ -0,0 +1,27 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./BSCNAT_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +BSCNAT_Tests.control +#BSCNAT_Tests.TC_recv_dump diff --git a/bsc-nat/IPA_Test.cfg b/bsc-nat/BSCNAT_Tests.default similarity index 66% rename from bsc-nat/IPA_Test.cfg rename to bsc-nat/BSCNAT_Tests.default index 617e349..bb279bd 100644 --- a/bsc-nat/IPA_Test.cfg +++ b/bsc-nat/BSCNAT_Tests.default @@ -1,8 +1,6 @@ [LOGGING] -SourceInfoFormat := Single; -#FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING | DEBUG_ENCDEC; -#ConsoleMask := ERROR | WARNING | TESTCASE | TTCN_MATCHING | DEBUG_ENCDEC FileMask := LOG_ALL | TTCN_MATCHING; +mtc.FileMask := ERROR | WARNING | PARALLEL | VERDICTOP; [TESTPORT_PARAMETERS] #*.*.udpReuseAddress := "yes"; @@ -23,8 +21,5 @@ #mp_mgw_ip := "127.0.0.1"; #mp_mgw_udp_port := 2427; -[MAIN_CONTROLLER] - [EXECUTE] -#MGCP_Test.TC_selftest -IPA_Test.TC_recv_dump + diff --git a/bsc-nat/IPA_Test.ttcn b/bsc-nat/BSCNAT_Tests.ttcn similarity index 99% rename from bsc-nat/IPA_Test.ttcn rename to bsc-nat/BSCNAT_Tests.ttcn index fbff84a..b6dca28 100644 --- a/bsc-nat/IPA_Test.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -1,4 +1,4 @@ -module IPA_Test { +module BSCNAT_Tests { import from Osmocom_Types all; diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh index 5c25366..c5fe64c 100755 --- a/bsc-nat/regen_makefile.sh +++ b/bsc-nat/regen_makefile.sh @@ -1,6 +1,6 @@ #!/bin/sh -MAIN=IPA_Test.ttcn +MAIN=BSCNAT_Tests.ttcn FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc" -- To view, visit https://gerrit.osmocom.org/13455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I937d2aa1abfcb302dfb529ac8be75dcd269c46e2 Gerrit-Change-Number: 13455 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:54 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Fix errors due to bit rot Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13456 Change subject: bsc-nat: Fix errors due to bit rot ...................................................................... bsc-nat: Fix errors due to bit rot Change-Id: I79f3b1b74c9f6f8769a5d71fde04847435f3f345 --- M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/BSC_MS_Simulation.ttcn M bsc-nat/MSC_ConnectionHandler.ttcn M bsc-nat/MSC_Simulation.ttcn 4 files changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/13456/1 diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index 1f41434..27e1b58 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -52,7 +52,9 @@ create_cb := refers(CreateCallback), unitdata_cb := refers(UnitdataCallback), decode_dtap := false, - role_ms := true + role_ms := true, + sccp_addr_local := omit, + sccp_addr_peer := omit } @@ -157,6 +159,9 @@ self.stop; } + [] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_CONF_IND) { + } + /* disconnect in invalid state */ [] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND) { setverdict(fail); diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index b9414a3..7b0093d 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -62,7 +62,7 @@ /* start components */ vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port)); vc_SCCP.start(SCCPStart(sccp_pars)); - vc_BSSMAP.start(BSSMAP_Emulation.main(BSC_MS_BssmapOps, id)); + vc_BSSMAP.start(BSSMAP_Emulation.main(BSC_MS_ConnectionHandler.BSC_MS_BssmapOps, id)); /* Initial delay to wait for IPA connection establishment */ T.start(2.0); diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index 102869c..27fbba7 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -58,7 +58,9 @@ create_cb := refers(CreateCallback), unitdata_cb := refers(UnitdataCallback), decode_dtap := false, - role_ms := false + role_ms := false, + sccp_addr_local := omit, + sccp_addr_peer := omit } type enumerated MSC_State { diff --git a/bsc-nat/MSC_Simulation.ttcn b/bsc-nat/MSC_Simulation.ttcn index 7e39ca1..0a13509 100755 --- a/bsc-nat/MSC_Simulation.ttcn +++ b/bsc-nat/MSC_Simulation.ttcn @@ -64,7 +64,7 @@ vc_IPA.start(IPA_Emulation.main_server(local_ip, local_port)); vc_SCCP.start(SCCPStart(sccp_pars)); - vc_BSSMAP.start(BSSMAP_Emulation.main(MSC_BssmapOps, id & "-BSSMAP")); + vc_BSSMAP.start(BSSMAP_Emulation.main(MSC_ConnectionHandler.MSC_BssmapOps, id & "-BSSMAP")); /* wait until termination of respective components */ vc_IPA.done; -- To view, visit https://gerrit.osmocom.org/13456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I79f3b1b74c9f6f8769a5d71fde04847435f3f345 Gerrit-Change-Number: 13456 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:54 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13457 Change subject: bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC ...................................................................... bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC Change-Id: Ic02ce9bd46cab7e6d4833b1d838c334e377f7d50 --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/13457/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index b6dca28..685066c 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -112,6 +112,8 @@ msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, msc[i].sccp_pars, msc[i].sccp_addr_own, id)); } + /* Wait for bsc_nat to attach to MSC. Before that all BSC connections will be dropped */ + f_sleep(5.0); for (i := 0; i < NUM_BSC; i := i+1) { f_init_BscState(bsc[i], mp_bsc_pc +i, mp_msc_pc, mp_bsc_ssn, mp_msc_ssn); bsc[i].BSC := BSC_CT.create; -- To view, visit https://gerrit.osmocom.org/13457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ic02ce9bd46cab7e6d4833b1d838c334e377f7d50 Gerrit-Change-Number: 13457 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:54 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Use BSCx as token for BSC no x Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13458 Change subject: bsc-nat: Use BSCx as token for BSC no x ...................................................................... bsc-nat: Use BSCx as token for BSC no x Change-Id: I27cf1a2f5c8a55eb9883ac9430e73c95dded9b7b --- M bsc-nat/BSC_MS_Simulation.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/13458/1 diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 7b0093d..2f1961b 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -39,6 +39,8 @@ { var integer i := 0; timer T := 1.0; + var IPA_CCM_Parameters ccm_pars := IPA_Emulation.c_IPA_default_ccm_pars; + ccm_pars.name := id; g_sccp_addr_own := sccp_addr_own; g_sccp_addr_remote := sccp_addr_remote; @@ -60,7 +62,7 @@ connect(vc_BSSMAP:MGCP, vc_IPA:IPA_MGCP_PORT); /* start components */ - vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port)); + vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port, ccm_pars)); vc_SCCP.start(SCCPStart(sccp_pars)); vc_BSSMAP.start(BSSMAP_Emulation.main(BSC_MS_ConnectionHandler.BSC_MS_BssmapOps, id)); -- To view, visit https://gerrit.osmocom.org/13458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I27cf1a2f5c8a55eb9883ac9430e73c95dded9b7b Gerrit-Change-Number: 13458 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:54 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Add default module parameters Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13459 Change subject: bsc-nat: Add default module parameters ...................................................................... bsc-nat: Add default module parameters Change-Id: I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 --- M bsc-nat/BSCNAT_Tests.default 1 file changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/13459/1 diff --git a/bsc-nat/BSCNAT_Tests.default b/bsc-nat/BSCNAT_Tests.default index bb279bd..37c1048 100644 --- a/bsc-nat/BSCNAT_Tests.default +++ b/bsc-nat/BSCNAT_Tests.default @@ -6,20 +6,20 @@ #*.*.udpReuseAddress := "yes"; [MODULE_PARAMETERS] -#mp_bsc_port := 49999; -#mp_bsc_ip := "127.0.0.1"; -#mp_msc_port := 5100; -#mp_msc_ip := "127.0.0.1"; -#mp_nat_port := 5000; -#mp_nat_ip := "127.0.0.1"; +mp_bsc_port := 49999; +mp_bsc_ip := "127.0.0.1"; +mp_msc_port := 5100; +mp_msc_ip := "127.0.0.1"; +mp_nat_port := 5000; +mp_nat_ip := "127.0.0.1"; #mp_ipa_mgcp_uses_osmo_ext := true; -#mp_mgcp_uses_udp := true; -#mp_callagent_ip := "127.0.0.1"; -#mp_callagent_udp_port := 2727; -#mp_mgw_ip := "127.0.0.1"; -#mp_mgw_udp_port := 2427; +mp_mgcp_uses_udp := true; +mp_callagent_ip := "127.0.0.1"; +mp_callagent_udp_port := 2727; +mp_mgw_ip := "127.0.0.1"; +mp_mgw_udp_port := 2427; [EXECUTE] -- To view, visit https://gerrit.osmocom.org/13459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 Gerrit-Change-Number: 13459 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:55 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Use id when creating components Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13460 Change subject: bsc-nat: Use id when creating components ...................................................................... bsc-nat: Use id when creating components Change-Id: I2c130d74405cef2b9aa1f9c0a2122fd70aa9cc62 --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/13460/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 685066c..993d668 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -107,8 +107,8 @@ for (i := 0; i < NUM_MSC; i := i+1) { f_init_MscState(msc[i], mp_msc_pc +i, mp_bsc_pc, mp_msc_ssn, mp_bsc_ssn); - msc[i].MSC := MSC_CT.create; id := "MSC" & int2str(i); + msc[i].MSC := MSC_CT.create(id); msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, msc[i].sccp_pars, msc[i].sccp_addr_own, id)); } @@ -116,8 +116,8 @@ f_sleep(5.0); for (i := 0; i < NUM_BSC; i := i+1) { f_init_BscState(bsc[i], mp_bsc_pc +i, mp_msc_pc, mp_bsc_ssn, mp_msc_ssn); - bsc[i].BSC := BSC_CT.create; id := "BSC" & int2str(i); + bsc[i].BSC := BSC_CT.create(id); bsc[i].BSC.start(BSC_MS_Simulation.main(mp_nat_ip, mp_nat_port, mp_bsc_ip, mp_bsc_port+i, bsc[i].sccp_pars, bsc[i].sccp_addr_own, bsc[i].sccp_addr_peer, id)); -- To view, visit https://gerrit.osmocom.org/13460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2c130d74405cef2b9aa1f9c0a2122fd70aa9cc62 Gerrit-Change-Number: 13460 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:19:55 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:19:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Add sample bsc-nat config for test Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13461 Change subject: bsc-nat: Add sample bsc-nat config for test ...................................................................... bsc-nat: Add sample bsc-nat config for test Change-Id: I0ab3a4fb66201cd134238f5efcf6ff80033011e3 --- A bsc-nat/bscs.config A bsc-nat/osmo-bsc-nat.cfg 2 files changed, 86 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/13461/1 diff --git a/bsc-nat/bscs.config b/bsc-nat/bscs.config new file mode 100644 index 0000000..6afa09b --- /dev/null +++ b/bsc-nat/bscs.config @@ -0,0 +1,19 @@ +nat + bsc 0 + token BSC0 + location_area_code 1 + description bsc + max-endpoints 32 + paging forbidden 0 + bsc 1 + token BSC1 + location_area_code 2 + description bsc + max-endpoints 32 + paging forbidden 0 + bsc 2 + token BSC2 + location_area_code 3 + description bsc + max-endpoints 32 + paging forbidden 0 diff --git a/bsc-nat/osmo-bsc-nat.cfg b/bsc-nat/osmo-bsc-nat.cfg new file mode 100644 index 0000000..ec1a7c2 --- /dev/null +++ b/bsc-nat/osmo-bsc-nat.cfg @@ -0,0 +1,67 @@ +! +! OsmoBSCNAT (0.12.0.266-2daa9) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging timestamp 1 + logging level rll notice + logging level cc notice + logging level mm notice + logging level rr notice + logging level rsl notice + logging level nm info + logging level mncc notice + logging level pag notice + logging level meas notice + logging level sccp debug + logging level msc notice + logging level mgcp notice + logging level ho notice + logging level db notice + logging level ref notice + logging level gprs debug + logging level ns info + logging level bssgp debug + logging level llc debug + logging level sndcp debug + logging level nat notice + logging level ctrl notice + logging level smpp debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice +! +line vty + no login +! +mgcp + bind ip 127.0.0.1 + bind port 2427 + rtp bts-base 4000 + rtp net-base 16000 + rtp ip-dscp 0 + no rtcp-omit + sdp audio-payload number 126 + sdp audio-payload name AMR/8000 + loop 0 + number endpoints 32 + call-agent ip 127.0.0.1 + rtp transcoder-base 0 + transcoder-remote-base 4000 +nat + msc ip 127.0.0.1 + msc port 5100 + token foo + timeout auth 2 + timeout ping 20 + timeout pong 5 + ip-dscp 0 + bscs-config-file bscs.config + access-list msceven imsi-allow ^[0-9]*[24680]$ + access-list mscodd imsi-allow ^[0-9]*[13579]$ -- To view, visit https://gerrit.osmocom.org/13461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I0ab3a4fb66201cd134238f5efcf6ff80033011e3 Gerrit-Change-Number: 13461 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:24:19 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:24:19 +0000 Subject: Change in docker-playground[master]: Add first osmo-cn-latest image In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13438 ) Change subject: Add first osmo-cn-latest image ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f Gerrit-Change-Number: 13438 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:24:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:24:36 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:24:36 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add script to populate HLR In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13439 ) Change subject: osmo-cn-latest: Add script to populate HLR ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003 Gerrit-Change-Number: 13439 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:24:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:24:42 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:24:42 +0000 Subject: Change in docker-playground[master]: osmo-ci-latest: Add options to change mcc/mnc for SIM card data In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13440 ) Change subject: osmo-ci-latest: Add options to change mcc/mnc for SIM card data ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9 Gerrit-Change-Number: 13440 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:24:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:24:49 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:24:49 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add README with instructions for provisioning In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13441 ) Change subject: osmo-cn-latest: Add README with instructions for provisioning ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7 Gerrit-Change-Number: 13441 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:24:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:25:43 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:25:43 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Use osmo-config-merge to configure the MSC In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13442 ) Change subject: osmo-cn-latest: Use osmo-config-merge to configure the MSC ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca Gerrit-Change-Number: 13442 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:25:43 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:25:53 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:25:53 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Rename the script to provision the hlr In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13443 ) Change subject: osmo-cn-latest: Rename the script to provision the hlr ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5 Gerrit-Change-Number: 13443 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:25:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:26:13 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:26:13 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Clarify steps for provisioning In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13444 ) Change subject: osmo-cn-latest: Clarify steps for provisioning ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb Gerrit-Change-Number: 13444 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:26:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:26:59 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:26:59 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add default osmo-msc.cfg In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13445 ) Change subject: osmo-cn-latest: Add default osmo-msc.cfg ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6 Gerrit-Change-Number: 13445 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:26:59 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:27:19 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:27:19 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add config snippets for static CS7 configuration In-Reply-To: References: Message-ID: Daniel Willmann has abandoned this change. ( https://gerrit.osmocom.org/13446 ) Change subject: osmo-cn-latest: Add config snippets for static CS7 configuration ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/13446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: abandon Gerrit-Change-Id: Ib19e870d208acefc1f2b2694752a35ee6505338f Gerrit-Change-Number: 13446 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:28:53 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:28:53 +0000 Subject: Change in docker-playground[master]: ttcn3-bscnat-test: osmo-bsc_nat config file fixes Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13462 Change subject: ttcn3-bscnat-test: osmo-bsc_nat config file fixes ...................................................................... ttcn3-bscnat-test: osmo-bsc_nat config file fixes * Log to file in osmo-bsc_nat * Fix number of endpoints so the test passes Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31 --- M ttcn3-bscnat-test/osmo-bsc-nat.cfg 1 file changed, 5 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/62/13462/1 diff --git a/ttcn3-bscnat-test/osmo-bsc-nat.cfg b/ttcn3-bscnat-test/osmo-bsc-nat.cfg index 4f02366..e3398b9 100644 --- a/ttcn3-bscnat-test/osmo-bsc-nat.cfg +++ b/ttcn3-bscnat-test/osmo-bsc-nat.cfg @@ -2,40 +2,12 @@ ! OsmoBSCNAT (0.12.0.266-2daa9) configuration saved from vty !! ! -log stderr +log file /data/osmo-bsc_nat.log logging filter all 1 - logging color 1 + logging color 0 + logging print category 1 logging timestamp 1 - logging level rll notice - logging level cc notice - logging level mm notice - logging level rr notice - logging level rsl notice - logging level nm info - logging level mncc notice - logging level pag notice - logging level meas notice - logging level sccp debug - logging level msc notice - logging level mgcp notice - logging level ho notice - logging level db notice - logging level ref notice - logging level gprs debug - logging level ns info - logging level bssgp debug - logging level llc debug - logging level sndcp debug - logging level nat notice - logging level ctrl notice - logging level smpp debug - logging level lglobal notice - logging level llapd notice - logging level linp notice - logging level lmux notice - logging level lmi notice - logging level lmib notice - logging level lsms notice + logging level force-all debug ! line vty no login @@ -50,7 +22,7 @@ sdp audio-payload number 126 sdp audio-payload name AMR/8000 loop 0 - number endpoints 1 + number endpoints 32 call-agent ip 172.18.11.203 rtp transcoder-base 0 transcoder-remote-base 4000 -- To view, visit https://gerrit.osmocom.org/13462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31 Gerrit-Change-Number: 13462 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:43:11 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:43:11 +0000 Subject: Change in osmo-ci[master]: Add bscnat tests to jenkins Message-ID: Daniel Willmann has uploaded this change for review. ( https://gerrit.osmocom.org/13463 Change subject: Add bscnat tests to jenkins ...................................................................... Add bscnat tests to jenkins This requires Change-ID I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 from osmo-ttcn3-hacks. Fixes: OS#3179 Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/63/13463/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index e3e6d5c..f42a26f 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -35,6 +35,8 @@ timer: 00 07 * * * - ttcn3-sip-test: timer: 30 07 * * * + - ttcn3-bscnat-test: + timer: 00 08 * * * - ttcn3-bsc-test-sccplite: timer: 30 08 * * * @@ -65,6 +67,8 @@ blocking: "^ttcn3-pcu-test.*" - ttcn3-pcu-test-sns-latest: blocking: "^ttcn3-pcu-test-sns.*" + - ttcn3-bscnat-test-latest: + blocking: "^ttcn3-bscnat-test.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/13463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f Gerrit-Change-Number: 13463 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 16:44:31 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Thu, 28 Mar 2019 16:44:31 +0000 Subject: Change in docker-playground[master]: ttcn3-bscnat-test: osmo-bsc_nat config file fixes In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13462 ) Change subject: ttcn3-bscnat-test: osmo-bsc_nat config file fixes ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31 Gerrit-Change-Number: 13462 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Comment-Date: Thu, 28 Mar 2019 16:44:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 17:02:28 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Thu, 28 Mar 2019 17:02:28 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Keith Whyte has posted comments on this change. ( https://gerrit.osmocom.org/13320 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 3: > Please re-trigger tests once it's resolved. I find I've forgotten the best way to do that? Is it possible without having to have Harald +2 it again? -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 3 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-CC: Max Gerrit-Comment-Date: Thu, 28 Mar 2019 17:02:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 28 17:55:30 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Thu, 28 Mar 2019 17:55:30 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Hello Neels Hofmeyr, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13450 to look at the new patch set (#2). Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() A memleak has been noticed after executing some of TTCN-3 test cases. For example, the following ones: - MSC_Tests.TC_lu_and_mo_sms, - MSC_Tests.TC_lu_and_mt_sms. The key point is that a test case basically disconnects too quickly, leaving some MT SMS messages (e.g. delivery reports) undelivered, so they are getting stored in the SMSC's database. As soon as the SMSC's queue is triggered, sms_submit_pending() would retrieve pending messages from the database by calling function smsq_take_next_sms() in loop and attempt to deliver them. This function in it's turn checks whether the subscriber is attached or not. If not, the allocated 'gsm_sms' structure would not be free()ed! Therefore, every time smsq_take_next_sms() is called, one 'gsm_sms' structure for an unattached subscriber is leaked. Furthermore, there is a unit test called 'sms_queue_test', that actually does cover smsq_take_next_sms() and was designed to catch some potential memory leaks, but... In order to avoid emulating the low-level SQLite API, the unit test by design overwrites some functions of libmsc, including db_sms_get_next_unsent_rr_msisdn(), that is being called by smsq_take_next_sms(). The problem is that the original function in libmsc does allocate a 'gsm_sms' structure on heap (using talloc), while the overwriting function did this statically, returning a pointer to stack. This critical difference made it impossible to spot the memleak in smsq_take_next_sms() during the unit test execution. Let's refactor 'sms_queue_test' to use dynamic memory allocation, and finally fix the evil memleak in smsq_take_next_sms(). Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Closes: OS#3860 --- M src/libmsc/sms_queue.c M tests/sms_queue/sms_queue_test.c 2 files changed, 21 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/50/13450/2 -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 05:13:46 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 29 Mar 2019 05:13:46 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: Regarding "conflicts with https://gerrit.osmocom.org/#/c/osmo-msc/+/13136/", I just tried to rebase neels/ho over this change, and there were no any conflicts. The result of this rebase can be found in fixeria/ho_rebase. -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 05:13:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 09:48:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 Mar 2019 09:48:20 +0000 Subject: Change in osmo-ci[master]: ttcn3: Order tests by time triggered In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13449 ) Change subject: ttcn3: Order tests by time triggered ...................................................................... Patch Set 1: Code-Review+1 LGTM. Note that all -latest jobs default to @midnight (which is not actually midnight, but it lets Jenkins decide when to run the jobs). You might want to change that as well. -- To view, visit https://gerrit.osmocom.org/13449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 Gerrit-Change-Number: 13449 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 09:48:20 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 09:50:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 Mar 2019 09:50:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: Ensure TC_selftest passed if no error is encountered In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/13437 ) Change subject: mgw: Ensure TC_selftest passed if no error is encountered ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie1601d57ac5bf9ddf99cbbd1cdb91160dc47c84d Gerrit-Change-Number: 13437 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 09:50:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 10:49:33 2019 From: gerrit-no-reply at lists.osmocom.org (Mykola Shchetinin) Date: Fri, 29 Mar 2019 10:49:33 +0000 Subject: Change in osmo-msc[master]: MT-forwardSM Message Reference fix. Message-ID: Mykola Shchetinin has uploaded this change for review. ( https://gerrit.osmocom.org/13464 Change subject: MT-forwardSM Message Reference fix. ...................................................................... MT-forwardSM Message Reference fix. The Message Reference that came in GSUP message was not used and the GSUP response for the SMS contained the wrong Message Reference which was assigned by MSC, hence the HLR or whatever on the other side of the GSUP connection is was not able to correlate the request and the response. transaction.h: gsm_trans: add a field 'msg_ref_gsup' to 'sms' union to store the original Message Reference (from GSUP). gsm411_send_rp_data: add an argument to pass Message Reference from GSUP message to the function. Assign Message Reference to the new trans->sms.msg_ref_gsup field. gsm411_gsup_mt_handler: pass the *gsup_msg->sm_rp_mr to gsm411_send_rp_data. gsm411_rx_rp_ack and gsm411_rx_rp_error: pass trans->sms.msg_ref_gsup instead of rph->msg_ref to the function that sends GSUP reponse. Change-Id: Ia50fd0e6c7ba7876522f49a00c55f8499c164331 --- M include/osmocom/msc/gsm_04_11.h M include/osmocom/msc/transaction.h M src/libmsc/gsm_04_11.c M src/libmsc/gsm_04_11_gsup.c 4 files changed, 11 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/64/13464/1 diff --git a/include/osmocom/msc/gsm_04_11.h b/include/osmocom/msc/gsm_04_11.h index 4297cdb..ec160b2 100644 --- a/include/osmocom/msc/gsm_04_11.h +++ b/include/osmocom/msc/gsm_04_11.h @@ -44,7 +44,8 @@ struct gsm_sms *sms); int gsm411_send_rp_data(struct gsm_network *net, struct vlr_subscr *vsub, size_t sm_rp_oa_len, const uint8_t *sm_rp_oa, - size_t sm_rp_ud_len, const uint8_t *sm_rp_ud); + size_t sm_rp_ud_len, const uint8_t *sm_rp_ud, + uint8_t sm_rp_mr); void gsm411_sapi_n_reject(struct ran_conn *conn); diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index 830328b..b5a6662 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -78,6 +78,7 @@ /* SM-RP-MR, Message Reference (see GSM TS 04.11, section 8.2.3) */ uint8_t sm_rp_mr; + uint8_t msg_ref_gsup; struct gsm_sms *sms; } sms; diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index ccb2610..af21831 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -800,7 +800,7 @@ if (trans->net->sms_over_gsup) { /* Forward towards SMSC via GSUP */ - return gsm411_gsup_mt_fwd_sm_res(trans, rph->msg_ref); + return gsm411_gsup_mt_fwd_sm_res(trans, trans->sms.msg_ref_gsup); } if (!sms) { @@ -841,7 +841,7 @@ if (trans->net->sms_over_gsup) { /* Forward towards SMSC via GSUP */ - return gsm411_gsup_mt_fwd_sm_err(trans, rph->msg_ref, cause); + return gsm411_gsup_mt_fwd_sm_err(trans, trans->sms.msg_ref_gsup, cause); } if (!sms) { @@ -1167,7 +1167,8 @@ /* Low-level function to send raw RP-DATA to a given subscriber */ int gsm411_send_rp_data(struct gsm_network *net, struct vlr_subscr *vsub, size_t sm_rp_oa_len, const uint8_t *sm_rp_oa, - size_t sm_rp_ud_len, const uint8_t *sm_rp_ud) + size_t sm_rp_ud_len, const uint8_t *sm_rp_ud, + uint8_t sm_rp_mr) { struct gsm_trans *trans; struct msgb *msg; @@ -1177,6 +1178,8 @@ if (!trans) return -ENOMEM; + trans->sms.msg_ref_gsup = sm_rp_mr; + /* Allocate a message buffer for to be encoded SMS */ msg = gsm411_msgb_alloc(); if (!msg) { diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index eb092ae..c8ec89f 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -271,7 +271,8 @@ /* Send RP-DATA */ rc = gsm411_send_rp_data(net, vsub, gsup_msg->sm_rp_oa_len, gsup_msg->sm_rp_oa, - gsup_msg->sm_rp_ui_len, gsup_msg->sm_rp_ui); + gsup_msg->sm_rp_ui_len, gsup_msg->sm_rp_ui, + *gsup_msg->sm_rp_mr); if (rc) { LOGP(DLSMS, LOGL_NOTICE, "Failed to send MT SMS, " "ignoring MT-forwardSM-Req message...\n"); -- To view, visit https://gerrit.osmocom.org/13464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia50fd0e6c7ba7876522f49a00c55f8499c164331 Gerrit-Change-Number: 13464 Gerrit-PatchSet: 1 Gerrit-Owner: Mykola Shchetinin -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:07:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:07:18 +0000 Subject: Change in osmo-msc[master]: MT-forwardSM Message Reference fix. In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13464 ) Change subject: MT-forwardSM Message Reference fix. ...................................................................... Patch Set 1: Code-Review+1 looks good to me, assigning to fixeria as he wrote the related SMS-over-GSUP code. It would also be great to have test coverage for this (new,correct) behavior in our MSC_Tests.ttcn testsuite. -- To view, visit https://gerrit.osmocom.org/13464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia50fd0e6c7ba7876522f49a00c55f8499c164331 Gerrit-Change-Number: 13464 Gerrit-PatchSet: 1 Gerrit-Owner: Mykola Shchetinin Gerrit-Assignee: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 29 Mar 2019 11:07:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:07:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:07:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: Ensure TC_selftest passed if no error is encountered In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13437 ) Change subject: mgw: Ensure TC_selftest passed if no error is encountered ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie1601d57ac5bf9ddf99cbbd1cdb91160dc47c84d Gerrit-Change-Number: 13437 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 11:07:40 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:07:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:07:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: Ensure TC_selftest passed if no error is encountered In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13437 ) Change subject: mgw: Ensure TC_selftest passed if no error is encountered ...................................................................... mgw: Ensure TC_selftest passed if no error is encountered Change-Id: Ie1601d57ac5bf9ddf99cbbd1cdb91160dc47c84d --- M mgw/MGCP_Test.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 467ebfc..8cb2404 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -151,6 +151,9 @@ log(c_crcx510_ret); log(dec_MgcpResponse(c_crcx510_ret)); log(dec_MgcpMessage(c_crcx510_ret)); + + /* We didn't encounter any DTE, so pass the test */ + setverdict(pass); } /* CRCX test ideas: -- To view, visit https://gerrit.osmocom.org/13437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie1601d57ac5bf9ddf99cbbd1cdb91160dc47c84d Gerrit-Change-Number: 13437 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:08:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:08:08 +0000 Subject: Change in osmo-ci[master]: ttcn3: Order tests by time triggered In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13449 ) Change subject: ttcn3: Order tests by time triggered ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 Gerrit-Change-Number: 13449 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 11:08:08 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:08:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:08:19 +0000 Subject: Change in osmo-ci[master]: Add bscnat tests to jenkins In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13463 ) Change subject: Add bscnat tests to jenkins ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f Gerrit-Change-Number: 13463 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:08:19 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:10:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:10:01 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 11:10:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:10:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:10:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Rename IPA_Test->BSCNAT_Tests and get proper cfg files In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13455 ) Change subject: Rename IPA_Test->BSCNAT_Tests and get proper cfg files ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I937d2aa1abfcb302dfb529ac8be75dcd269c46e2 Gerrit-Change-Number: 13455 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:10:37 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:11:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:11:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Fix errors due to bit rot In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13456 ) Change subject: bsc-nat: Fix errors due to bit rot ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I79f3b1b74c9f6f8769a5d71fde04847435f3f345 Gerrit-Change-Number: 13456 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:11:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:11:11 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:11:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13457 ) Change subject: bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic02ce9bd46cab7e6d4833b1d838c334e377f7d50 Gerrit-Change-Number: 13457 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:11:11 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:11:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:11:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Use BSCx as token for BSC no x In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13458 ) Change subject: bsc-nat: Use BSCx as token for BSC no x ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I27cf1a2f5c8a55eb9883ac9430e73c95dded9b7b Gerrit-Change-Number: 13458 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:11:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:11:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:11:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Add default module parameters In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13459 ) Change subject: bsc-nat: Add default module parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 Gerrit-Change-Number: 13459 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:11:38 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Use id when creating components In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13460 ) Change subject: bsc-nat: Use id when creating components ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2c130d74405cef2b9aa1f9c0a2122fd70aa9cc62 Gerrit-Change-Number: 13460 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:12:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Add sample bsc-nat config for test In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13461 ) Change subject: bsc-nat: Add sample bsc-nat config for test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0ab3a4fb66201cd134238f5efcf6ff80033011e3 Gerrit-Change-Number: 13461 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 11:12:13 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Rename IPA_Test->BSCNAT_Tests and get proper cfg files In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13455 ) Change subject: Rename IPA_Test->BSCNAT_Tests and get proper cfg files ...................................................................... Rename IPA_Test->BSCNAT_Tests and get proper cfg files Change-Id: I937d2aa1abfcb302dfb529ac8be75dcd269c46e2 --- A bsc-nat/BSCNAT_Tests.cfg R bsc-nat/BSCNAT_Tests.default R bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/regen_makefile.sh 4 files changed, 31 insertions(+), 9 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.cfg b/bsc-nat/BSCNAT_Tests.cfg new file mode 100644 index 0000000..c40957a --- /dev/null +++ b/bsc-nat/BSCNAT_Tests.cfg @@ -0,0 +1,27 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./BSCNAT_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +BSCNAT_Tests.control +#BSCNAT_Tests.TC_recv_dump diff --git a/bsc-nat/IPA_Test.cfg b/bsc-nat/BSCNAT_Tests.default similarity index 66% rename from bsc-nat/IPA_Test.cfg rename to bsc-nat/BSCNAT_Tests.default index 617e349..bb279bd 100644 --- a/bsc-nat/IPA_Test.cfg +++ b/bsc-nat/BSCNAT_Tests.default @@ -1,8 +1,6 @@ [LOGGING] -SourceInfoFormat := Single; -#FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING | DEBUG_ENCDEC; -#ConsoleMask := ERROR | WARNING | TESTCASE | TTCN_MATCHING | DEBUG_ENCDEC FileMask := LOG_ALL | TTCN_MATCHING; +mtc.FileMask := ERROR | WARNING | PARALLEL | VERDICTOP; [TESTPORT_PARAMETERS] #*.*.udpReuseAddress := "yes"; @@ -23,8 +21,5 @@ #mp_mgw_ip := "127.0.0.1"; #mp_mgw_udp_port := 2427; -[MAIN_CONTROLLER] - [EXECUTE] -#MGCP_Test.TC_selftest -IPA_Test.TC_recv_dump + diff --git a/bsc-nat/IPA_Test.ttcn b/bsc-nat/BSCNAT_Tests.ttcn similarity index 99% rename from bsc-nat/IPA_Test.ttcn rename to bsc-nat/BSCNAT_Tests.ttcn index fbff84a..b6dca28 100644 --- a/bsc-nat/IPA_Test.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -1,4 +1,4 @@ -module IPA_Test { +module BSCNAT_Tests { import from Osmocom_Types all; diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh index 5c25366..c5fe64c 100755 --- a/bsc-nat/regen_makefile.sh +++ b/bsc-nat/regen_makefile.sh @@ -1,6 +1,6 @@ #!/bin/sh -MAIN=IPA_Test.ttcn +MAIN=BSCNAT_Tests.ttcn FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc" -- To view, visit https://gerrit.osmocom.org/13455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I937d2aa1abfcb302dfb529ac8be75dcd269c46e2 Gerrit-Change-Number: 13455 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Fix errors due to bit rot In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13456 ) Change subject: bsc-nat: Fix errors due to bit rot ...................................................................... bsc-nat: Fix errors due to bit rot Change-Id: I79f3b1b74c9f6f8769a5d71fde04847435f3f345 --- M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/BSC_MS_Simulation.ttcn M bsc-nat/MSC_ConnectionHandler.ttcn M bsc-nat/MSC_Simulation.ttcn 4 files changed, 11 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index 1f41434..27e1b58 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -52,7 +52,9 @@ create_cb := refers(CreateCallback), unitdata_cb := refers(UnitdataCallback), decode_dtap := false, - role_ms := true + role_ms := true, + sccp_addr_local := omit, + sccp_addr_peer := omit } @@ -157,6 +159,9 @@ self.stop; } + [] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_CONF_IND) { + } + /* disconnect in invalid state */ [] BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND) { setverdict(fail); diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index b9414a3..7b0093d 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -62,7 +62,7 @@ /* start components */ vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port)); vc_SCCP.start(SCCPStart(sccp_pars)); - vc_BSSMAP.start(BSSMAP_Emulation.main(BSC_MS_BssmapOps, id)); + vc_BSSMAP.start(BSSMAP_Emulation.main(BSC_MS_ConnectionHandler.BSC_MS_BssmapOps, id)); /* Initial delay to wait for IPA connection establishment */ T.start(2.0); diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index 102869c..27fbba7 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -58,7 +58,9 @@ create_cb := refers(CreateCallback), unitdata_cb := refers(UnitdataCallback), decode_dtap := false, - role_ms := false + role_ms := false, + sccp_addr_local := omit, + sccp_addr_peer := omit } type enumerated MSC_State { diff --git a/bsc-nat/MSC_Simulation.ttcn b/bsc-nat/MSC_Simulation.ttcn index 7e39ca1..0a13509 100755 --- a/bsc-nat/MSC_Simulation.ttcn +++ b/bsc-nat/MSC_Simulation.ttcn @@ -64,7 +64,7 @@ vc_IPA.start(IPA_Emulation.main_server(local_ip, local_port)); vc_SCCP.start(SCCPStart(sccp_pars)); - vc_BSSMAP.start(BSSMAP_Emulation.main(MSC_BssmapOps, id & "-BSSMAP")); + vc_BSSMAP.start(BSSMAP_Emulation.main(MSC_ConnectionHandler.MSC_BssmapOps, id & "-BSSMAP")); /* wait until termination of respective components */ vc_IPA.done; -- To view, visit https://gerrit.osmocom.org/13456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I79f3b1b74c9f6f8769a5d71fde04847435f3f345 Gerrit-Change-Number: 13456 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13457 ) Change subject: bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC ...................................................................... bsc_nat: Wait for bsc-nat to connect to MSC before connecting the BSC Change-Id: Ic02ce9bd46cab7e6d4833b1d838c334e377f7d50 --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index b6dca28..685066c 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -112,6 +112,8 @@ msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, msc[i].sccp_pars, msc[i].sccp_addr_own, id)); } + /* Wait for bsc_nat to attach to MSC. Before that all BSC connections will be dropped */ + f_sleep(5.0); for (i := 0; i < NUM_BSC; i := i+1) { f_init_BscState(bsc[i], mp_bsc_pc +i, mp_msc_pc, mp_bsc_ssn, mp_msc_ssn); bsc[i].BSC := BSC_CT.create; -- To view, visit https://gerrit.osmocom.org/13457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic02ce9bd46cab7e6d4833b1d838c334e377f7d50 Gerrit-Change-Number: 13457 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Use BSCx as token for BSC no x In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13458 ) Change subject: bsc-nat: Use BSCx as token for BSC no x ...................................................................... bsc-nat: Use BSCx as token for BSC no x Change-Id: I27cf1a2f5c8a55eb9883ac9430e73c95dded9b7b --- M bsc-nat/BSC_MS_Simulation.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 7b0093d..2f1961b 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -39,6 +39,8 @@ { var integer i := 0; timer T := 1.0; + var IPA_CCM_Parameters ccm_pars := IPA_Emulation.c_IPA_default_ccm_pars; + ccm_pars.name := id; g_sccp_addr_own := sccp_addr_own; g_sccp_addr_remote := sccp_addr_remote; @@ -60,7 +62,7 @@ connect(vc_BSSMAP:MGCP, vc_IPA:IPA_MGCP_PORT); /* start components */ - vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port)); + vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port, ccm_pars)); vc_SCCP.start(SCCPStart(sccp_pars)); vc_BSSMAP.start(BSSMAP_Emulation.main(BSC_MS_ConnectionHandler.BSC_MS_BssmapOps, id)); -- To view, visit https://gerrit.osmocom.org/13458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I27cf1a2f5c8a55eb9883ac9430e73c95dded9b7b Gerrit-Change-Number: 13458 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Add default module parameters In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13459 ) Change subject: bsc-nat: Add default module parameters ...................................................................... bsc-nat: Add default module parameters Change-Id: I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 --- M bsc-nat/BSCNAT_Tests.default 1 file changed, 11 insertions(+), 11 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.default b/bsc-nat/BSCNAT_Tests.default index bb279bd..37c1048 100644 --- a/bsc-nat/BSCNAT_Tests.default +++ b/bsc-nat/BSCNAT_Tests.default @@ -6,20 +6,20 @@ #*.*.udpReuseAddress := "yes"; [MODULE_PARAMETERS] -#mp_bsc_port := 49999; -#mp_bsc_ip := "127.0.0.1"; -#mp_msc_port := 5100; -#mp_msc_ip := "127.0.0.1"; -#mp_nat_port := 5000; -#mp_nat_ip := "127.0.0.1"; +mp_bsc_port := 49999; +mp_bsc_ip := "127.0.0.1"; +mp_msc_port := 5100; +mp_msc_ip := "127.0.0.1"; +mp_nat_port := 5000; +mp_nat_ip := "127.0.0.1"; #mp_ipa_mgcp_uses_osmo_ext := true; -#mp_mgcp_uses_udp := true; -#mp_callagent_ip := "127.0.0.1"; -#mp_callagent_udp_port := 2727; -#mp_mgw_ip := "127.0.0.1"; -#mp_mgw_udp_port := 2427; +mp_mgcp_uses_udp := true; +mp_callagent_ip := "127.0.0.1"; +mp_callagent_udp_port := 2727; +mp_mgw_ip := "127.0.0.1"; +mp_mgw_udp_port := 2427; [EXECUTE] -- To view, visit https://gerrit.osmocom.org/13459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 Gerrit-Change-Number: 13459 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Use id when creating components In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13460 ) Change subject: bsc-nat: Use id when creating components ...................................................................... bsc-nat: Use id when creating components Change-Id: I2c130d74405cef2b9aa1f9c0a2122fd70aa9cc62 --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 685066c..993d668 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -107,8 +107,8 @@ for (i := 0; i < NUM_MSC; i := i+1) { f_init_MscState(msc[i], mp_msc_pc +i, mp_bsc_pc, mp_msc_ssn, mp_bsc_ssn); - msc[i].MSC := MSC_CT.create; id := "MSC" & int2str(i); + msc[i].MSC := MSC_CT.create(id); msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, msc[i].sccp_pars, msc[i].sccp_addr_own, id)); } @@ -116,8 +116,8 @@ f_sleep(5.0); for (i := 0; i < NUM_BSC; i := i+1) { f_init_BscState(bsc[i], mp_bsc_pc +i, mp_msc_pc, mp_bsc_ssn, mp_msc_ssn); - bsc[i].BSC := BSC_CT.create; id := "BSC" & int2str(i); + bsc[i].BSC := BSC_CT.create(id); bsc[i].BSC.start(BSC_MS_Simulation.main(mp_nat_ip, mp_nat_port, mp_bsc_ip, mp_bsc_port+i, bsc[i].sccp_pars, bsc[i].sccp_addr_own, bsc[i].sccp_addr_peer, id)); -- To view, visit https://gerrit.osmocom.org/13460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2c130d74405cef2b9aa1f9c0a2122fd70aa9cc62 Gerrit-Change-Number: 13460 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc-nat: Add sample bsc-nat config for test In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13461 ) Change subject: bsc-nat: Add sample bsc-nat config for test ...................................................................... bsc-nat: Add sample bsc-nat config for test Change-Id: I0ab3a4fb66201cd134238f5efcf6ff80033011e3 --- A bsc-nat/bscs.config A bsc-nat/osmo-bsc-nat.cfg 2 files changed, 86 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/bscs.config b/bsc-nat/bscs.config new file mode 100644 index 0000000..6afa09b --- /dev/null +++ b/bsc-nat/bscs.config @@ -0,0 +1,19 @@ +nat + bsc 0 + token BSC0 + location_area_code 1 + description bsc + max-endpoints 32 + paging forbidden 0 + bsc 1 + token BSC1 + location_area_code 2 + description bsc + max-endpoints 32 + paging forbidden 0 + bsc 2 + token BSC2 + location_area_code 3 + description bsc + max-endpoints 32 + paging forbidden 0 diff --git a/bsc-nat/osmo-bsc-nat.cfg b/bsc-nat/osmo-bsc-nat.cfg new file mode 100644 index 0000000..ec1a7c2 --- /dev/null +++ b/bsc-nat/osmo-bsc-nat.cfg @@ -0,0 +1,67 @@ +! +! OsmoBSCNAT (0.12.0.266-2daa9) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging timestamp 1 + logging level rll notice + logging level cc notice + logging level mm notice + logging level rr notice + logging level rsl notice + logging level nm info + logging level mncc notice + logging level pag notice + logging level meas notice + logging level sccp debug + logging level msc notice + logging level mgcp notice + logging level ho notice + logging level db notice + logging level ref notice + logging level gprs debug + logging level ns info + logging level bssgp debug + logging level llc debug + logging level sndcp debug + logging level nat notice + logging level ctrl notice + logging level smpp debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice +! +line vty + no login +! +mgcp + bind ip 127.0.0.1 + bind port 2427 + rtp bts-base 4000 + rtp net-base 16000 + rtp ip-dscp 0 + no rtcp-omit + sdp audio-payload number 126 + sdp audio-payload name AMR/8000 + loop 0 + number endpoints 32 + call-agent ip 127.0.0.1 + rtp transcoder-base 0 + transcoder-remote-base 4000 +nat + msc ip 127.0.0.1 + msc port 5100 + token foo + timeout auth 2 + timeout ping 20 + timeout pong 5 + ip-dscp 0 + bscs-config-file bscs.config + access-list msceven imsi-allow ^[0-9]*[24680]$ + access-list mscodd imsi-allow ^[0-9]*[13579]$ -- To view, visit https://gerrit.osmocom.org/13461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0ab3a4fb66201cd134238f5efcf6ff80033011e3 Gerrit-Change-Number: 13461 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:12:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:12:58 +0000 Subject: Change in docker-playground[master]: Add first osmo-cn-latest image In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13438 ) Change subject: Add first osmo-cn-latest image ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f Gerrit-Change-Number: 13438 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:12:58 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:13:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:13:07 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add script to populate HLR In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13439 ) Change subject: osmo-cn-latest: Add script to populate HLR ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003 Gerrit-Change-Number: 13439 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:13:07 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:13:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:13:14 +0000 Subject: Change in docker-playground[master]: osmo-ci-latest: Add options to change mcc/mnc for SIM card data In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13440 ) Change subject: osmo-ci-latest: Add options to change mcc/mnc for SIM card data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9 Gerrit-Change-Number: 13440 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:13:14 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:13:23 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:13:23 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add README with instructions for provisioning In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13441 ) Change subject: osmo-cn-latest: Add README with instructions for provisioning ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7 Gerrit-Change-Number: 13441 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:13:23 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:13:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:13:44 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Use osmo-config-merge to configure the MSC In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13442 ) Change subject: osmo-cn-latest: Use osmo-config-merge to configure the MSC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca Gerrit-Change-Number: 13442 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:13:44 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:13:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:13:52 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Rename the script to provision the hlr In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13443 ) Change subject: osmo-cn-latest: Rename the script to provision the hlr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5 Gerrit-Change-Number: 13443 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:13:52 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:02 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Clarify steps for provisioning In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13444 ) Change subject: osmo-cn-latest: Clarify steps for provisioning ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb Gerrit-Change-Number: 13444 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:14:02 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:12 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add default osmo-msc.cfg In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13445 ) Change subject: osmo-cn-latest: Add default osmo-msc.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6 Gerrit-Change-Number: 13445 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:14:12 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:15 +0000 Subject: Change in docker-playground[master]: Add first osmo-cn-latest image In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13438 ) Change subject: Add first osmo-cn-latest image ...................................................................... Add first osmo-cn-latest image Core network in a container. Starts all the services, configuration needs to be tweaked. Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f --- A osmo-cn-latest/.release A osmo-cn-latest/Dockerfile A osmo-cn-latest/Makefile A osmo-cn-latest/Release.key A osmo-cn-latest/osmo-ggsn.cfg A osmo-cn-latest/osmo-hlr.cfg A osmo-cn-latest/osmo-mgw.cfg A osmo-cn-latest/osmo-msc.cfg A osmo-cn-latest/osmo-sgsn.cfg A osmo-cn-latest/osmo-stp.cfg A osmo-cn-latest/run.sh A osmo-cn-latest/runit/ggsn-run A osmo-cn-latest/runit/hlr-run A osmo-cn-latest/runit/mgw-run A osmo-cn-latest/runit/msc-run A osmo-cn-latest/runit/sgsn-run A osmo-cn-latest/runit/stp-run 17 files changed, 343 insertions(+), 0 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/.release b/osmo-cn-latest/.release new file mode 100644 index 0000000..334aa04 --- /dev/null +++ b/osmo-cn-latest/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=osmo-cn-latest-0.0.0 diff --git a/osmo-cn-latest/Dockerfile b/osmo-cn-latest/Dockerfile new file mode 100644 index 0000000..3b49c29 --- /dev/null +++ b/osmo-cn-latest/Dockerfile @@ -0,0 +1,45 @@ +FROM debian:stretch + +MAINTAINER Daniel Willmann + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gnupg + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-msc osmo-hlr osmo-sgsn osmo-ggsn osmo-mgw osmo-stp \ + runit telnet iptables && \ + apt-get clean + +WORKDIR /tmp + +VOLUME /data +COPY osmo-stp.cfg /data/osmo-stp.cfg +COPY osmo-msc.cfg /data/osmo-msc.cfg +COPY osmo-hlr.cfg /data/osmo-hlr.cfg +COPY osmo-mgw.cfg /data/osmo-mgw.cfg +COPY osmo-sgsn.cfg /data/osmo-sgsn.cfg +COPY osmo-ggsn.cfg /data/osmo-ggsn.cfg + +COPY runit/stp-run /etc/service/osmo-stp/run +COPY runit/msc-run /etc/service/osmo-msc/run +COPY runit/hlr-run /etc/service/osmo-hlr/run +COPY runit/mgw-run /etc/service/osmo-mgw/run +COPY runit/sgsn-run /etc/service/osmo-sgsn/run +COPY runit/ggsn-run /etc/service/osmo-ggsn/run + +WORKDIR /data +CMD ["/sbin/runit"] + + +EXPOSE 23000/udp diff --git a/osmo-cn-latest/Makefile b/osmo-cn-latest/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-cn-latest/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-cn-latest/Release.key b/osmo-cn-latest/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-cn-latest/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-cn-latest/osmo-ggsn.cfg b/osmo-cn-latest/osmo-ggsn.cfg new file mode 100644 index 0000000..899f261 --- /dev/null +++ b/osmo-cn-latest/osmo-ggsn.cfg @@ -0,0 +1,51 @@ +! +! OpenGGSN (0.94.1-adac) configuration saved from vty +!! +! +log file /data/osmo-ggsn.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging level ip info + logging level tun info + logging level ggsn info + logging level sgsn notice + logging level icmp6 debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp info + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +ggsn ggsn0 + gtp state-dir /tmp + gtp bind-ip 127.0.0.2 + apn internet + gtpu-mode tun + tun-device tun4 + type-support v4 + ip prefix dynamic 10.0.0.1/24 + ip dns 0 9.9.9.9 + ip ifconfig 10.0.0.0/24 + no shutdown + default-apn internet + no shutdown ggsn diff --git a/osmo-cn-latest/osmo-hlr.cfg b/osmo-cn-latest/osmo-hlr.cfg new file mode 100644 index 0000000..77454ed --- /dev/null +++ b/osmo-cn-latest/osmo-hlr.cfg @@ -0,0 +1,19 @@ +! +! OsmoHLR example configuration +! +log file /data/osmo-hlr.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level all debug + logging level linp error +! +line vty + bind 0.0.0.0 +ctrl + bind 0.0.0.0 +hlr + gsup + bind ip 127.0.0.1 diff --git a/osmo-cn-latest/osmo-mgw.cfg b/osmo-cn-latest/osmo-mgw.cfg new file mode 100644 index 0000000..c206914 --- /dev/null +++ b/osmo-cn-latest/osmo-mgw.cfg @@ -0,0 +1,53 @@ +! +! OsmoMGW (1.2.0.17-52e3) configuration saved from vty +!! +! +log file /data/osmo-mgw.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything + logging level rtp notice + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp debug +! +stats interval 5 +! +line vty + no login + bind 0.0.0.0 +! +mgcp + bind ip 127.0.0.1 + bind port 2427 + rtp port-range 4002 16000 + rtp bind-ip 192.168.42.10 + rtp ip-probing + rtp ip-dscp 184 + no rtp keep-alive + no rtcp-omit + no rtp-patch + sdp audio-payload number 98 + sdp audio-payload name GSM + sdp audio-payload send-ptime + sdp audio-payload send-name + loop 0 + number endpoints 31 + allow-transcoding + osmux off diff --git a/osmo-cn-latest/osmo-msc.cfg b/osmo-cn-latest/osmo-msc.cfg new file mode 100644 index 0000000..8924d1e --- /dev/null +++ b/osmo-cn-latest/osmo-msc.cfg @@ -0,0 +1,30 @@ +! +! OsmoMSC configuration saved from vty +! +log file /data/osmo-msc.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + asp asp-clnt-OsmoMSC-A-Iu 2905 2904 m3ua + remote-ip 192.168.42.10 +network + network country code 901 + mobile network code 1 + short name OsmoMSC + long name OsmoMSC + encryption a5 0 + rrlp mode none + mm info 1 +msc + mgw remote-ip 127.0.0.1 + assign-tmsi + auth-tuple-max-reuse-count 3 + auth-tuple-reuse-on-error 1 diff --git a/osmo-cn-latest/osmo-sgsn.cfg b/osmo-cn-latest/osmo-sgsn.cfg new file mode 100644 index 0000000..ef18604 --- /dev/null +++ b/osmo-cn-latest/osmo-sgsn.cfg @@ -0,0 +1,34 @@ +! +! Osmocom SGSN (0.9.0.474-0ede2) configuration saved from vty +!! +! +log file /data/osmo-sgsn.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything +! +line vty + no login + bind 0.0.0.0 +! +sgsn + gtp local-ip 127.0.0.1 + ggsn 0 remote-ip 127.0.0.2 + ggsn 0 gtp-version 1 + auth-policy remote + gsup remote-ip 127.0.0.1 + gsup remote-port 4222 +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + encapsulation udp local-ip 0.0.0.0 + encapsulation udp local-port 23000 + encapsulation framerelay-gre enabled 0 +bssgp diff --git a/osmo-cn-latest/osmo-stp.cfg b/osmo-cn-latest/osmo-stp.cfg new file mode 100644 index 0000000..96524de --- /dev/null +++ b/osmo-cn-latest/osmo-stp.cfg @@ -0,0 +1,36 @@ +! +! osmo-stp (0.0.6.3.179-b248) configuration saved from vty +!! +! +log file /data/osmo-stp.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging level all everything + logging level lglobal notice + logging level llapd notice + logging level linp debug + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + listen m3ua 2905 + accept-asp-connections dynamic-permitted + local-ip 192.168.42.10 diff --git a/osmo-cn-latest/run.sh b/osmo-cn-latest/run.sh new file mode 100755 index 0000000..d7bba95 --- /dev/null +++ b/osmo-cn-latest/run.sh @@ -0,0 +1,33 @@ +#! /bin/sh + +. ../jenkins-common.sh + +docker_images_require \ + "osmo-cn-latest" + +docker network create --subnet 192.168.42.0/24 $NET_NAME + +mkdir $VOL_BASE_DIR/osmo-cn +cp osmo-stp.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-msc.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-hlr.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-mgw.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-sgsn.cfg $VOL_BASE_DIR/osmo-cn/ +cp osmo-ggsn.cfg $VOL_BASE_DIR/osmo-cn/ +cp hlr.db $VOL_BASE_DIR/osmo-cn/ + +echo Starting Osmocom core services +docker run --rm \ + --cap-add=NET_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --network $NET_NAME --ip 192.168.42.10 \ + -p 0.0.0.0:23000:23000/udp \ + -v $VOL_BASE_DIR/osmo-cn:/data \ + --name osmo-cn \ + $REPO_USER/osmo-cn-latest + +echo Stopping containers + +docker container kill osmo-cn + +network_remove diff --git a/osmo-cn-latest/runit/ggsn-run b/osmo-cn-latest/runit/ggsn-run new file mode 100755 index 0000000..db050f9 --- /dev/null +++ b/osmo-cn-latest/runit/ggsn-run @@ -0,0 +1,4 @@ +#!/bin/sh + +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +exec /usr/bin/osmo-ggsn -c /data/osmo-ggsn.cfg diff --git a/osmo-cn-latest/runit/hlr-run b/osmo-cn-latest/runit/hlr-run new file mode 100755 index 0000000..c093d13 --- /dev/null +++ b/osmo-cn-latest/runit/hlr-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-hlr -c /data/osmo-hlr.cfg -l /data/hlr.db diff --git a/osmo-cn-latest/runit/mgw-run b/osmo-cn-latest/runit/mgw-run new file mode 100755 index 0000000..fbbcbc8 --- /dev/null +++ b/osmo-cn-latest/runit/mgw-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-mgw -c /data/osmo-mgw.cfg diff --git a/osmo-cn-latest/runit/msc-run b/osmo-cn-latest/runit/msc-run new file mode 100755 index 0000000..368aefa --- /dev/null +++ b/osmo-cn-latest/runit/msc-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-msc -c /data/osmo-msc.cfg diff --git a/osmo-cn-latest/runit/sgsn-run b/osmo-cn-latest/runit/sgsn-run new file mode 100755 index 0000000..698024b --- /dev/null +++ b/osmo-cn-latest/runit/sgsn-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-sgsn -c /data/osmo-sgsn.cfg diff --git a/osmo-cn-latest/runit/stp-run b/osmo-cn-latest/runit/stp-run new file mode 100755 index 0000000..c52c739 --- /dev/null +++ b/osmo-cn-latest/runit/stp-run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/osmo-stp -c /data/osmo-stp.cfg -- To view, visit https://gerrit.osmocom.org/13438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f Gerrit-Change-Number: 13438 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:15 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add script to populate HLR In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13439 ) Change subject: osmo-cn-latest: Add script to populate HLR ...................................................................... osmo-cn-latest: Add script to populate HLR Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003 --- A osmo-cn-latest/create_hlr.py 1 file changed, 147 insertions(+), 0 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/create_hlr.py new file mode 100755 index 0000000..4285ea6 --- /dev/null +++ b/osmo-cn-latest/create_hlr.py @@ -0,0 +1,147 @@ +#!/usr/bin/env python + +import csv +import sys +import sqlite3 + +# 3G +def create_hlr_3g(db): + conn = sqlite3.connect(db) + c = conn.execute( + """CREATE TABLE IF NOT EXISTS subscriber ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + imsi VARCHAR(15) UNIQUE NOT NULL, + msisdn VARCHAR(15) UNIQUE, + imeisv VARCHAR, + vlr_number VARCHAR(15), + hlr_number VARCHAR(15), + sgsn_number VARCHAR(15), + sgsn_address VARCHAR, + ggsn_number VARCHAR(15), + gmlc_number VARCHAR(15), + smsc_number VARCHAR(15), + periodic_lu_tmr INTEGER, + periodic_rau_tau_tmr INTEGER, + nam_cs BOOLEAN NOT NULL DEFAULT 1, + nam_ps BOOLEAN NOT NULL DEFAULT 1, + lmsi INTEGER, + ms_purged_cs BOOLEAN NOT NULL DEFAULT 0, + ms_purged_ps BOOLEAN NOT NULL DEFAULT 0 + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS subscriber_apn ( + subscriber_id INTEGER, + apn VARCHAR(256) NOT NULL + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS subscriber_multi_msisdn ( + subscriber_id INTEGER, + msisdn VARCHAR(15) NOT NULL + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS auc_2g ( + subscriber_id INTEGER PRIMARY KEY, + algo_id_2g INTEGER NOT NULL, + ki VARCHAR(32) NOT NULL + );""" + ) + c.close() + c = conn.execute( + """CREATE TABLE IF NOT EXISTS auc_3g ( + subscriber_id INTEGER PRIMARY KEY, + algo_id_3g INTEGER NOT NULL, + k VARCHAR(32) NOT NULL, + op VARCHAR(32), + opc VARCHAR(32), + sqn INTEGER NOT NULL DEFAULT 0, + ind_bitlen INTEGER NOT NULL DEFAULT 5 + );""" + ) + c.close() + c = conn.execute( + """CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi);""" + ) + conn.commit() + conn.close() + +def write_hlr_3g(db, data): + conn = sqlite3.connect(db) + c = conn.execute( + 'INSERT INTO subscriber ' + + '(imsi, msisdn) ' + + 'VALUES ' + + '(?,?);', + [ + data['imsi'], + data['extension'] + ], + ) + sub_id= c.lastrowid + c.close() + c = conn.execute( + 'INSERT INTO auc_2g ' + + '(subscriber_id, algo_id_2g, ki)' + + 'VALUES ' + + '(?,?,?);', + [ + sub_id, + 1, + data['ki'] + ], + ) + c.close() + c = conn.execute( + 'INSERT INTO auc_3g ' + + '(subscriber_id, algo_id_3g, k, opc, sqn)' + + 'VALUES ' + + '(?, ?, ?, ?, ?);', + [ + sub_id, + 5, + data['ki'], + data['opc'], + 0 + ], + ) + conn.commit() + conn.close() + +def main(infilename): + csvfields = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'extension', 'smsp', 'ki', 'opc', 'adm1'] + + create_hlr_3g("hlr.db") + inf = open(infilename, "r") + outf = open("simcards.csv", "w") + + cr = csv.DictReader(inf) + cw = csv.DictWriter(outf, csvfields) + + cw.writeheader() + for row in cr: + data = {} + data['name'] = "Subscriber " + row['iccid'][-6:-1] + data['iccid'] = row['iccid'] + data['mcc'] = row['imsi'][0:3] + data['mnc'] = row['imsi'][3:5] + data['imsi'] = row['imsi'] + data['ki'] = row['ki'] + data['opc'] = row['opc'] + data['extension'] = row['iccid'][-6:-1] + data['smsp'] = '00495555' + if "adm1" in row: + data['adm1'] = row['adm1'] + cw.writerow(data) + write_hlr_3g("hlr.db", data) + inf.close() + outf.close() + + +if __name__ == '__main__': + main(sys.argv[1]) + -- To view, visit https://gerrit.osmocom.org/13439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003 Gerrit-Change-Number: 13439 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:16 +0000 Subject: Change in docker-playground[master]: osmo-ci-latest: Add options to change mcc/mnc for SIM card data In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13440 ) Change subject: osmo-ci-latest: Add options to change mcc/mnc for SIM card data ...................................................................... osmo-ci-latest: Add options to change mcc/mnc for SIM card data Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9 --- M osmo-cn-latest/create_hlr.py 1 file changed, 24 insertions(+), 6 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/create_hlr.py index 4285ea6..b754af7 100755 --- a/osmo-cn-latest/create_hlr.py +++ b/osmo-cn-latest/create_hlr.py @@ -3,8 +3,17 @@ import csv import sys import sqlite3 +from optparse import OptionParser -# 3G +def parse_options(): + parser = OptionParser() + + parser.add_option("-c", "--mcc", dest="mcc", help="Mobile Country Code") + parser.add_option("-n", "--mnc", dest="mnc", help="Mobile Network Code") + (options, args) = parser.parse_args() + + return options, args + def create_hlr_3g(db): conn = sqlite3.connect(db) c = conn.execute( @@ -112,7 +121,10 @@ conn.commit() conn.close() -def main(infilename): +def main(): + options, args = parse_options() + + infilename = args[0] csvfields = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'extension', 'smsp', 'ki', 'opc', 'adm1'] create_hlr_3g("hlr.db") @@ -124,12 +136,18 @@ cw.writeheader() for row in cr: + imsi = row['imsi'] + if options.mcc: + imsi = options.mcc + imsi[3:] + if options.mnc: + imsi = imsi[0:3] + options.mnc + imsi[5:] + data = {} data['name'] = "Subscriber " + row['iccid'][-6:-1] data['iccid'] = row['iccid'] - data['mcc'] = row['imsi'][0:3] - data['mnc'] = row['imsi'][3:5] - data['imsi'] = row['imsi'] + data['imsi'] = imsi + data['mcc'] = data['imsi'][0:3] + data['mnc'] = data['imsi'][3:5] data['ki'] = row['ki'] data['opc'] = row['opc'] data['extension'] = row['iccid'][-6:-1] @@ -143,5 +161,5 @@ if __name__ == '__main__': - main(sys.argv[1]) + main() -- To view, visit https://gerrit.osmocom.org/13440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9 Gerrit-Change-Number: 13440 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:16 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add README with instructions for provisioning In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13441 ) Change subject: osmo-cn-latest: Add README with instructions for provisioning ...................................................................... osmo-cn-latest: Add README with instructions for provisioning Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7 --- A osmo-cn-latest/README 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/README b/osmo-cn-latest/README new file mode 100644 index 0000000..293dee9 --- /dev/null +++ b/osmo-cn-latest/README @@ -0,0 +1,11 @@ +You need a csv with the simcard data. + +To create hlr.db and change the mcc/mnc run: +./create_hlr.py --mcc 901 --mnc 23 source.csv + +This will create the hlr.db and a simcards.csv where the first digits of the +IMSI will be changed to match the MCC/MNC. In order to reprogram the SIM cards +run pySim-prog like this: + +./pySim-prog.py -p 0 -t sysmoUSIM-SJS1 --source=csv --read-csv=simcards.csv --read-iccid + -- To view, visit https://gerrit.osmocom.org/13441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7 Gerrit-Change-Number: 13441 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:17 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Use osmo-config-merge to configure the MSC In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13442 ) Change subject: osmo-cn-latest: Use osmo-config-merge to configure the MSC ...................................................................... osmo-cn-latest: Use osmo-config-merge to configure the MSC Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca --- M osmo-cn-latest/create_hlr.py R osmo-cn-latest/osmo-msc.cfg.base 2 files changed, 22 insertions(+), 6 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/create_hlr.py index b754af7..0a625a9 100755 --- a/osmo-cn-latest/create_hlr.py +++ b/osmo-cn-latest/create_hlr.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import os, sys import csv import sys import sqlite3 @@ -127,7 +128,22 @@ infilename = args[0] csvfields = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'extension', 'smsp', 'ki', 'opc', 'adm1'] - create_hlr_3g("hlr.db") + try: + create_hlr_3g("hlr.db") + except sqlite3.OperationalError: + print("hlr.db already exists, please remove!\n"); + sys.exit(1) + + msc = open("osmo-msc.cfg.patch", "w") + msc.write("network\n") + msc.write(" network country code %s\n" %(options.mcc)) + msc.write(" mobile network code %s\n" %(options.mnc)) + msc.write(" short name OsmoMSC-%s-%s\n" %(options.mcc, options.mnc)) + msc.write(" long name OsmoMSC-%s-%s\n" %(options.mcc, options.mnc)) + msc.close() + + os.system("osmo-config-merge osmo-msc.cfg.base osmo-msc.cfg.patch > osmo-msc.cfg") + inf = open(infilename, "r") outf = open("simcards.csv", "w") diff --git a/osmo-cn-latest/osmo-msc.cfg b/osmo-cn-latest/osmo-msc.cfg.base similarity index 77% rename from osmo-cn-latest/osmo-msc.cfg rename to osmo-cn-latest/osmo-msc.cfg.base index 8924d1e..042d847 100644 --- a/osmo-cn-latest/osmo-msc.cfg +++ b/osmo-cn-latest/osmo-msc.cfg.base @@ -2,11 +2,11 @@ ! OsmoMSC configuration saved from vty ! log file /data/osmo-msc.log - logging filter all 1 - logging color 1 - logging print category 1 - logging timestamp 0 - logging level all everything + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything ! line vty no login -- To view, visit https://gerrit.osmocom.org/13442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca Gerrit-Change-Number: 13442 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:18 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Rename the script to provision the hlr In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13443 ) Change subject: osmo-cn-latest: Rename the script to provision the hlr ...................................................................... osmo-cn-latest: Rename the script to provision the hlr Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5 --- R osmo-cn-latest/provision-hlr.py 1 file changed, 0 insertions(+), 0 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/create_hlr.py b/osmo-cn-latest/provision-hlr.py similarity index 100% rename from osmo-cn-latest/create_hlr.py rename to osmo-cn-latest/provision-hlr.py -- To view, visit https://gerrit.osmocom.org/13443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5 Gerrit-Change-Number: 13443 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:18 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Clarify steps for provisioning In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13444 ) Change subject: osmo-cn-latest: Clarify steps for provisioning ...................................................................... osmo-cn-latest: Clarify steps for provisioning Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb --- M osmo-cn-latest/README 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/README b/osmo-cn-latest/README index 293dee9..7e60cec 100644 --- a/osmo-cn-latest/README +++ b/osmo-cn-latest/README @@ -1,11 +1,13 @@ -You need a csv with the simcard data. +You need a csv with the simcard data and osmo-config-merge needs to be in your +path. To create hlr.db and change the mcc/mnc run: -./create_hlr.py --mcc 901 --mnc 23 source.csv +./provision_hlr.py --mcc 901 --mnc 23 source.csv This will create the hlr.db and a simcards.csv where the first digits of the -IMSI will be changed to match the MCC/MNC. In order to reprogram the SIM cards -run pySim-prog like this: +IMSI will be changed to match the MCC/MNC. In order to reprogram the IMSIs of +the SIM cards run pySim-prog: ./pySim-prog.py -p 0 -t sysmoUSIM-SJS1 --source=csv --read-csv=simcards.csv --read-iccid +This is only needed if the mcc/mnc options are used. -- To view, visit https://gerrit.osmocom.org/13444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb Gerrit-Change-Number: 13444 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:19 +0000 Subject: Change in docker-playground[master]: osmo-cn-latest: Add default osmo-msc.cfg In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13445 ) Change subject: osmo-cn-latest: Add default osmo-msc.cfg ...................................................................... osmo-cn-latest: Add default osmo-msc.cfg Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6 --- A osmo-cn-latest/osmo-msc.cfg 1 file changed, 30 insertions(+), 0 deletions(-) Approvals: Daniel Willmann: Verified Harald Welte: Looks good to me, approved diff --git a/osmo-cn-latest/osmo-msc.cfg b/osmo-cn-latest/osmo-msc.cfg new file mode 100644 index 0000000..3015850 --- /dev/null +++ b/osmo-cn-latest/osmo-msc.cfg @@ -0,0 +1,30 @@ +! +! OsmoMSC configuration saved from vty +! +log file /data/osmo-msc.log + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 0 + logging level all everything +! +line vty + no login + bind 0.0.0.0 +! +cs7 instance 0 + asp asp-clnt-OsmoMSC-A-Iu 2905 2904 m3ua + remote-ip 192.168.42.10 +network + network country code 901 + mobile network code 99 + short name UNCONFIGURED + long name UNCONFIGURED + encryption a5 0 + rrlp mode none + mm info 1 +msc + mgw remote-ip 127.0.0.1 + assign-tmsi + auth-tuple-max-reuse-count 3 + auth-tuple-reuse-on-error 1 -- To view, visit https://gerrit.osmocom.org/13445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6 Gerrit-Change-Number: 13445 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:33 +0000 Subject: Change in docker-playground[master]: ttcn3-bscnat-test: osmo-bsc_nat config file fixes In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13462 ) Change subject: ttcn3-bscnat-test: osmo-bsc_nat config file fixes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31 Gerrit-Change-Number: 13462 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 11:14:33 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:14:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:14:36 +0000 Subject: Change in docker-playground[master]: ttcn3-bscnat-test: osmo-bsc_nat config file fixes In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13462 ) Change subject: ttcn3-bscnat-test: osmo-bsc_nat config file fixes ...................................................................... ttcn3-bscnat-test: osmo-bsc_nat config file fixes * Log to file in osmo-bsc_nat * Fix number of endpoints so the test passes Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31 --- M ttcn3-bscnat-test/osmo-bsc-nat.cfg 1 file changed, 5 insertions(+), 33 deletions(-) Approvals: Harald Welte: Looks good to me, approved Daniel Willmann: Verified diff --git a/ttcn3-bscnat-test/osmo-bsc-nat.cfg b/ttcn3-bscnat-test/osmo-bsc-nat.cfg index 4f02366..e3398b9 100644 --- a/ttcn3-bscnat-test/osmo-bsc-nat.cfg +++ b/ttcn3-bscnat-test/osmo-bsc-nat.cfg @@ -2,40 +2,12 @@ ! OsmoBSCNAT (0.12.0.266-2daa9) configuration saved from vty !! ! -log stderr +log file /data/osmo-bsc_nat.log logging filter all 1 - logging color 1 + logging color 0 + logging print category 1 logging timestamp 1 - logging level rll notice - logging level cc notice - logging level mm notice - logging level rr notice - logging level rsl notice - logging level nm info - logging level mncc notice - logging level pag notice - logging level meas notice - logging level sccp debug - logging level msc notice - logging level mgcp notice - logging level ho notice - logging level db notice - logging level ref notice - logging level gprs debug - logging level ns info - logging level bssgp debug - logging level llc debug - logging level sndcp debug - logging level nat notice - logging level ctrl notice - logging level smpp debug - logging level lglobal notice - logging level llapd notice - logging level linp notice - logging level lmux notice - logging level lmi notice - logging level lmib notice - logging level lsms notice + logging level force-all debug ! line vty no login @@ -50,7 +22,7 @@ sdp audio-payload number 126 sdp audio-payload name AMR/8000 loop 0 - number endpoints 1 + number endpoints 32 call-agent ip 172.18.11.203 rtp transcoder-base 0 transcoder-remote-base 4000 -- To view, visit https://gerrit.osmocom.org/13462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31 Gerrit-Change-Number: 13462 Gerrit-PatchSet: 2 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:16:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:16:28 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13320 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 3: > > Please re-trigger tests once it's resolved. > > I find I've forgotten the best way to do that? > Is it possible without having to have Harald +2 it again? YEs. Re-triggering happens entirely in jenkins. The votes always stay as long as you don't change the code. So rebase of identical patch or only changes to the commitlog or re-triggering builds will maintain the scores. -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 3 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-CC: Max Gerrit-Comment-Date: Fri, 29 Mar 2019 11:16:28 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 11:17:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 11:17:10 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Daniel Willmann Gerrit-Comment-Date: Fri, 29 Mar 2019 11:17:10 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 14:14:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 14:14:41 +0000 Subject: Change in docker-playground[master]: print branch name and git commit hash during docker container build Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13465 Change subject: print branch name and git commit hash during docker container build ...................................................................... print branch name and git commit hash during docker container build This is quite useful when looking at jenkins logs to know which exact version was built at the time. Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae --- M gr-gsm-master/Dockerfile M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-hnbgw-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile M osmocom-bb-host-master/Dockerfile M ttcn3-bsc-test/Dockerfile M ttcn3-bscnat-test/Dockerfile M ttcn3-bts-test/Dockerfile M ttcn3-ggsn-test/Dockerfile M ttcn3-hlr-test/Dockerfile M ttcn3-mgw-test/Dockerfile M ttcn3-msc-test/Dockerfile M ttcn3-nitb-sysinfo/Dockerfile M ttcn3-pcu-test/Dockerfile M ttcn3-sgsn-test/Dockerfile M ttcn3-sip-test/Dockerfile 24 files changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/65/13465/1 diff --git a/gr-gsm-master/Dockerfile b/gr-gsm-master/Dockerfile index 24c8c95..1a8a225 100644 --- a/gr-gsm-master/Dockerfile +++ b/gr-gsm-master/Dockerfile @@ -51,6 +51,7 @@ RUN cd libosmocore \ && git fetch && git checkout -f -B $LIBOSMOCORE_BRANCH origin/$LIBOSMOCORE_BRANCH \ + && git rev-parse --abbrev-ref HEAD && git rev-parse HEAD \ && autoreconf -fi \ && ./configure \ --disable-doxygen \ @@ -65,6 +66,7 @@ RUN cd gr-gsm \ && git fetch && git checkout -f -B $GR_GSM_BRANCH origin/$GR_GSM_BRANCH \ + && git rev-parse HEAD \ && mkdir build/ \ && cd build/ \ && cmake \ diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 5c76688..5d3d2d5 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -33,6 +33,7 @@ RUN cd osmo-bsc && \ git fetch && git checkout -f -B $OSMO_BSC_BRANCH origin/$OSMO_BSC_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 69a8d4c..25d6d66 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -34,6 +34,7 @@ RUN cd osmo-bts && \ git fetch && git checkout -f -B $OSMO_BTS_BRANCH origin/$OSMO_BTS_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-trx && \ make -j8 install diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 5acdf98..bd8d815 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -26,6 +26,7 @@ ADD http://git.osmocom.org/osmo-ggsn/patch/?h=$OSMO_GGSN_BRANCH /tmp/commit RUN cd osmo-ggsn && \ git fetch && git checkout -f -B $OSMO_GGSN_BRANCH origin/$OSMO_GGSN_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 45c3bd5..07d175d 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -31,6 +31,7 @@ RUN cd osmo-hlr && \ git fetch && git checkout -f -B $OSMO_HLR_BRANCH origin/$OSMO_HLR_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install diff --git a/osmo-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index c00d68b..068025b 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -31,6 +31,7 @@ RUN cd osmo-iuh && \ git fetch && git checkout -f -B $OSMO_IUH_BRANCH origin/$OSMO_IUH_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index 2c9469e..dcfa7da 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -31,6 +31,7 @@ RUN cd osmo-mgw && \ git fetch && git checkout -f -B $OSMO_MGW_BRANCH origin/$OSMO_MGW_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index fe40d78..619dda1 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -38,6 +38,7 @@ RUN cd osmo-msc && \ git fetch && git checkout -f -B $OSMO_MSC_BRANCH origin/$OSMO_MSC_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-smpp --enable-iu && \ make -j8 install diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 867f534..9684410 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -29,6 +29,7 @@ RUN cd osmo-pcu && \ git fetch && git checkout -f -B $OSMO_PCU_BRANCH origin/$OSMO_PCU_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-trx && \ make -j8 install diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index d87f295..f941e9c 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -33,6 +33,7 @@ RUN cd osmo-sgsn && \ git fetch && git checkout -f -B $OSMO_SGSN_BRANCH origin/$OSMO_SGSN_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index e69cbc7..7340bb3 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -37,6 +37,7 @@ RUN cd osmo-sip-connector && \ git fetch && git checkout -f -B $OSMO_SIP_BRANCH origin/$OSMO_SIP_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-smpp --enable-iu && \ make -j8 install diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index ae93c10..57afbb7 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -27,6 +27,7 @@ ADD http://git.osmocom.org/libosmo-sccp/patch?h=$OSMO_STP_BRANCH /tmp/commit RUN cd libosmo-sccp && \ git fetch && git checkout -f -B $OSMO_STP_BRANCH origin/$OSMO_STP_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 0cede4b..8311f80 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -25,7 +25,8 @@ ADD http://git.osmocom.org/osmocom-bb/patch?h=$OSMO_BB_BRANCH /tmp/commit RUN cd osmocom-bb && \ - git fetch && git checkout -f -B $OSMO_BB_BRANCH origin/$OSMO_BB_BRANCH + git fetch && git checkout -f -B $OSMO_BB_BRANCH origin/$OSMO_BB_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD RUN cd osmocom-bb/src/host/trxcon && \ autoreconf -fi && \ diff --git a/ttcn3-bsc-test/Dockerfile b/ttcn3-bsc-test/Dockerfile index 29a121a..546f33b 100644 --- a/ttcn3-bsc-test/Dockerfile +++ b/ttcn3-bsc-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make bsc VOLUME /data diff --git a/ttcn3-bscnat-test/Dockerfile b/ttcn3-bscnat-test/Dockerfile index b19413e..047f21c 100644 --- a/ttcn3-bscnat-test/Dockerfile +++ b/ttcn3-bscnat-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make bsc-nat VOLUME /data diff --git a/ttcn3-bts-test/Dockerfile b/ttcn3-bts-test/Dockerfile index 1f5b47c..d8969bb 100644 --- a/ttcn3-bts-test/Dockerfile +++ b/ttcn3-bts-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make deps-update bts VOLUME /data diff --git a/ttcn3-ggsn-test/Dockerfile b/ttcn3-ggsn-test/Dockerfile index 5ca917b..6d6aff6 100644 --- a/ttcn3-ggsn-test/Dockerfile +++ b/ttcn3-ggsn-test/Dockerfile @@ -13,6 +13,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make ggsn_tests VOLUME /data diff --git a/ttcn3-hlr-test/Dockerfile b/ttcn3-hlr-test/Dockerfile index afa17fc..752d442 100644 --- a/ttcn3-hlr-test/Dockerfile +++ b/ttcn3-hlr-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make deps-update hlr VOLUME /data diff --git a/ttcn3-mgw-test/Dockerfile b/ttcn3-mgw-test/Dockerfile index e2327b7..bf13d12 100644 --- a/ttcn3-mgw-test/Dockerfile +++ b/ttcn3-mgw-test/Dockerfile @@ -14,6 +14,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make mgw VOLUME /data diff --git a/ttcn3-msc-test/Dockerfile b/ttcn3-msc-test/Dockerfile index f812ee0..53aa393 100644 --- a/ttcn3-msc-test/Dockerfile +++ b/ttcn3-msc-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make msc VOLUME /data diff --git a/ttcn3-nitb-sysinfo/Dockerfile b/ttcn3-nitb-sysinfo/Dockerfile index a50a434..d0ec87a 100644 --- a/ttcn3-nitb-sysinfo/Dockerfile +++ b/ttcn3-nitb-sysinfo/Dockerfile @@ -14,6 +14,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make sysinfo VOLUME /data diff --git a/ttcn3-pcu-test/Dockerfile b/ttcn3-pcu-test/Dockerfile index 45b22d0..fbb64f5 100644 --- a/ttcn3-pcu-test/Dockerfile +++ b/ttcn3-pcu-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make pcu VOLUME /data diff --git a/ttcn3-sgsn-test/Dockerfile b/ttcn3-sgsn-test/Dockerfile index 038a765..60ec333 100644 --- a/ttcn3-sgsn-test/Dockerfile +++ b/ttcn3-sgsn-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make sgsn VOLUME /data diff --git a/ttcn3-sip-test/Dockerfile b/ttcn3-sip-test/Dockerfile index d7ea0db..eead347 100644 --- a/ttcn3-sip-test/Dockerfile +++ b/ttcn3-sip-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make sip VOLUME /data -- To view, visit https://gerrit.osmocom.org/13465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae Gerrit-Change-Number: 13465 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 14:41:42 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 14:41:42 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 14:41:42 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 14:51:53 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 29 Mar 2019 14:51:53 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Neels Hofmeyr has removed a vote on this change. Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Removed Code-Review+2 by Harald Welte -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 14:51:54 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 29 Mar 2019 14:51:54 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Neels Hofmeyr has removed a vote on this change. Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Removed Code-Review+2 by Pau Espin Pedrol -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 14:51:58 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 29 Mar 2019 14:51:58 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13450/2/src/libmsc/sms_queue.c File src/libmsc/sms_queue.c: https://gerrit.osmocom.org/#/c/13450/2/src/libmsc/sms_queue.c at 233 PS2, Line 233: talloc_free(sms); sms->receiver is a reference to a vlr_subscr with a use count. You are now leaking that use count. Use sms_free() instead. -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 14:51:58 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 14:54:46 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 29 Mar 2019 14:54:46 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: (1 comment) otherwise, inter-msc branch wise, ack to merge https://gerrit.osmocom.org/#/c/13450/2/tests/sms_queue/sms_queue_test.c File tests/sms_queue/sms_queue_test.c: https://gerrit.osmocom.org/#/c/13450/2/tests/sms_queue/sms_queue_test.c at 148 PS2, Line 148: talloc_free(sms); all of these should probably also be sms_free() -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 14:54:46 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:01:46 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 15:01:46 +0000 Subject: Change in osmo-bsc[osmith/release-1.2.2]: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13451 ) Change subject: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: comment Gerrit-Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Gerrit-Change-Number: 13451 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 15:01:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:01:49 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 15:01:49 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bsc=5Bosmith/release-1=2E2=2E2=5D=3A_Bump_version=3A_1=2E2=2E1=2E1-fb26e_=E2=86=92_1=2E2=2E2?= In-Reply-To: References: Message-ID: Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/13452 ) Change subject: Bump version: 1.2.1.1-fb26e ? 1.2.2 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: comment Gerrit-Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a Gerrit-Change-Number: 13452 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 15:01:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:05:00 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 Mar 2019 15:05:00 +0000 Subject: Change in osmo-bsc[osmith/release-1.2.2]: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS In-Reply-To: References: Message-ID: osmith has removed a vote on this change. Change subject: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/13451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: deleteVote Gerrit-Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Gerrit-Change-Number: 13451 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:05:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 Mar 2019 15:05:07 +0000 Subject: Change in osmo-bsc[osmith/release-1.2.2]: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13451 ) Change subject: osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS ...................................................................... osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS Fix the following compile error, when libosmo-legacy-mgcp is installed, but into a different prefix than the other libosmo* libraries: In file included from osmo_bsc_msc.c:23:0: ../../include/osmocom/bsc/bsc_nat.h:24:38: fatal error: osmocom/legacy_mgcp/mgcp.h: No such file or directory #include This is needed for a new CI job, which builds old Osmocom releases against current master of all Osmocom libraries. libosmo-legacy-mgcp is provided by osmo-mgw 1.4.0 and was removed in later versions, so we want to have the 1.4.0 version installed into a fallback directory only. Related: OS#3867 Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 --- M src/osmo-bsc/Makefile.am 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: osmith: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index cc96743..a04b6f2 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -15,6 +15,7 @@ $(LIBOSMOABIS_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(LIBOSMOMGCPCLIENT_CFLAGS) \ + $(LIBOSMOLEGACYMGCP_CFLAGS) \ $(NULL) AM_LDFLAGS = \ -- To view, visit https://gerrit.osmocom.org/13451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: merged Gerrit-Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Gerrit-Change-Number: 13451 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:05:13 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 Mar 2019 15:05:13 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bsc=5Bosmith/release-1=2E2=2E2=5D=3A_Bump_version=3A_1=2E2=2E1=2E1-fb26e_=E2=86=92_1=2E2=2E2?= In-Reply-To: References: Message-ID: osmith has removed a vote on this change. Change subject: Bump version: 1.2.1.1-fb26e ? 1.2.2 ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/13452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: deleteVote Gerrit-Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a Gerrit-Change-Number: 13452 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:05:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 Mar 2019 15:05:15 +0000 Subject: =?UTF-8?Q?Change_in_osmo-bsc=5Bosmith/release-1=2E2=2E2=5D=3A_Bump_version=3A_1=2E2=2E1=2E1-fb26e_=E2=86=92_1=2E2=2E2?= In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/13452 ) Change subject: Bump version: 1.2.1.1-fb26e ? 1.2.2 ...................................................................... Bump version: 1.2.1.1-fb26e ? 1.2.2 Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: osmith: Verified Pau Espin Pedrol: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 461b0c9..787a35c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +osmo-bsc (1.2.2) unstable; urgency=medium + + * osmo-bsc/Makefile.am: use LIBOSMOLEGACYMGCP_CFLAGS + + -- Oliver Smith Thu, 28 Mar 2019 16:36:58 +0100 + osmo-bsc (1.2.1) unstable; urgency=medium [ Philipp Maier ] -- To view, visit https://gerrit.osmocom.org/13452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: osmith/release-1.2.2 Gerrit-MessageType: merged Gerrit-Change-Id: Idd1d5c212d5f156ae1327a75b368879a90a6859a Gerrit-Change-Number: 13452 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:26:29 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Fri, 29 Mar 2019 15:26:29 +0000 Subject: Change in osmo-ci[master]: Add bscnat tests to jenkins In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13463 ) Change subject: Add bscnat tests to jenkins ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f Gerrit-Change-Number: 13463 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 15:26:29 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:26:36 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Fri, 29 Mar 2019 15:26:36 +0000 Subject: Change in osmo-ci[master]: ttcn3: Order tests by time triggered In-Reply-To: References: Message-ID: Daniel Willmann has posted comments on this change. ( https://gerrit.osmocom.org/13449 ) Change subject: ttcn3: Order tests by time triggered ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 Gerrit-Change-Number: 13449 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 Mar 2019 15:26:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:27:12 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Fri, 29 Mar 2019 15:27:12 +0000 Subject: Change in osmo-ci[master]: ttcn3: Order tests by time triggered In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13449 ) Change subject: ttcn3: Order tests by time triggered ...................................................................... ttcn3: Order tests by time triggered We had some load issues with many things running at once on jenkins. This will at least make it easier from having colliding ttcn3 jobs. I also changed ttcn3-sip-test to run at 7:30 instead of 7:00 where ttcn3-bts-test runs. Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 --- M jobs/ttcn3-testsuites.yml 1 file changed, 15 insertions(+), 15 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Daniel Willmann: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 0558144..e3e6d5c 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -10,33 +10,33 @@ - "{job-name}" # Folders from docker-playground.git job-name: - # nightly + # nightly - order by time - nplab-m3ua-test: timer: 00 03 * * * - nplab-sua-test: timer: 15 03 * * * - - ttcn3-bsc-test: - timer: 00 06 * * * - - ttcn3-bsc-test-sccplite: - timer: 30 08 * * * - - ttcn3-bts-test: - timer: 00 07 * * * - ttcn3-ggsn-test: timer: 00 04 * * * - - ttcn3-hlr-test: - timer: 45 06 * * * - - ttcn3-mgw-test: - timer: 30 06 * * * - ttcn3-msc-test: timer: 30 04 * * * - - ttcn3-sgsn-test: - timer: 30 05 * * * - - ttcn3-sip-test: - timer: 00 07 * * * - ttcn3-pcu-test: timer: 00 05 * * * - ttcn3-pcu-test-sns: timer: 15 05 * * * + - ttcn3-sgsn-test: + timer: 30 05 * * * + - ttcn3-bsc-test: + timer: 00 06 * * * + - ttcn3-mgw-test: + timer: 30 06 * * * + - ttcn3-hlr-test: + timer: 45 06 * * * + - ttcn3-bts-test: + timer: 00 07 * * * + - ttcn3-sip-test: + timer: 30 07 * * * + - ttcn3-bsc-test-sccplite: + timer: 30 08 * * * # latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/13449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9 Gerrit-Change-Number: 13449 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:27:12 2019 From: gerrit-no-reply at lists.osmocom.org (Daniel Willmann) Date: Fri, 29 Mar 2019 15:27:12 +0000 Subject: Change in osmo-ci[master]: Add bscnat tests to jenkins In-Reply-To: References: Message-ID: Daniel Willmann has submitted this change and it was merged. ( https://gerrit.osmocom.org/13463 ) Change subject: Add bscnat tests to jenkins ...................................................................... Add bscnat tests to jenkins This requires Change-ID I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 from osmo-ttcn3-hacks. Fixes: OS#3179 Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Daniel Willmann: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index e3e6d5c..f42a26f 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -35,6 +35,8 @@ timer: 00 07 * * * - ttcn3-sip-test: timer: 30 07 * * * + - ttcn3-bscnat-test: + timer: 00 08 * * * - ttcn3-bsc-test-sccplite: timer: 30 08 * * * @@ -65,6 +67,8 @@ blocking: "^ttcn3-pcu-test.*" - ttcn3-pcu-test-sns-latest: blocking: "^ttcn3-pcu-test-sns.*" + - ttcn3-bscnat-test-latest: + blocking: "^ttcn3-bscnat-test.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/13463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f Gerrit-Change-Number: 13463 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Willmann Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:32:12 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 15:32:12 +0000 Subject: Change in openbsc[master]: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13433 ) Change subject: Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ...................................................................... Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones ipa_ccm_idtag_parse_off is broken, and can only be used with len_offset=1 on ID Request messages, otherwise won't work correctly. Modify ipa_ccm_idtag_parse to at least parse those correctly, and document the limitations. Those two functions are already deprecated and only used in openbsc by 3 callers: * ipa_ccm_idtag_parse in ussd_read_cb(): Broken, that function can only work for Requests and it's used to parse a Response. * ipa_ccm_idtag_parse_off in forward_sccp_to_msc (NAT): Broken, it can only be used to parse Requests and it's used to parse a Response. Furthermore, len_offset=2 is passed which makes no sense and most probably it fails always, or can even make the program crash. * ipa_ccm_idtag_parse_off in (answer_challenge): This one is fine and could actually be replaced with ipa_ccm_id_get_parse after libosmocore commit (see below) is merged. See libosmocore I6efc852dfc041192f554e41a58290a0f63298021 for more information. As a consequence of the fixes, osmo-bsc-nat now parses messages sent from VTY test correctly and thus it goes into processing them instead of silently dropping them. As a result, some VTY tests fail because they are sending incorrect format (missing NULL char in unit id strings) and osmo-bsc-nat closses its connection (due to bad auth). Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 --- M openbsc/src/osmo-bsc/osmo_bsc_msc.c M openbsc/src/osmo-bsc_nat/bsc_nat.c M openbsc/src/osmo-bsc_nat/bsc_ussd.c M openbsc/tests/vty_test_runner.py 4 files changed, 10 insertions(+), 12 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/src/osmo-bsc/osmo_bsc_msc.c b/openbsc/src/osmo-bsc/osmo_bsc_msc.c index b179ff1..badecc6 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_msc.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_msc.c @@ -456,9 +456,7 @@ .algo = OSMO_AUTH_ALG_MILENAGE, }; - ret = ipa_ccm_idtag_parse_off(&tvp, - inp->l2h + 1, - msgb_l2len(inp) - 1, 1); + ret = ipa_ccm_id_get_parse(&tvp, inp->l2h + 1, msgb_l2len(inp) - 1); if (ret < 0) { LOGP(DMSC, LOGL_ERROR, "ignoring IPA response " "message with malformed TLVs: %s\n", osmo_hexdump(inp->l2h + 1, diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat.c b/openbsc/src/osmo-bsc_nat/bsc_nat.c index c8a9e74..670b0be 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c @@ -1291,9 +1291,9 @@ if (msg->l2h[0] == IPAC_MSGT_ID_RESP && msgb_l2len(msg) > 2) { struct tlv_parsed tvp; int ret; - ret = ipa_ccm_idtag_parse_off(&tvp, - (unsigned char *) msg->l2h + 2, - msgb_l2len(msg) - 2, 0); + ret = ipa_ccm_id_resp_parse(&tvp, + (unsigned char *) msg->l2h + 1, + msgb_l2len(msg) - 1); if (ret < 0) { LOGP(DNAT, LOGL_ERROR, "ignoring IPA response " "message with malformed TLVs\n"); diff --git a/openbsc/src/osmo-bsc_nat/bsc_ussd.c b/openbsc/src/osmo-bsc_nat/bsc_ussd.c index ee0b085..dea1807 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_ussd.c +++ b/openbsc/src/osmo-bsc_nat/bsc_ussd.c @@ -141,9 +141,9 @@ if (msg->l2h[0] == IPAC_MSGT_ID_RESP) { struct tlv_parsed tvp; int ret; - ret = ipa_ccm_idtag_parse(&tvp, - (unsigned char *) msg->l2h + 2, - msgb_l2len(msg) - 2); + ret = ipa_ccm_id_resp_parse(&tvp, + (unsigned char *) msg->l2h + 1, + msgb_l2len(msg) - 1); if (ret < 0) { LOGP(DNAT, LOGL_ERROR, "ignoring IPA response " "message with malformed TLVs\n"); diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py index 5afcd2e..ca0b879 100644 --- a/openbsc/tests/vty_test_runner.py +++ b/openbsc/tests/vty_test_runner.py @@ -922,8 +922,8 @@ self.assertEqual(data, "\x00\x01\xfe\x04") print "Going to send ID_RESP response" - res = ussdSocket.send(IPA().id_resp(IPA().tag_name('key'))) - self.assertEqual(res, 10) + res = ussdSocket.send(IPA().id_resp(IPA().tag_name('key'+'\0'))) + self.assertEqual(res, 11) # initiating PING/PONG cycle to know, that the ID_RESP message has been processed @@ -1072,7 +1072,7 @@ while True: print "\tsending IPA identity(%s) at %s" % (tk, time.strftime("%T")) try: - x.send(IPA().id_resp(IPA().identity(name = tk.encode('utf-8')))) + x.send(IPA().id_resp(IPA().identity(name = (tk+'\0').encode('utf-8')))) print "\tdone sending IPA identity(%s) at %s" % (tk, time.strftime("%T")) break -- To view, visit https://gerrit.osmocom.org/13433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2 Gerrit-Change-Number: 13433 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol Gerrit-Assignee: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: osmith Gerrit-CC: Daniel Willmann -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 15:32:13 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 15:32:13 +0000 Subject: Change in openbsc[master]: vty_test_runner: Handle MGCP message recv len dynamically In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13435 ) Change subject: vty_test_runner: Handle MGCP message recv len dynamically ...................................................................... vty_test_runner: Handle MGCP message recv len dynamically Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 --- M openbsc/tests/vty_test_runner.py 1 file changed, 12 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py index ca0b879..44ccdd8 100644 --- a/openbsc/tests/vty_test_runner.py +++ b/openbsc/tests/vty_test_runner.py @@ -20,6 +20,7 @@ import unittest import socket import subprocess +import struct import osmopy.obscvty as obscvty import osmopy.osmoutil as osmoutil @@ -1089,6 +1090,16 @@ if (verbose): print "\tBSC <- NAT: ", s +def ipa_handle_mgcp(x, verbose = False): + data = x.recv(3) + s = data2str(data) + if s[4:] != "fc": + print "expected IPA(MGCP) but received %r instead" % (s[4:]) + ipa_len, = struct.unpack('>H', data[:2]) + mgcp_msg = x.recv(ipa_len) # MGCP msg + if (verbose): + print "\tBSC <- NAT (MGCP[%d]): %s" % (ipa_len, mgcp_msg) + def nat_bsc_num_con(x): return len(x.vty.command("show bsc connections").split('\n')) @@ -1106,7 +1117,7 @@ ipa_handle_resp(bsc, tk, verbose, proc=proc) if proc: print "\tproc.poll() = %r" % proc.poll() - bsc.recv(27) # MGCP msg + ipa_handle_mgcp(bsc, verbose) if proc: print "\tproc.poll() = %r" % proc.poll() ipa_handle_small(bsc, verbose) -- To view, visit https://gerrit.osmocom.org/13435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 Gerrit-Change-Number: 13435 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:40:13 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 29 Mar 2019 16:40:13 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Neels Hofmeyr, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13450 to look at the new patch set (#3). Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() A memleak has been noticed after executing some of TTCN-3 test cases. For example, the following ones: - MSC_Tests.TC_lu_and_mo_sms, - MSC_Tests.TC_lu_and_mt_sms. The key point is that a test case basically disconnects too quickly, leaving some MT SMS messages (e.g. delivery reports) undelivered, so they are getting stored in the SMSC's database. As soon as the SMSC's queue is triggered, sms_submit_pending() would retrieve pending messages from the database by calling function smsq_take_next_sms() in loop and attempt to deliver them. This function in it's turn checks whether the subscriber is attached or not. If not, the allocated 'gsm_sms' structure would not be free()ed! Therefore, every time smsq_take_next_sms() is called, one 'gsm_sms' structure for an unattached subscriber is leaked. Furthermore, there is a unit test called 'sms_queue_test', that actually does cover smsq_take_next_sms() and was designed to catch some potential memory leaks, but... In order to avoid emulating the low-level SQLite API, the unit test by design overwrites some functions of libmsc, including db_sms_get_next_unsent_rr_msisdn(), that is being called by smsq_take_next_sms(). The problem is that the original function in libmsc does allocate a 'gsm_sms' structure on heap (using talloc), while the overwriting function did this statically, returning a pointer to stack. This critical difference made it impossible to spot the memleak in smsq_take_next_sms() during the unit test execution. Let's refactor 'sms_queue_test' to use dynamic memory allocation, and finally fix the evil memleak in smsq_take_next_sms(). Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Closes: OS#3860 --- M src/libmsc/sms_queue.c M tests/sms_queue/sms_queue_test.c 2 files changed, 37 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/50/13450/3 -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:40:39 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:40:39 +0000 Subject: Change in docker-playground[master]: print branch name and git commit hash during docker container build In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13465 ) Change subject: print branch name and git commit hash during docker container build ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae Gerrit-Change-Number: 13465 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 16:40:39 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:40:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:40:40 +0000 Subject: Change in docker-playground[master]: print branch name and git commit hash during docker container build In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13465 ) Change subject: print branch name and git commit hash during docker container build ...................................................................... print branch name and git commit hash during docker container build This is quite useful when looking at jenkins logs to know which exact version was built at the time. Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae --- M gr-gsm-master/Dockerfile M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-hnbgw-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile M osmocom-bb-host-master/Dockerfile M ttcn3-bsc-test/Dockerfile M ttcn3-bscnat-test/Dockerfile M ttcn3-bts-test/Dockerfile M ttcn3-ggsn-test/Dockerfile M ttcn3-hlr-test/Dockerfile M ttcn3-mgw-test/Dockerfile M ttcn3-msc-test/Dockerfile M ttcn3-nitb-sysinfo/Dockerfile M ttcn3-pcu-test/Dockerfile M ttcn3-sgsn-test/Dockerfile M ttcn3-sip-test/Dockerfile 24 files changed, 26 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/gr-gsm-master/Dockerfile b/gr-gsm-master/Dockerfile index 24c8c95..1a8a225 100644 --- a/gr-gsm-master/Dockerfile +++ b/gr-gsm-master/Dockerfile @@ -51,6 +51,7 @@ RUN cd libosmocore \ && git fetch && git checkout -f -B $LIBOSMOCORE_BRANCH origin/$LIBOSMOCORE_BRANCH \ + && git rev-parse --abbrev-ref HEAD && git rev-parse HEAD \ && autoreconf -fi \ && ./configure \ --disable-doxygen \ @@ -65,6 +66,7 @@ RUN cd gr-gsm \ && git fetch && git checkout -f -B $GR_GSM_BRANCH origin/$GR_GSM_BRANCH \ + && git rev-parse HEAD \ && mkdir build/ \ && cd build/ \ && cmake \ diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 5c76688..5d3d2d5 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -33,6 +33,7 @@ RUN cd osmo-bsc && \ git fetch && git checkout -f -B $OSMO_BSC_BRANCH origin/$OSMO_BSC_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 69a8d4c..25d6d66 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -34,6 +34,7 @@ RUN cd osmo-bts && \ git fetch && git checkout -f -B $OSMO_BTS_BRANCH origin/$OSMO_BTS_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-trx && \ make -j8 install diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 5acdf98..bd8d815 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -26,6 +26,7 @@ ADD http://git.osmocom.org/osmo-ggsn/patch/?h=$OSMO_GGSN_BRANCH /tmp/commit RUN cd osmo-ggsn && \ git fetch && git checkout -f -B $OSMO_GGSN_BRANCH origin/$OSMO_GGSN_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 45c3bd5..07d175d 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -31,6 +31,7 @@ RUN cd osmo-hlr && \ git fetch && git checkout -f -B $OSMO_HLR_BRANCH origin/$OSMO_HLR_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install diff --git a/osmo-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index c00d68b..068025b 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -31,6 +31,7 @@ RUN cd osmo-iuh && \ git fetch && git checkout -f -B $OSMO_IUH_BRANCH origin/$OSMO_IUH_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index 2c9469e..dcfa7da 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -31,6 +31,7 @@ RUN cd osmo-mgw && \ git fetch && git checkout -f -B $OSMO_MGW_BRANCH origin/$OSMO_MGW_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index fe40d78..619dda1 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -38,6 +38,7 @@ RUN cd osmo-msc && \ git fetch && git checkout -f -B $OSMO_MSC_BRANCH origin/$OSMO_MSC_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-smpp --enable-iu && \ make -j8 install diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 867f534..9684410 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -29,6 +29,7 @@ RUN cd osmo-pcu && \ git fetch && git checkout -f -B $OSMO_PCU_BRANCH origin/$OSMO_PCU_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-trx && \ make -j8 install diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index d87f295..f941e9c 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -33,6 +33,7 @@ RUN cd osmo-sgsn && \ git fetch && git checkout -f -B $OSMO_SGSN_BRANCH origin/$OSMO_SGSN_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index e69cbc7..7340bb3 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -37,6 +37,7 @@ RUN cd osmo-sip-connector && \ git fetch && git checkout -f -B $OSMO_SIP_BRANCH origin/$OSMO_SIP_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure --enable-smpp --enable-iu && \ make -j8 install diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index ae93c10..57afbb7 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -27,6 +27,7 @@ ADD http://git.osmocom.org/libosmo-sccp/patch?h=$OSMO_STP_BRANCH /tmp/commit RUN cd libosmo-sccp && \ git fetch && git checkout -f -B $OSMO_STP_BRANCH origin/$OSMO_STP_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ make -j8 install && \ diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 0cede4b..8311f80 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -25,7 +25,8 @@ ADD http://git.osmocom.org/osmocom-bb/patch?h=$OSMO_BB_BRANCH /tmp/commit RUN cd osmocom-bb && \ - git fetch && git checkout -f -B $OSMO_BB_BRANCH origin/$OSMO_BB_BRANCH + git fetch && git checkout -f -B $OSMO_BB_BRANCH origin/$OSMO_BB_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD RUN cd osmocom-bb/src/host/trxcon && \ autoreconf -fi && \ diff --git a/ttcn3-bsc-test/Dockerfile b/ttcn3-bsc-test/Dockerfile index 29a121a..546f33b 100644 --- a/ttcn3-bsc-test/Dockerfile +++ b/ttcn3-bsc-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make bsc VOLUME /data diff --git a/ttcn3-bscnat-test/Dockerfile b/ttcn3-bscnat-test/Dockerfile index b19413e..047f21c 100644 --- a/ttcn3-bscnat-test/Dockerfile +++ b/ttcn3-bscnat-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make bsc-nat VOLUME /data diff --git a/ttcn3-bts-test/Dockerfile b/ttcn3-bts-test/Dockerfile index 1f5b47c..d8969bb 100644 --- a/ttcn3-bts-test/Dockerfile +++ b/ttcn3-bts-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make deps-update bts VOLUME /data diff --git a/ttcn3-ggsn-test/Dockerfile b/ttcn3-ggsn-test/Dockerfile index 5ca917b..6d6aff6 100644 --- a/ttcn3-ggsn-test/Dockerfile +++ b/ttcn3-ggsn-test/Dockerfile @@ -13,6 +13,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make ggsn_tests VOLUME /data diff --git a/ttcn3-hlr-test/Dockerfile b/ttcn3-hlr-test/Dockerfile index afa17fc..752d442 100644 --- a/ttcn3-hlr-test/Dockerfile +++ b/ttcn3-hlr-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make deps-update hlr VOLUME /data diff --git a/ttcn3-mgw-test/Dockerfile b/ttcn3-mgw-test/Dockerfile index e2327b7..bf13d12 100644 --- a/ttcn3-mgw-test/Dockerfile +++ b/ttcn3-mgw-test/Dockerfile @@ -14,6 +14,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make mgw VOLUME /data diff --git a/ttcn3-msc-test/Dockerfile b/ttcn3-msc-test/Dockerfile index f812ee0..53aa393 100644 --- a/ttcn3-msc-test/Dockerfile +++ b/ttcn3-msc-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make msc VOLUME /data diff --git a/ttcn3-nitb-sysinfo/Dockerfile b/ttcn3-nitb-sysinfo/Dockerfile index a50a434..d0ec87a 100644 --- a/ttcn3-nitb-sysinfo/Dockerfile +++ b/ttcn3-nitb-sysinfo/Dockerfile @@ -14,6 +14,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make sysinfo VOLUME /data diff --git a/ttcn3-pcu-test/Dockerfile b/ttcn3-pcu-test/Dockerfile index 45b22d0..fbb64f5 100644 --- a/ttcn3-pcu-test/Dockerfile +++ b/ttcn3-pcu-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make pcu VOLUME /data diff --git a/ttcn3-sgsn-test/Dockerfile b/ttcn3-sgsn-test/Dockerfile index 038a765..60ec333 100644 --- a/ttcn3-sgsn-test/Dockerfile +++ b/ttcn3-sgsn-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make sgsn VOLUME /data diff --git a/ttcn3-sip-test/Dockerfile b/ttcn3-sip-test/Dockerfile index d7ea0db..eead347 100644 --- a/ttcn3-sip-test/Dockerfile +++ b/ttcn3-sip-test/Dockerfile @@ -17,6 +17,7 @@ RUN cd osmo-ttcn3-hacks && \ git fetch && \ git checkout -f -B $OSMO_TTCN3_BRANCH origin/$OSMO_TTCN3_BRANCH && \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ make sip VOLUME /data -- To view, visit https://gerrit.osmocom.org/13465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae Gerrit-Change-Number: 13465 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:41:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:41:06 +0000 Subject: Change in osmo-ci[master]: Cosmetic: build-old-tags: osmo-msc: note fixed in In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13453 ) Change subject: Cosmetic: build-old-tags: osmo-msc: note fixed in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297 Gerrit-Change-Number: 13453 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Fri, 29 Mar 2019 16:41:06 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:42:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:42:15 +0000 Subject: Change in libosmocore[master]: osmo_escape_str_buf: Always copy, don't return input string pointer In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13447 to look at the new patch set (#2). Change subject: osmo_escape_str_buf: Always copy, don't return input string pointer ...................................................................... osmo_escape_str_buf: Always copy, don't return input string pointer osmo_escape_str_buf() used to have the somewhat odd semantics that if no escaping was needed, it would return the original pointer without making any copy to the output buffer. While this seems like an elegant optimization, it is a very strange behavior and it works differently than all of our other *_buf() functions. Let's unify the API and turn osmo_escape_str_buf() into a strlcpy() if no escaping is needed. Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 --- M include/osmocom/core/utils.h M src/utils.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 4 files changed, 10 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/13447/2 -- To view, visit https://gerrit.osmocom.org/13447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 Gerrit-Change-Number: 13447 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:42:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:42:18 +0000 Subject: Change in libosmocore[master]: osmo_escape_str_buf: Always copy, don't return input string pointer In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13447 ) Change subject: osmo_escape_str_buf: Always copy, don't return input string pointer ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 Gerrit-Change-Number: 13447 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 16:42:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:42:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:42:25 +0000 Subject: Change in libosmocore[master]: osmo_escape_str_buf: Always copy, don't return input string pointer In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13447 ) Change subject: osmo_escape_str_buf: Always copy, don't return input string pointer ...................................................................... osmo_escape_str_buf: Always copy, don't return input string pointer osmo_escape_str_buf() used to have the somewhat odd semantics that if no escaping was needed, it would return the original pointer without making any copy to the output buffer. While this seems like an elegant optimization, it is a very strange behavior and it works differently than all of our other *_buf() functions. Let's unify the API and turn osmo_escape_str_buf() into a strlcpy() if no escaping is needed. Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 --- M include/osmocom/core/utils.h M src/utils.c M tests/utils/utils_test.c M tests/utils/utils_test.ok 4 files changed, 10 insertions(+), 31 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 16159d3..e3728cd 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -137,7 +137,7 @@ bool osmo_separated_identifiers_valid(const char *str, const char *sep_chars); const char *osmo_escape_str(const char *str, int len); -const char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize); +char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize); const char *osmo_quote_str(const char *str, int in_len); const char *osmo_quote_str_buf(const char *str, int in_len, char *buf, size_t bufsize); diff --git a/src/utils.c b/src/utils.c index 2d5bcb0..019e733 100644 --- a/src/utils.c +++ b/src/utils.c @@ -538,14 +538,14 @@ return osmo_separated_identifiers_valid(str, NULL); } -/*! Return the string with all non-printable characters escaped. +/*! Return the string with all non-printable characters escapeda, in user-supplied buffer. * \param[in] str A string that may contain any characters. * \param[in] len Pass -1 to print until nul char, or >= 0 to force a length. * \param[inout] buf string buffer to write escaped characters to. * \param[in] bufsize size of \a buf. - * \returns buf containing an escaped representation, possibly truncated, or str itself. + * \returns buf containing an escaped representation, possibly truncated. */ -const char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize) +char *osmo_escape_str_buf(const char *str, int in_len, char *buf, size_t bufsize) { int in_pos = 0; int next_unprintable = 0; @@ -567,9 +567,10 @@ && str[next_unprintable] != '\\'; next_unprintable++); - if (next_unprintable == in_len - && in_pos == 0) - return str; + if (next_unprintable == in_len && in_pos == 0) { + osmo_strlcpy(buf, str, bufsize); + return buf; + } while (in_pos < next_unprintable && out_pos < out_len) out[out_pos++] = str[in_pos++]; @@ -633,25 +634,13 @@ */ const char *osmo_quote_str_buf(const char *str, int in_len, char *buf, size_t bufsize) { - const char *res; int l; if (!str) return "NULL"; if (bufsize < 3) return ""; buf[0] = '"'; - res = osmo_escape_str_buf(str, in_len, buf + 1, bufsize - 2); - /* if osmo_escape_str_buf() returned the str itself, we need to copy it to buf to be able to - * quote it. */ - if (res == str) { - /* max_len = bufsize - two quotes - nul term */ - int max_len = bufsize - 2 - 1; - if (in_len >= 0) - max_len = OSMO_MIN(in_len, max_len); - /* It is not allowed to pass unterminated strings into osmo_strlcpy() :/ */ - strncpy(buf + 1, str, max_len); - buf[1 + max_len] = '\0'; - } + osmo_escape_str_buf(str, in_len, buf + 1, bufsize - 2); l = strlen(buf); buf[l] = '"'; buf[l+1] = '\0'; /* both osmo_escape_str_buf() and max_len above ensure room for '\0' */ diff --git a/tests/utils/utils_test.c b/tests/utils/utils_test.c index d592fe0..711d6e1 100644 --- a/tests/utils/utils_test.c +++ b/tests/utils/utils_test.c @@ -545,7 +545,7 @@ printf("- passthru:\n"); res = osmo_escape_str(printable, -1); - if (res != printable) + if (strcmp(res, printable)) printf("NOT passed through! \"%s\"\n", res); else printf("passed through unchanged \"%s\"\n", res); @@ -560,14 +560,6 @@ memset(out_buf, 0x7f, sizeof(out_buf)); printf("\"%s\"\n", osmo_escape_str_buf((const char *)in_buf, sizeof(in_buf), out_buf, 10)); OSMO_ASSERT(out_buf[10] == 0x7f); - - printf("- passthrough without truncation when no escaping needed:\n"); - memset(in_buf, 'x', sizeof(in_buf)); - in_buf[19] = 'E'; - in_buf[20] = '\0'; - memset(out_buf, 0x7f, sizeof(out_buf)); - printf("\"%s\"\n", osmo_escape_str_buf((const char *)in_buf, -1, out_buf, 10)); - OSMO_ASSERT(out_buf[0] == 0x7f); } static void str_quote_test(void) diff --git a/tests/utils/utils_test.ok b/tests/utils/utils_test.ok index 1215ddd..8fce9f1 100644 --- a/tests/utils/utils_test.ok +++ b/tests/utils/utils_test.ok @@ -232,8 +232,6 @@ "" - truncation when too long: "\axxxxxxE" -- passthrough without truncation when no escaping needed: -"xxxxxxxxxxxxxxxxxxxE" Testing string quoting - all chars from 0 to 255 in batches of 16: -- To view, visit https://gerrit.osmocom.org/13447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3a02bdb27008a73101c2db41ac04248960ed4064 Gerrit-Change-Number: 13447 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:42:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:42:49 +0000 Subject: Change in libosmocore[master]: Add _c versions of functions that otherwise return static buffers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13311 ) Change subject: Add _c versions of functions that otherwise return static buffers ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8481c19b68ff67cfa22abb93c405ebcfcb0ab19b Gerrit-Change-Number: 13311 Gerrit-PatchSet: 8 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Fri, 29 Mar 2019 16:42:49 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:42:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:42:53 +0000 Subject: Change in libosmocore[master]: Add _buf() functions to bypass static string buffers In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13310 ) Change subject: Add _buf() functions to bypass static string buffers ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/13310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibf85f79e93244f53b2684ff6f1095c5b41203e05 Gerrit-Change-Number: 13310 Gerrit-PatchSet: 8 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Neels Hofmeyr Gerrit-CC: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 16:42:53 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:43:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:43:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HLR_Tests.ttcn: suspend some compilation warnings In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13448 ) Change subject: HLR_Tests.ttcn: suspend some compilation warnings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifda42aa18af8076013b436364513296b2b008731 Gerrit-Change-Number: 13448 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Fri, 29 Mar 2019 16:43:30 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:43:34 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 29 Mar 2019 16:43:34 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/13450/2/src/libmsc/sms_queue.c File src/libmsc/sms_queue.c: https://gerrit.osmocom.org/#/c/13450/2/src/libmsc/sms_queue.c at 233 PS2, Line 233: talloc_free(sms); > sms->receiver is a reference to a vlr_subscr with a use count. You are now leaking that use count. [?] You're right, thanks! Done. https://gerrit.osmocom.org/#/c/13450/2/tests/sms_queue/sms_queue_test.c File tests/sms_queue/sms_queue_test.c: https://gerrit.osmocom.org/#/c/13450/2/tests/sms_queue/sms_queue_test.c at 148 PS2, Line 148: talloc_free(sms); > all of these should probably also be sms_free() Correct. Since sms_free() may call vlr_subscr_put() on our statically allocated 'arbitrary_vsub', I had to ensure a big enough initial arbitrary_vsub.use_count value. -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 16:43:34 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Fri, 29 Mar 2019 16:44:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: HLR_Tests.ttcn: suspend some compilation warnings In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13448 ) Change subject: HLR_Tests.ttcn: suspend some compilation warnings ...................................................................... HLR_Tests.ttcn: suspend some compilation warnings In the most use cases of f_SS_expect() we are not interested in GSUP_PDU returned by this function. Calling it without storing the returned value causes TTCN-3 compiler to complain: warning: The value returned by function `@HLR_Tests.f_SS_expect' is not used Let's make use of previously unused variable 'res', and save the returned GSUP_PDU to make the TTCN-3 compiler happy. Change-Id: Ifda42aa18af8076013b436364513296b2b008731 --- M hlr/HLR_Tests.ttcn 1 file changed, 34 insertions(+), 20 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index e32fa68..da6ad7c 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -783,8 +783,9 @@ ussd_string := "*#200#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_FACILITY_RETURN_ERROR(1, 18)); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_FACILITY_RETURN_ERROR(1, 18)); } testcase TC_mo_ussd_unknown() runs on test_CT { var HlrSubscriberList sl; @@ -809,8 +810,9 @@ ussd_string := "*100#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_FACILITY_RETURN_ERROR(1, 34)); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_FACILITY_RETURN_ERROR(1, 34)); } testcase TC_mo_ussd_euse_disc() runs on test_CT { var HlrSubscriberList sl; @@ -837,8 +839,10 @@ GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); resp_str := "Your IMSI is " & hex2str(g_pars.sub.imsi); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit(resp_str))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit(resp_str))); } testcase TC_mo_ussd_iuse_imsi() runs on test_CT { var HlrSubscriberList sl; @@ -865,8 +869,10 @@ GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); resp_str := "Your extension is " & hex2str(g_pars.sub.msisdn); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit(resp_str))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit(resp_str))); } testcase TC_mo_ussd_iuse_msisdn() runs on test_CT { var HlrSubscriberList sl; @@ -893,8 +899,10 @@ ussd_string := "*100#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit("*100#"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("*100#"))); } testcase TC_mo_ussd_euse() runs on test_CT { var HlrSubscriberList sl; @@ -925,8 +933,10 @@ GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); /* expect echo response from EUSE */ - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_CONTINUE, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit("*100#"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_CONTINUE, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("*100#"))); /* Simulate CONTINUE from MS/MSC */ ss := f_USSD_FACILITY_IE_INVOKE(op_code := SS_OP_CODE_PROCESS_USS_REQ, @@ -935,9 +945,10 @@ OSMO_GSUP_SESSION_STATE_CONTINUE, ss))); /* expect echo response from EUSE */ - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, - f_encGSM7bit("mahlzeit"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("mahlzeit"))); } testcase TC_mo_ussd_euse_continue() runs on test_CT { var HlrSubscriberList sl; @@ -969,8 +980,10 @@ ussd_string := "*999#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_BEGIN, ss))); - f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, f_encGSM7bit("*999#"))); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, + f_encGSM7bit("*999#"))); } testcase TC_mo_ussd_euse_defaultroute() runs on test_CT { var HlrSubscriberList sl; @@ -1004,6 +1017,7 @@ */ private function f_TC_mo_sss_reject() runs on HLR_ConnHdlr { var SS_FacilityInformation ss_req; + var GSUP_PDU res; /* Prepare '*#21#' SS request */ ss_req := valueof(ts_SS_FACILITY_INVOKE( @@ -1019,9 +1033,9 @@ enc_SS_FacilityInformation(ss_req)))); /* Expect ReturnError with FACILITY_NOT_SUPPORTED */ - f_SS_expect(g_pars.sub.imsi, - g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, - tr_SS_FACILITY_RETURN_ERROR(0, 21)); + res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, + OSMO_GSUP_SESSION_STATE_END, + tr_SS_FACILITY_RETURN_ERROR(0, 21)); } testcase TC_mo_sss_reject() runs on test_CT { var HLR_ConnHdlrPars pars; -- To view, visit https://gerrit.osmocom.org/13448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ifda42aa18af8076013b436364513296b2b008731 Gerrit-Change-Number: 13448 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:46:58 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 29 Mar 2019 16:46:58 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/13450/2/tests/sms_queue/sms_queue_test.c File tests/sms_queue/sms_queue_test.c: https://gerrit.osmocom.org/#/c/13450/2/tests/sms_queue/sms_queue_test.c at 179 PS2, Line 179: talloc_free Additionally, this (and the next one) call doesn't make sense, as we assert sms == NULL. Removed both in the latest version. -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 29 Mar 2019 16:46:58 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 16:57:02 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 29 Mar 2019 16:57:02 +0000 Subject: Change in libosmo-sccp[master]: NOT FOR MERGE: separate sccp user conn id Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13466 Change subject: NOT FOR MERGE: separate sccp user conn id ...................................................................... NOT FOR MERGE: separate sccp user conn id Change-Id: Ifd55c6b7ed2558ff072042079cf45f5068a971de --- M src/sccp_scoc.c 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/66/13466/1 diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index cb1d567..57d27ad 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -724,7 +724,7 @@ switch (OSMO_PRIM_HDR(&scu_prim->oph)) { case OSMO_PRIM(OSMO_SCU_PRIM_N_DISCONNECT, PRIM_OP_INDICATION): udisp = &scu_prim->u.disconnect; - udisp->conn_id = conn->conn_id; + udisp->conn_id = conn->user_conn_id; udisp->responding_addr = conn->called_addr; udisp->originator = OSMO_SCCP_ORIG_UNDEFINED; //udisp->in_sequence_control; @@ -743,7 +743,7 @@ break; case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_INDICATION): uconp = &scu_prim->u.connect; - uconp->conn_id = conn->conn_id; + uconp->conn_id = scu_gen_conn_id(conn->user...); uconp->called_addr = conn->called_addr; uconp->calling_addr = conn->calling_addr; uconp->sccp_class = conn->sccp_class; @@ -759,7 +759,7 @@ break; case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_CONFIRM): uconp = &scu_prim->u.connect; - uconp->conn_id = conn->conn_id; + uxxp->conn_id = conn->user_conn_id; uconp->called_addr = conn->called_addr; uconp->calling_addr = conn->calling_addr; //scu_prim->u.connect.in_sequence_control @@ -774,7 +774,7 @@ break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): udatp = &scu_prim->u.data; - udatp->conn_id = conn->conn_id; + xx->conn_id = conn->user_conn_id; udatp->importance = conn->importance; data_ie = xua_msg_find_tag(xua, SUA_IEI_DATA); if (data_ie) { @@ -1710,7 +1710,8 @@ return sccp_sclc_user_sap_down(scu, oph); case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_REQUEST): /* Allocate new connection structure */ - conn = conn_create_id(inst, prim->u.connect.conn_id); + conn = conn_create(inst); + conn->user_conn_id = prim->u.connect.conn_id; if (!conn) { /* FIXME: inform SCCP user with proper reply */ LOGP(DLSCCP, LOGL_ERROR, "Cannot create conn-id for primitive %s\n", @@ -1724,7 +1725,7 @@ case OSMO_PRIM(OSMO_SCU_PRIM_N_DISCONNECT, PRIM_OP_REQUEST): case OSMO_PRIM(OSMO_SCU_PRIM_N_RESET, PRIM_OP_REQUEST): /* Resolve existing connection structure */ - conn = conn_find_by_id(inst, scu_prim_conn_id(prim)); + conn = conn_find_by_user_id(inst, scu, scu_prim_conn_id(prim)); if (!conn) { /* FIXME: inform SCCP user with proper reply */ LOGP(DLSCCP, LOGL_ERROR, "Received unknown conn-id %u for primitive %s\n", -- To view, visit https://gerrit.osmocom.org/13466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifd55c6b7ed2558ff072042079cf45f5068a971de Gerrit-Change-Number: 13466 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 17:39:45 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 17:39:45 +0000 Subject: Change in osmo-trx[master]: osmo-trx: Avoid handling signals after shutdown triggered Message-ID: Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/13467 Change subject: osmo-trx: Avoid handling signals after shutdown triggered ...................................................................... osmo-trx: Avoid handling signals after shutdown triggered Recently a blocked osmo-trx process was found after ending SIGTERM to it. Apparently one thread was handling SIGTERM and calling fprintf() (grabbing libc lock) while another thread was handling another signal and also grabbing similar lock. Both thread looked deadlocked there. Probably this change doesn't fix the block on its own, but at least simplifies scenarios inside signal ctx which can go wrong. Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 --- M Transceiver52M/osmo-trx.cpp 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/67/13467/1 diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 1f35cd8..a418c6e 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -164,6 +164,12 @@ static void sig_handler(int signo) { + + if (gshutdown) + /* We are in the middle of shutdown process, avoid any kind of extra + action like printing */ + return; + fprintf(stdout, "signal %d received\n", signo); switch (signo) { case SIGINT: -- To view, visit https://gerrit.osmocom.org/13467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 Gerrit-Change-Number: 13467 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 17:51:31 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Fri, 29 Mar 2019 17:51:31 +0000 Subject: Change in osmo-trx[master]: osmo-trx: Avoid handling signals after shutdown triggered In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13467 to look at the new patch set (#2). Change subject: osmo-trx: Avoid handling signals after shutdown triggered ...................................................................... osmo-trx: Avoid handling signals after shutdown triggered Recently a blocked osmo-trx process was found after ending SIGTERM to it. Apparently one thread was handling SIGTERM and calling fprintf() (grabbing libc lock) while another thread was handling another signal and also grabbing similar lock. Both thread looked deadlocked there. Probably this change doesn't fix the block on its own, but at least simplifies scenarios inside signal ctx which can go wrong. Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 --- M Transceiver52M/osmo-trx.cpp 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/67/13467/2 -- To view, visit https://gerrit.osmocom.org/13467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 Gerrit-Change-Number: 13467 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (1000002) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 18:58:21 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Fri, 29 Mar 2019 18:58:21 +0000 Subject: Change in openbsc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Keith Whyte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13320 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Write configuration correctly from vty (alert notifications) The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 --- M openbsc/src/libmsc/smpp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/src/libmsc/smpp_vty.c b/openbsc/src/libmsc/smpp_vty.c index f1df652..8647867 100644 --- a/openbsc/src/libmsc/smpp_vty.c +++ b/openbsc/src/libmsc/smpp_vty.c @@ -582,8 +582,8 @@ vty_out(vty, " osmocom-extensions%s", VTY_NEWLINE); if (acl->dcs_transparent) vty_out(vty, " dcs-transparent%s", VTY_NEWLINE); - if (acl->alert_notifications) - vty_out(vty, " alert-notifications%s", VTY_NEWLINE); + if (!acl->alert_notifications) + vty_out(vty, " no alert-notifications%s", VTY_NEWLINE); llist_for_each_entry(r, &acl->route_list, list) write_esme_route_single(vty, r); -- To view, visit https://gerrit.osmocom.org/13320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4 Gerrit-Change-Number: 13320 Gerrit-PatchSet: 6 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-CC: Max -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 19:29:00 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Fri, 29 Mar 2019 19:29:00 +0000 Subject: Change in osmo-msc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/13321 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 Gerrit-Change-Number: 13321 Gerrit-PatchSet: 1 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 19:29:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 29 20:09:27 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 29 Mar 2019 20:09:27 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5c9e7b9455aaa_34217225f4296074@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 196s] autoreconnecting test step 3 [client OK, server OK], FD reg 1 [ 196s] [ 196s] autoreconnecting test step 2 [client OK, server OK], FD reg 0 [ 196s] + [ 196s] +autoreconnecting test step 1 [client OK, server OK], FD reg 0 [ 196s] connection closed with srv [ 196s] [ 196s] -autoreconnecting test step 1 [client OK, server NA], FD reg 0 [ 196s] +autoreconnecting test step 0 [client OK, server NA], FD reg 0 [ 196s] [ 196s] non-reconnecting test step 7 [client NA, server OK], FD reg 1 [ 196s] [ 196s] 1. testsuite.at:4: 1. stream_test (testsuite.at:4): FAILED (testsuite.at:8) [ 196s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 196s] make[1]: *** [override_dh_auto_test] Error 1 [ 196s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 196s] debian/rules:13: recipe for target 'build' failed [ 196s] make: *** [build] Error 2 [ 196s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 196s] [ 196s] lamb28 failed "build libosmo-netif_0.4.0.25.e380.dsc" at Fri Mar 29 20:09:21 UTC 2019. [ 196s] [ 196s] ### VM INTERACTION START ### [ 197s] Powering off. [ 197s] [ 181.748331] reboot: Power down [ 198s] ### VM INTERACTION END ### [ 198s] [ 198s] lamb28 failed "build libosmo-netif_0.4.0.25.e380.dsc" at Fri Mar 29 20:09:24 UTC 2019. [ 198s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Mar 29 22:48:35 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Fri, 29 Mar 2019 22:48:35 +0000 Subject: Change in osmo-msc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Keith Whyte has posted comments on this change. ( https://gerrit.osmocom.org/13321 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 Gerrit-Change-Number: 13321 Gerrit-PatchSet: 1 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Fri, 29 Mar 2019 22:48:35 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 29 22:48:38 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Fri, 29 Mar 2019 22:48:38 +0000 Subject: Change in osmo-msc[master]: Write configuration correctly from vty (alert notifications) In-Reply-To: References: Message-ID: Keith Whyte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13321 ) Change subject: Write configuration correctly from vty (alert notifications) ...................................................................... Write configuration correctly from vty (alert notifications) The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 --- M src/libmsc/smpp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Neels Hofmeyr: Looks good to me, approved Keith Whyte: Looks good to me, approved Pau Espin Pedrol: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libmsc/smpp_vty.c b/src/libmsc/smpp_vty.c index 4c179d4..9026f6c 100644 --- a/src/libmsc/smpp_vty.c +++ b/src/libmsc/smpp_vty.c @@ -582,8 +582,8 @@ vty_out(vty, " osmocom-extensions%s", VTY_NEWLINE); if (acl->dcs_transparent) vty_out(vty, " dcs-transparent%s", VTY_NEWLINE); - if (acl->alert_notifications) - vty_out(vty, " alert-notifications%s", VTY_NEWLINE); + if (!acl->alert_notifications) + vty_out(vty, " no alert-notifications%s", VTY_NEWLINE); llist_for_each_entry(r, &acl->route_list, list) write_esme_route_single(vty, r); -- To view, visit https://gerrit.osmocom.org/13321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I079aea96ee83fbf04f782dcab344d41a4ef04657 Gerrit-Change-Number: 13321 Gerrit-PatchSet: 2 Gerrit-Owner: Keith Whyte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 08:22:04 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 Mar 2019 08:22:04 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Hello Pau Espin Pedrol, Neels Hofmeyr, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/13450 to look at the new patch set (#4). Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() A memleak has been noticed after executing some of TTCN-3 test cases. For example, the following ones: - MSC_Tests.TC_lu_and_mo_sms, - MSC_Tests.TC_lu_and_mt_sms. The key point is that MSC_Tests.TC_lu_and_mo_sms basically sends a MO SMS to a non-attached subscriber with MSISDN 12345, so this message is getting stored in the SMSC's database. As soon as the SMSC's queue is triggered, sms_submit_pending() would retrieve pending messages from the database by calling function smsq_take_next_sms() in loop and attempt to deliver them. This function in it's turn checks whether the subscriber is attached or not. If not, the allocated 'gsm_sms' structure would not be free()ed! Therefore, every time smsq_take_next_sms() is called, one 'gsm_sms' structure for an unattached subscriber is leaked. Furthermore, there is a unit test called 'sms_queue_test', that actually does cover smsq_take_next_sms() and was designed to catch some potential memory leaks, but... In order to avoid emulating the low-level SQLite API, the unit test by design overwrites some functions of libmsc, including db_sms_get_next_unsent_rr_msisdn(), that is being called by smsq_take_next_sms(). The problem is that the original function in libmsc does allocate a 'gsm_sms' structure on heap (using talloc), while the overwriting function did this statically, returning a pointer to stack. This critical difference made it impossible to spot the memleak in smsq_take_next_sms() during the unit test execution. Let's refactor 'sms_queue_test' to use dynamic memory allocation, and finally fix the evil memleak in smsq_take_next_sms(). Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Closes: OS#3860 --- M src/libmsc/sms_queue.c M tests/sms_queue/sms_queue_test.c 2 files changed, 37 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/50/13450/4 -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:09:38 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 Mar 2019 09:09:38 +0000 Subject: Change in osmo-msc[master]: tests/sms_queue: track the use of NULL talloc memory contexts Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13469 Change subject: tests/sms_queue: track the use of NULL talloc memory contexts ...................................................................... tests/sms_queue: track the use of NULL talloc memory contexts As we don't initialize all talloc contects of libmsc, let's make sure that there is nothing left in the NULL context after the unit test execution is finished. Change-Id: I99fd82750aff376e4d90eaa2402ec41f4d59ef86 --- M tests/sms_queue/sms_queue_test.c M tests/sms_queue/sms_queue_test.err 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/69/13469/1 diff --git a/tests/sms_queue/sms_queue_test.c b/tests/sms_queue/sms_queue_test.c index f64f715..84ca6b5 100644 --- a/tests/sms_queue/sms_queue_test.c +++ b/tests/sms_queue/sms_queue_test.c @@ -220,6 +220,9 @@ void *msgb_ctx; void *logging_ctx; + /* Track the use of talloc NULL memory contexts */ + talloc_enable_null_tracking(); + talloc_ctx = talloc_named_const(NULL, 0, "sms_queue_test"); msgb_ctx = msgb_talloc_ctx_init(talloc_ctx, 0); logging_ctx = talloc_named_const(talloc_ctx, 0, "logging"); @@ -258,6 +261,9 @@ OSMO_ASSERT(talloc_total_size(talloc_ctx) == 0); talloc_free(talloc_ctx); + talloc_report_full(NULL, stderr); + talloc_disable_null_tracking(); + return 0; } diff --git a/tests/sms_queue/sms_queue_test.err b/tests/sms_queue/sms_queue_test.err index e69de29..bfc1aff 100644 --- a/tests/sms_queue/sms_queue_test.err +++ b/tests/sms_queue/sms_queue_test.err @@ -0,0 +1 @@ +full talloc report on 'null_context' (total 0 bytes in 1 blocks) -- To view, visit https://gerrit.osmocom.org/13469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I99fd82750aff376e4d90eaa2402ec41f4d59ef86 Gerrit-Change-Number: 13469 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:29:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:29:25 +0000 Subject: Change in osmo-trx[master]: osmo-trx: Avoid handling signals after shutdown triggered In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13467 ) Change subject: osmo-trx: Avoid handling signals after shutdown triggered ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 Gerrit-Change-Number: 13467 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sat, 30 Mar 2019 09:29:25 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:29:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:29:47 +0000 Subject: Change in osmo-msc[master]: tests/sms_queue: track the use of NULL talloc memory contexts In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13469 ) Change subject: tests/sms_queue: track the use of NULL talloc memory contexts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I99fd82750aff376e4d90eaa2402ec41f4d59ef86 Gerrit-Change-Number: 13469 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Comment-Date: Sat, 30 Mar 2019 09:29:47 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:30:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:30:31 +0000 Subject: Change in osmo-msc[master]: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13450 ) Change subject: libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iad5e4d84d8d410ea43d5907e9ddf6e5fdb55bc7a Gerrit-Change-Number: 13450 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 30 Mar 2019 09:30:31 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:30:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:30:46 +0000 Subject: Change in osmo-ci[master]: Cosmetic: build-old-tags: osmo-msc: note fixed in In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13453 ) Change subject: Cosmetic: build-old-tags: osmo-msc: note fixed in ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/13453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297 Gerrit-Change-Number: 13453 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Sat, 30 Mar 2019 09:30:46 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:30:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:30:47 +0000 Subject: Change in osmo-ci[master]: Cosmetic: build-old-tags: osmo-msc: note fixed in In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13453 ) Change subject: Cosmetic: build-old-tags: osmo-msc: note fixed in ...................................................................... Cosmetic: build-old-tags: osmo-msc: note fixed in Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297 --- M scripts/osmocom-build-old-tags-against-master.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 548ac3d..0ac220e 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -64,7 +64,7 @@ echo "1.4.0" # testsuite ;; osmo-msc) - echo "1.3.0" # -Werror and deprecated gsm0480_create_ussd_release_complete() + echo "1.3.0" # -Werror and deprecated gsm0480_create_ussd_release_complete(), fixed in 1.3.1 ;; osmo-pcu) echo "0.5.0" # testsuite -- To view, visit https://gerrit.osmocom.org/13453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297 Gerrit-Change-Number: 13453 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:31:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:31:18 +0000 Subject: Change in osmo-ci[master]: build-old-tags: build libosmo-legacy-mgcp In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13454 ) Change subject: build-old-tags: build libosmo-legacy-mgcp ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0 Gerrit-Change-Number: 13454 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Sat, 30 Mar 2019 09:31:18 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:32:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:32:01 +0000 Subject: Change in osmo-pcu[master]: Update MCS selection for retransmission In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13402 ) Change subject: Update MCS selection for retransmission ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia73baeefee7a58834f0fc50e3b8bf8d5e3eb7815 Gerrit-Change-Number: 13402 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Daniel Willmann Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 Mar 2019 09:32:01 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:56:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:56:34 +0000 Subject: Change in docker-playground[master]: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/13429 ) Change subject: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/13429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6 Gerrit-Change-Number: 13429 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Sat, 30 Mar 2019 09:56:34 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 09:56:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 30 Mar 2019 09:56:36 +0000 Subject: Change in docker-playground[master]: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13429 ) Change subject: Switch all osmo-*-master and ttcn3-*-test from jessie to stretch ...................................................................... Switch all osmo-*-master and ttcn3-*-test from jessie to stretch Jessie will be EOL in June 2019, let's make the switch to stretch before that. Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6 --- M README.md M jenkins-common.sh M nplab-m3ua-test/jenkins.sh M nplab-sua-test/jenkins.sh M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-hnbgw-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-nitb-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile M osmocom-bb-host-master/Dockerfile M sctp-test/Dockerfile M sigtran-tests/Dockerfile M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh 31 files changed, 46 insertions(+), 46 deletions(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/README.md b/README.md index 4977256..05ee31f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ container with the same name as the folder like this: ``` -$ cd debian-jessie-build +$ cd debian-stretch-build $ make ``` @@ -50,7 +50,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ diff --git a/jenkins-common.sh b/jenkins-common.sh index 7c8e231..2c4288e 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -30,12 +30,12 @@ } fix_perms() { - docker_images_require debian-jessie-build + docker_images_require debian-stretch-build echo Fixing permissions docker run --rm \ -v $VOL_BASE_DIR:/data \ --name ${BUILD_TAG}-cleaner \ - $REPO_USER/debian-jessie-build \ + $REPO_USER/debian-stretch-build \ chmod -R a+rX /data/ } diff --git a/nplab-m3ua-test/jenkins.sh b/nplab-m3ua-test/jenkins.sh index 800c5b2..103ea13 100755 --- a/nplab-m3ua-test/jenkins.sh +++ b/nplab-m3ua-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "nplab-m3ua-test" diff --git a/nplab-sua-test/jenkins.sh b/nplab-sua-test/jenkins.sh index fea5cf0..56a323d 100755 --- a/nplab-sua-test/jenkins.sh +++ b/nplab-sua-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "sigtran-tests" \ diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 5d3d2d5..61ac8e4 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 25d6d66..be58081 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index bd8d815..ca4f111 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 07d175d..75f29d9 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index 068025b..4334e4f 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index dcfa7da..c333b1d 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index 619dda1..49be9c8 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index 94563b1..bed228e 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 9684410..e33748a 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index f941e9c..87513cc 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index 7340bb3..5854221 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index 57afbb7..7c59fb0 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,9 +1,9 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 8311f80..260f381 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -1,11 +1,11 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte ARG OSMO_BB_BRANCH="master" -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key diff --git a/sctp-test/Dockerfile b/sctp-test/Dockerfile index fe5db70..79df64d 100644 --- a/sctp-test/Dockerfile +++ b/sctp-test/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte diff --git a/sigtran-tests/Dockerfile b/sigtran-tests/Dockerfile index b09fa09..ebfb027 100644 --- a/sigtran-tests/Dockerfile +++ b/sigtran-tests/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-jessie-build +FROM $USER/debian-stretch-build MAINTAINER Harald Welte diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index 0a6ecf3..0a2ff8b 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index ec8c23e..af5c965 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index df45b0a..10d7d62 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-nitb-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-bscnat-test" diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index b287a78..eb96e59 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -4,7 +4,7 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # NOTE: there is no osmocom-bb-host-latest, hence always use master! docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "osmocom-bb-host-master" \ diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index 40f3227..4250e4d 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-ggsn-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-ggsn-test" diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index fcb51b6..3d942de 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-hlr-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-hlr-test" diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 4f836b7..473782f 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-mgw-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-mgw-test" diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 3289a67..a0a5f87 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-msc-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 7f57c09..fb6ccd3 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-pcu-test" diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index bee539d..e78dca0 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-pcu-test" diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index e4611bc..7947132 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-sgsn-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-sgsn-test" diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index a918269..02c7cd6 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -3,7 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-jessie-build" \ + "debian-stretch-build" \ "osmo-sip-$IMAGE_SUFFIX" \ "debian-stretch-titan" \ "ttcn3-sip-test" -- To view, visit https://gerrit.osmocom.org/13429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6 Gerrit-Change-Number: 13429 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 30 14:59:36 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 Mar 2019 14:59:36 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13173 ) Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 30 Mar 2019 14:59:36 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 30 20:04:21 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 30 Mar 2019 20:04:21 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5c9fcbd4229d4_34217225f457099b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 142s] | #define HAVE_STDINT_H 1 [ 142s] | #define HAVE_UNISTD_H 1 [ 142s] | #define HAVE_DLFCN_H 1 [ 142s] | #define LT_OBJDIR ".libs/" [ 142s] | #define STDC_HEADERS 1 [ 142s] | #define HAVE_EXECINFO_H 1 [ 142s] | #define HAVE_SYS_SELECT_H 1 [ 142s] | #define HAVE_SYS_SOCKET_H 1 [ 142s] | #define HAVE_SYSLOG_H 1 [ 142s] | #define HAVE_CTYPE_H 1 [ 142s] | #define HAVE_LIBSCTP 1 [ 142s] | #define HAVE_PCAP_H 1 [ 142s] | [ 142s] | configure: exit 0 [ 142s] [ 142s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 [ 142s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 142s] make: *** [debian/rules:13: build] Error 2 [ 142s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 142s] [ 142s] lamb16 failed "build libosmo-netif_0.4.0.25.e380.dsc" at Sat Mar 30 20:04:06 UTC 2019. [ 142s] [ 142s] ### VM INTERACTION START ### [ 145s] [ 133.259769] sysrq: SysRq : Power Off [ 145s] [ 133.265565] reboot: Power down [ 145s] ### VM INTERACTION END ### [ 145s] [ 145s] lamb16 failed "build libosmo-netif_0.4.0.25.e380.dsc" at Sat Mar 30 20:04:10 UTC 2019. [ 145s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Mar 30 20:04:21 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 30 Mar 2019 20:04:21 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5c9fcbd4972ce_34217225f457108f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/xUbuntu_18.04/i586 Package network:osmocom:nightly/libosmo-netif failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 144s] | #define HAVE_DLFCN_H 1 [ 144s] | #define LT_OBJDIR ".libs/" [ 144s] | #define STDC_HEADERS 1 [ 144s] | #define HAVE_EXECINFO_H 1 [ 144s] | #define HAVE_SYS_SELECT_H 1 [ 144s] | #define HAVE_SYS_SOCKET_H 1 [ 144s] | #define HAVE_SYSLOG_H 1 [ 144s] | #define HAVE_CTYPE_H 1 [ 144s] | #define HAVE_LIBSCTP 1 [ 144s] | #define HAVE_PCAP_H 1 [ 144s] | [ 144s] | configure: exit 0 [ 144s] [ 144s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 144s] make[1]: *** [override_dh_auto_test] Error 1 [ 144s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 144s] debian/rules:13: recipe for target 'build' failed [ 144s] make: *** [build] Error 2 [ 144s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 144s] [ 144s] lamb05 failed "build libosmo-netif_0.4.0.25.e380.dsc" at Sat Mar 30 20:04:10 UTC 2019. [ 144s] [ 144s] ### VM INTERACTION START ### [ 147s] [ 134.855788] sysrq: SysRq : Power Off [ 147s] [ 134.862799] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] lamb05 failed "build libosmo-netif_0.4.0.25.e380.dsc" at Sat Mar 30 20:04:14 UTC 2019. [ 147s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Mar 30 21:07:00 2019 From: gerrit-no-reply at lists.osmocom.org (Keith Whyte) Date: Sat, 30 Mar 2019 21:07:00 +0000 Subject: Change in osmo-msc[master]: sms queue: avoid repeated Paging for a failed SMS In-Reply-To: References: Message-ID: Keith Whyte has posted comments on this change. ( https://gerrit.osmocom.org/13173 ) Change subject: sms queue: avoid repeated Paging for a failed SMS ...................................................................... Patch Set 2: Code-Review+1 This is something I've intended to look into for a long time, triggered by seeing this repeating logging messages about paging, and then "ignoring duplicate paging" in the bts. If this track wiil lead to better queue delivery, good. I see sometime SMS in the queue and MS available, but SMS is not delivered unless manually do sms-queue trigger, but that's not this patch. I know. -- To view, visit https://gerrit.osmocom.org/13173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24bf9f1c1167efe1080ae4cf47ed2ef0bd981e49 Gerrit-Change-Number: 13173 Gerrit-PatchSet: 2 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Keith Whyte Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 30 Mar 2019 21:07:00 +0000 Gerrit-HasComments: No Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 31 10:23:06 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 Mar 2019 10:23:06 +0000 Subject: Change in osmo-msc[master]: MT-forwardSM Message Reference fix. In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/13464 ) Change subject: MT-forwardSM Message Reference fix. ...................................................................... Patch Set 1: Code-Review-2 (2 comments) Unfortunately, SM-RP-MR negotiation for MT SMS is still a weak side of the current implementation. In case of MO SMS, the MS is choosing SM-RP-MR (message reference) itself. In case of MT SMS, the situation is a bit more complex. In commercial networks, the SMSC is not involved in SM-RP-MR allocation - it just establishes a TCAP connection to the MSC, ensuring unique InvokeID values for each MT SMS being forwarded within this connection. The MSC, in it's turn, is responsible for mapping between TCAP/InvokeID and SM-RP-MR. In our case, TCAP/MAP is replaced by GSUP. There is no such thing like context or InvokeID in GSUP. For SS/USSD, we do emulate TCAP context using auxiliary session state and session ID IEs. For SMS, it was decided to avoid using them and expose SM-RP-MR, so it's something like InvokeID in TCAP/MAP. This decision do come at a price. The SMSC (or any other entity sending MT SMS over GSUP) needs to guess a unique SM-RP-MR value, that isn't used on RAN yet. Only OsmoMSC can properly do this, because it knows about all SMS transactions of a subscriber and the corresponding SM-RP-MR values in use. The proposed solution (this change) at first looked good to me, until I started to think about its corner cases... As I already noted, your change breaks MO SMS, because OsmoMSC would ignore SM-RP-MR value chosen by MS, and always send 0x00 towards the SMSC. Even if it wouldn't break MO SMS, there is still a risk of collision: imagine SMSC initiating a MT SMS with e.g. 0xde, and at the same time the same subscriber initiates MO SMS with 0xde! This would result in an unexpected behaviour as on the SMSC's side, as on the subscriber's side. Finally, we would lose a possibility to verify the MT SM-RP-MR allocation for our TTCN-3 test cases. Currently, the SMSC is recommended to choose any spare SM-RP-MR value (e.g. 0xff), and leave it up to the MSC. OsmoMSC would assign a proper SM-RP-MR value, and use it in the response to MT SMS, i.e. OSMO_GSUP_MSGT_MT_FORWARD_SM_RESULT (triggered by RP-ACK from MS) or OSMO_GSUP_MSGT_MT_FORWARD_SM_ERROR (triggered by RP-ERROR from MS). Until there are two or more MT SMS transmissions per subscriber, the correlation is not a problem. Otherwise, one can use the session state and session ID IEs as we do for SS/USSD. In any case, I am open for the further discussion. https://gerrit.osmocom.org/#/c/13464/1/src/libmsc/gsm_04_11.c File src/libmsc/gsm_04_11.c: https://gerrit.osmocom.org/#/c/13464/1/src/libmsc/gsm_04_11.c at 803 PS1, Line 803: trans->sms.msg_ref_gsup This would break MO SMS, because sms.msg_ref_gsup is only initialized in case of MT SMS. https://gerrit.osmocom.org/#/c/13464/1/src/libmsc/gsm_04_11.c at 844 PS1, Line 844: trans->sms.msg_ref_gsup Same here. -- To view, visit https://gerrit.osmocom.org/13464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia50fd0e6c7ba7876522f49a00c55f8499c164331 Gerrit-Change-Number: 13464 Gerrit-PatchSet: 1 Gerrit-Owner: Mykola Shchetinin Gerrit-Assignee: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 31 Mar 2019 10:23:06 +0000 Gerrit-HasComments: Yes Gerrit-HasLabels: Yes -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 31 11:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 Mar 2019 11:37:54 +0000 Subject: Change in osmo-msc[master]: libmsc/db.c: fix incorrect SMS UD length truncation Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/13470 Change subject: libmsc/db.c: fix incorrect SMS UD length truncation ...................................................................... libmsc/db.c: fix incorrect SMS UD length truncation During the compilation, clang-4.0 with -Wall writes the following: db.c:278:25: warning: comparison of constant 256 with expression of type 'uint8_t' (aka 'unsigned char') is always false [-Wtautological-constant-out-of-range-compare] if (sms->user_data_len > sizeof(sms->user_data)) ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~ db.c:424:25: warning: comparison of constant 256 with expression of type 'uint8_t' (aka 'unsigned char') is always false [-Wtautological-constant-out-of-range-compare] if (sms->user_data_len > sizeof(sms->user_data)) ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~ db.c:780:25: warning: comparison of constant 256 with expression of type 'uint8_t' (aka 'unsigned char') is always false [-Wtautological-constant-out-of-range-compare] if (sms->user_data_len > sizeof(sms->user_data)) ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~ Given that 'sizeof(sms->user_data)' is 256 (see SMS_TEXT_SIZE), and 'sms->user_data_len' is of type 'uint8_t', these warnings make sense. The value of 'sms->user_data_len' is fetched from the database: sms->user_data_len = dbi_result_get_field_length(result, "user_data"); and this is where the problem is. As per the libdbi's documentation (see 3.5.3), dbi_result_get_field_length() returns the length in bytes of the value stored in the specified field: unsigned int dbi_result_get_field_length(dbi_result Result, const char *fieldname) so 'unsigned int' is assigned to 'uint8_t', what would lead to integer overflow if the value is grather than 0xff. As a result, the truncation of 'user_data' would be done incorrectly, e.g. if the length of 'user_data' is 282, only 26 bytes would be fetched instead of 256. Let's avoid such direct assignment, and use a separate variable. Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Related: OS#3684 --- M src/libmsc/db.c 1 file changed, 15 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/70/13470/1 diff --git a/src/libmsc/db.c b/src/libmsc/db.c index b5e7ad8..55a87bb 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -236,6 +236,7 @@ long long unsigned int sender_id; const char *text, *daddr; const unsigned char *user_data; + unsigned int user_data_len; char buf[32]; char *quoted; dbi_result result2; @@ -273,10 +274,11 @@ if (daddr) OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr); - sms->user_data_len = dbi_result_get_field_length(result, "user_data"); + user_data_len = dbi_result_get_field_length(result, "user_data"); user_data = dbi_result_get_binary(result, "user_data"); - if (sms->user_data_len > sizeof(sms->user_data)) - sms->user_data_len = (uint8_t) sizeof(sms->user_data); + if (user_data_len > sizeof(sms->user_data)) + user_data_len = (uint8_t) sizeof(sms->user_data); + sms->user_data_len = user_data_len; memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); @@ -395,6 +397,7 @@ { struct gsm_sms *sms = sms_alloc(); const unsigned char *user_data; + unsigned int user_data_len; const char *text, *addr; if (!sms) @@ -419,10 +422,11 @@ sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton"); sms->dst.npi = dbi_result_get_ulonglong(result, "dest_npi"); - sms->user_data_len = dbi_result_get_field_length(result, "user_data"); + user_data_len = dbi_result_get_field_length(result, "user_data"); user_data = dbi_result_get_binary(result, "user_data"); - if (sms->user_data_len > sizeof(sms->user_data)) - sms->user_data_len = (uint8_t) sizeof(sms->user_data); + if (user_data_len > sizeof(sms->user_data)) + user_data_len = (uint8_t) sizeof(sms->user_data); + sms->user_data_len = user_data_len; memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); @@ -744,6 +748,7 @@ struct gsm_sms *sms = sms_alloc(); const char *text, *daddr, *saddr; const unsigned char *user_data; + unsigned int user_data_len; time_t validity_timestamp; if (!sms) @@ -777,10 +782,11 @@ if (saddr) OSMO_STRLCPY_ARRAY(sms->src.addr, saddr); - sms->user_data_len = dbi_result_get_field_length(result, "user_data"); + user_data_len = dbi_result_get_field_length(result, "user_data"); user_data = dbi_result_get_binary(result, "user_data"); - if (sms->user_data_len > sizeof(sms->user_data)) - sms->user_data_len = (uint8_t) sizeof(sms->user_data); + if (user_data_len > sizeof(sms->user_data)) + user_data_len = (uint8_t) sizeof(sms->user_data); + sms->user_data_len = user_data_len; memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); -- To view, visit https://gerrit.osmocom.org/13470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Gerrit-Change-Number: 13470 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 31 14:04:51 2019 From: gerrit-no-reply at lists.osmocom.org (Mykola Shchetinin) Date: Sun, 31 Mar 2019 14:04:51 +0000 Subject: Change in osmo-msc[master]: MT-forwardSM Message Reference fix. In-Reply-To: References: Message-ID: Mykola Shchetinin has posted comments on this change. ( https://gerrit.osmocom.org/13464 ) Change subject: MT-forwardSM Message Reference fix. ...................................................................... Patch Set 1: Hello Vadim, Yes, you are right indeed. Thanks. The only thing I have not understood is: How would it break MO-SMS? The methods where trans->sms.msg_ref_gsup is used are used only for MT-SMS. Do I miss something? They are only for forwarding MT Response or Error, not MO. -- To view, visit https://gerrit.osmocom.org/13464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia50fd0e6c7ba7876522f49a00c55f8499c164331 Gerrit-Change-Number: 13464 Gerrit-PatchSet: 1 Gerrit-Owner: Mykola Shchetinin Gerrit-Assignee: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Mykola Shchetinin Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 31 Mar 2019 14:04:51 +0000 Gerrit-HasComments: No Gerrit-HasLabels: No -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 31 22:07:33 2019 From: gerrit-no-reply at lists.osmocom.org (Pau Espin Pedrol) Date: Sun, 31 Mar 2019 22:07:33 +0000 Subject: Change in osmo-trx[master]: osmo-trx: Avoid handling signals after shutdown triggered In-Reply-To: References: Message-ID: Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/13467 ) Change subject: osmo-trx: Avoid handling signals after shutdown triggered ...................................................................... osmo-trx: Avoid handling signals after shutdown triggered Recently a blocked osmo-trx process was found after ending SIGTERM to it. Apparently one thread was handling SIGTERM and calling fprintf() (grabbing libc lock) while another thread was handling another signal and also grabbing similar lock. Both thread looked deadlocked there. Probably this change doesn't fix the block on its own, but at least simplifies scenarios inside signal ctx which can go wrong. Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 --- M Transceiver52M/osmo-trx.cpp 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 1f35cd8..0141810 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -164,6 +164,12 @@ static void sig_handler(int signo) { + + if (gshutdown) + /* We are in the middle of shutdown process, avoid any kind of extra + action like printing */ + return; + fprintf(stdout, "signal %d received\n", signo); switch (signo) { case SIGINT: -- To view, visit https://gerrit.osmocom.org/13467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1 Gerrit-Change-Number: 13467 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Pau Espin Pedrol -------------- next part -------------- An HTML attachment was scrubbed... URL: