Monitor Subscriber for CUPS

Revision History


Note

Revision history details are not provided for features introduced before release 21.24.


Revision Details

Release

First introduced

Pre 21.24

Feature Description

The Monitor Subscriber (MonSub) feature enables tracing of subscriber-related information which includes user and control traffic, and events such as charging and internal events that are useful for debugging. By default, this information is displayed on the Control Plane console, where you can execute MonSub tracing CLI command, and captured in a Packet Capture (PCAP) file on the User Plane.

User traffic is carried on slowpath where packets traverse to the application or fastpath where packets do not have to traverse up to the application but are offloaded to fastpath processing (VPP). Slowpath mode was the default mode until fastpath offload (VPP) into SAEGW, was introduced.

Monitor Subscriber provides the following functionality:

  • Continuous capture of user traffic from fastpath in PCAP files on the User Plane.

  • The non-user traffic information, that is, control event traffic and other related information are displayed in Control Plane console and are captured in separate PCAP files on the User Plane.

  • New option UP PCAP trace [W - UP PCAP Trace (ON)] is introduced for CUPS on Control Plane and User Plane in MonSub CLI. The new option is like the D option in the ICUPS. The slow-path and fast-path PCAP generates only when this option is ON.

  • There are a maximum of four subscriber tracing sessions per NPUMGR instance. The NPUMGR (per User Plane instance) enforces the maximum tracing session limit. Slow-path capture naming convention contains the MonSub tracing session ID on SMGR instance, whereas fast-path tracing session contains the PSN as session ID. If there are already four tracing sessions running at SESSMGR instance, then slow-path capture is by name “S4”. It continues until the time NPUMGR rejects the tracing session due to max tracing limit reached.

Following are some of the important definitions that are related to this feature:

  • Chassis Traffic Volume: The total volume of packet throughput on the chassis.

  • Monitored Traffic Volume: Monitoring of the total throughput of all the subscribers through MonSub across all the MonSub sessions.

  • PCAP success: The percentage of the MonSub traffic capture request and the successful capture in the PCAP files.

Packet Processing Throughput

Following are the scenarios that impact the packet processing throughput:

  • When VPP utilization is above 80%, MonSub may have an impact to packet processing throughput. The impact is in proportion to the monitored traffic volume.

  • Specifically, when the monitored traffic volume approaches 10% of the chassis traffic volume, there may be an impact on the VPP throughput causing subscriber packet loss.

  • The impact to packet processing throughput is higher when using monitor priorities above 0 (zero).


    Caution

    You must be cautious during the packet processing. When VPP is running at 80% utilization and handling approximately 10-Gbps chassis traffic volume, there’s an impact on the packet processing, if the set of MonSub sessions is collectively monitoring the subscribers, totaling more than 1 Gbps of monitored traffic volume.


PCAP Success

The PCAP success depends on the following factors:

  • The level of PCAP success depends on several factors, including monitored traffic volume, VPP utilization, MonSub monitor priority, and background disk I/O.

  • In general, the PCAP success rates are greater for the following cases:

    • When the VPP utilization is low and/or MonSub monitor priority is above best-effort.

    • When the monitored traffic volume is less than 10% of the chassis traffic volume.

    Example: When VPP is running at 80% utilization, handling approximately 10-Gbps chassis traffic volume, monitored traffic volume up to 1 Gbps is likely to yield high PCAP success percentages.

Monitor Subscriber Sx Private IE

SUBSCRIBER TRACE

The Monitor Subscriber Sx Private IE is conditional IE in the Sx Session Establishment Request and Sx Session Modification Request. This IE is valid for Sxa, Sxb and Saxb call types only.

Figure 1. Subscriber Tracing

Action: STOP / START monitor subscriber tracing. STOP =1, START =2.


Note

D = DATA events tracing is ON if D=1. The 8 octets (d to d+7) contain data events tracing information should be present only when D=1.

C = CONTROL events tracing is ON if C=1.


Data Tracing Information (8 octets): It will contain the data filter parameters like Packet capture, Packet capture size, and MEH header.

  • Octet 1:

    • Bit 1 – VPP enable/disable

    • Bit 2 – FCAP - Packet capture

    • Bit 3 – MEH present

    • Bit 4 to 6 - Priority

  • Octet 2 to 3: Packet size

  • Octet 4 – 8: Reserved for future use. Currently, all set to 0.

Protocol Tracing Information (16 octets/128 bits): The 16 octets (p to p+15) contain protocol tracing information and should be present only when either control flag (C) or data flag (D) is enable. Each bit represents a unique protocol to monitor. Example, If 49th bit is 1, PFCP events tracing is ON. The Protocol Tracing Rulematch Events (Option 34), L3 Data (Option 19), EDR (Option 77) and Subscriber Summary After Call Disconnect are controlled by control event flag.

Subscriber Trace Status Report (UP to CP only)

When Subscriber Trace is enabled for a PFCP session, the Report Type IE contains one extra octet (Octet 6). Presence of this octet is indicated by the length.

Figure 2. Report Type IE

Octet 5 shall be encoded as follows:

  • Bit 1 – DLDR (Downlink Data Report): when set to 1, this indicates Downlink Data Report.

  • Bit 2 – USAR (Usage Report): when set to 1, this indicates a Usage Report .

  • Bit 3 – ERIR (Error Indication Report): when set to 1, this indicates an Error Indication Report.

  • Bit 4 – UPIR (User Plane Inactivity Report): when set to 1, this indicates a User Plane Inactivity Report.

  • Bit 5–6 Spare.

  • Bit 7 – SRIR (Session Replacement): when set to 1, this indicates a Session Replacement request from UP.

  • Bit 8 – GTER (Graceful termination): when set to 1, this indicates a Graceful Termination request from UP.

Octet 6 (present when Length>1) to be encoded as follows:

  • Bit 1 – STS (Subscriber Trace Status Report): when set to 1, this indicates Subscriber Trace Status Report.

  • Bit 2 to 8 – Spare.

Subscriber Trace Status Report IE (Private IE)

The Subscriber Trace Status Report IE is a conditional IE for only Sxa, Sxb and Sxab call types. For N4 call type, this IE is not present.

Figure 3. Subscriber Trace Status Report

The status code indicates the acceptance or the rejection of the subscriber trace at UP. Status code = 0 means, a success. Values 1-255 uniquely specifies the specific error code or notification. The list of error codes are defined post development.

Table 1. Error Code and Notification Table
Status Code Status Description
MONSUB_SM_SUCCESS (0)
MONSUB_SM_ERROR_FAILURE (1) MonSub : Generic Failure status received
MONSUB_SM_ERROR_UNSUPPORTED (2) MonSub : Unsupported Failure!
MONSUB_SM_ERROR_SESSION_EXIST_NONE (3) MonSub : Session not Found!" );
MONSUB_SM_ERROR_SESSION_LIMIT_EXCEED (4) MonSub : Max Connections reached!
MONSUB_SM_ERROR_SESSION_INVALID_PARAM (5) MonSub : Connect Message Failed!
MONSUB_SM_ERROR_SESSION_ALLOC_FAIL (6) MonSub : Could not allocate monsub sesson at NPU!
MONSUB_SM_ERROR_CONFIG_INVALID_PARAM (7) MonSub : Config Message Failed!
MONSUB_SM_ERROR_MONITOR_LIMIT_EXCEED (8) MonSub : Max Stream Limit reached!
MONSUB_SM_ERROR_MONITOR_INVALID_PARAM (9) MonSub : Monitor Message Failed!
MONSUB_SM_ERROR_MAX (10) MonSub: Max Error!
MONSUB_COPROCDATA_CORRUPTED (11) MonSub : File Handling Process Failed!
MONSUB_MAX_TRACING_SESSIONS_REACHED (12) MonSub : Maximum Number of Tracing Sessions reached!
MONSUB_STOP_RECVD_WAIT_POLL_TIMEOUT (13) MonSub : STOP notification is Successful. Wait till the poll-timeout configuration to start the next tracing!
MONSUB_FILECOPY_SOURCE_DIR_NOT_EXIST (14) MonSub : Source Directory does not exist!
MONSUB_FILECOPY_DEST_DIR_NOT_EXIST (15) MonSub : Destination Directory does not exist!
MONSUB_FILECOPY_SOURCE_DIR_OPEN_FAILURE (16) MonSub : unable to open Source Directory!
MONSUB_FILECOPY_DEST_DIR_OPEN_FAILURE (17) MonSub : Unable to open Destination Directory!
MONSUB_FILECOPY_SOURCE_OPEN_FAILED (18) MonSub : Unable to open Source File!
MONSUB_FILECOPY_DESTINATION_OPEN_FAILED (19) MonSub : Unable to open Destination File!
MONSUB_FILECOPY_DONE_FILE_DELETION_FAILED (20) MonSub : Unable to delete .done file in Source Path!
MONSUB_FILECOPY_PCAP_FILE_DELETION_FAILED (21) MonSub : Unable to delete .pcap file in Destination Path!
MONSUB_RESPONSE_NPUMGR_MONSUB_SESS_FAILED (22) MonSub : Messenger Failure during Session Notification to NPUMGR!
MONSUB_RESPONSE_NPUMGR_MONSUB_CFG_FAILED (23) MonSub-Config push to NPUMGR!
MONSUB_RESPONSE_NPUMGR_MONSUB_MONITOR_FAILED (24) MonSub-Monitor Notification to NPUMGR!
MONSUB_RESPONSE_COPROC_FAILED (26) MonSub : File Handling Process Failed!
MONSUB_RESPONSE_FILE_TRANSFER_SUCCESS (27) MonSub: File Transfer successful.
MONSUB_RESPONSE_FILE_TRANSFER_FAILED (28) MonSub: File Transfer failed!
MONSUB_ADMINISTRATIVE_DISCONNECT (29) MonSub: Administrative Disconnect!
MONSUB_FILECOPY_DESTINATION_DISK_FULL (30) MonSub: No space left in Destination Path!
MONSUB_FILECOPY_COPROC_ABRUPTLY_KILLED (31) MonSub: File copy co-proc terminated abruptly!
MONSUB_LOGGING_COPROC_ABRUPTLY_KILLED (32) MonSub: Logging co-proc terminated abruptly!
MONSUB_SM_DISCONNECT (33)
MONSUB_FILECOPY_STATUS_MAX (34)
Other Internal Error adding protocol monitor trace - aborting…

Control Plane SMGR Functionality

Following are the modification in the CP SMGR to support this feature.

  • Provide services to the CLI for enabling or disabling the MonSub tracing.

  • When you enable the MonSub for a subscriber on Control Plane. The changes propagate to the corresponding U-Plane over Sx interface as per the instructions from CP CLI.

  • Any tracing failures in the UP is reported to the CP (if MonSub enabled via CP console) by a "private IE Subscriber Trace Status Report" within Sx Session Report Request message from UP to CP.

  • The feature supports the tracing of four concurrent subscriber tracing sessions for fast-path and slow-path PCAP creation from CP per User Plane instance.

  • The CP instance sends the CLI instance ID while enabling MonSub from CP, so that the UP sends notifications to correct CP CLI instance ID.


Note

There’s a race condition scenario when you enable the tracing for new/camp-on call. When the UE attach is in progress, private IE is sent in either Sx Establish Req or the Sx modify (existing attach sequence, so that the attach flow isn’t disturbed). For existing calls, the private IE is sent in the Sx modify request.


User Plane SMGR Functionality

Following are the modification in the UP SMGR to support this feature.

  • Provide services to the CLI for enabling or disabling the MonSub tracing.

  • Based on the MonSub private IE over Sx interface from C-PLANE. Enable or Disable the MonSub tracing and generate the ‘Subscriber Trace Status Report’ to inform C-PLANE whether tracing is on or not.

  • Control NPUMGR to connect/start/stop/add/delete streams/tep bearers and disconnect.

  • The SMGR maintains the PSN from the NPUMGR (as part of CONNECT API) and sub session id, which is SMGR (local to SMGR instance) specific. The SMGR sends all requests with PSN and sub session id to NPUMGR for a monitor subscriber tracing session.

  • Based on the instructions from the CLI, configures panopticon (via NPUMGR) for changes such as packet size and priority.

  • Read the ‘hex dump module’ configurations and store them locally. Pass the relevant parameters (such as filename) to Session Manager Co-Proc.

  • Instantiate Session Manager Co-Proc and then instruct it to copy panopticon generated PCAP files to hard disk. Also handle the termination of Session Manager Co-Proc when MonSub session is over.

  • Handle file copy message from Session Manager Co-Proc and inform panopticon about the copied bundle.

  • If the file copy fails or there are problems with Session Manager Co-Proc instantiation, raises the SNMP alarms.

  • Handle the buffer full indications from panopticon and copy the PCAP from the ram disk to the configured destination directory.

  • Capture the control/slow-path packets. Pass them to Session Manager Co-Proc to publish it as a separate PCAP.

  • This feature supports a maximum of four monitor subscriber tracing sessions for a U-PLANE instance. The NPUMGR enforces the tracing limit.

  • The MonSub tracing session terminates in the absence of no space on hard disk or no hard disk.

  • There are coproc (file copy and logging) per UP-SMGR instance, when monitor subscriber tracing is initiated for that SMGR instance.

  • The MonSub session tear down takes time depending on the final poll timer and disconnect responses from co-proc/NPUMGR.


Note

There is a race condition scenario while tracing is enabled for new/camp-on call. When the UE attach is in progress, private IE is sent in either Sx/N4 Establish Request or the Sx/N4 Modify Request (existing attach sequence, so that the attach flow is not disturbed). For existing calls, the private IE is sent in the Sx/N4 Modify Request.


Multi PDN Multi Trace

For a multi-PDN call, when you start the MonSub with Multi-trace=OFF, then it traces the only one PDN as a part of that MonSub session. When new PDN is initiated then existing PDN tracing stops and new PDN tracing starts. For this, first the new PDN tracing is started and then existing PDN tracing is STOPPED and hence new PSN and SMGR sub-session ID is allocated.

For a multi-PDN call, when you start the MonSub with Multi-trace=ON, then it traces the new PDN as a part of new FASTPATH tracing session (that is MonSub session). Hence after tracing the four PDN, MonSub CLI shows max tracing session reached. Tracing of the each PDN takes place as a separate MonSub session.


Note

For Pure-S call, when MonSub starts from CP, then tracing of the multi-PDN happens as a separate FASTPATH tracing session (that is separate MonSub session) irrespective of MT=ON or OFF.


MonSub Stats

A new mechanism is added to publish the stats regarding the quality of FASTPATH PCAP capture on MonSub CLI. The new mechanism publishes the stats whenever it receives the buffer full MEH indication at SESSMGR, throttled at every five seconds. The feature supports a maximum of four buffers for a FASTPATH PCAP corresponding to MonSub session. The feature does not publish the stats by default and needs to be enabled via debug CLI on UP.

  • debug uplane monsub-stats disabled

  • debug uplane monsub-stats enabled

The stats contains the following informations:
Packet accepted: 14250000                         Packet rejected: 62297
Congestion Short Term: 0                           Congestion Longer Term: 0
Throttled: 0                                                 PCAP File Transfer Rate: 9.91 mbps

The PCAP file transfer rate is the rate at which copy co-proc writes the PCAP from RAM-FS to HD-RAID.

X-Header

This feature supports the X-Header capture in slow-path PCAP. The PGW-U inserts the X-HEADER for Uplink packet. The PGW-U captures the packet at entry and exit interfaces. So, the exit packet sent to SGi contains the inserted x-header.

The PGW-U inserts the X-HEADER for Downlink packet. The PGW-U captures the packet at entry and exit interfaces. So, the exit packet sent to S5-U or S1-U contains the inserted x-header.

How It Works

The Monitor Subscriber feature is discussed in detail in the following sections:

Configuration Procedure for Monitor Subscriber

The protocol monitor can be used to display information for a specific subscriber session that is currently being processed. Depending on the number of protocols monitored, and the number of sessions in progress, a significant amount of data is generated. It is highly recommended that logging be enabled on your terminal client in order to capture all of the information that is generated.

Follow the instructions in this section to invoke and configure the protocol monitoring tool for a specific subscriber session.

Procedure


Step 1

Invoke the monitor subscriber command from the Exec mode by entering the monitor subscriber CLI command.

[local]host_name# monitor subscriber { callid | imei | imsi | ipaddr | ipv6addr | msid | msisdn | next-call | pcf | peer-fa | peer-lac | sgsn-address | type | username } 

An output listing all the currently available protocols, each with an assigned number, is displayed. Specify the method the monitor should use by entering the appropriate keyword.

Step 2

Specify the method the monitor should use by entering the appropriate keyword.

Select other options and/or enter the appropriate information for the selected keyword.

Step 3

Select other options and/or enter the appropriate information for the selected keyword.

If no session matching the specified criteria was being processed when the monitor was invoked, a screen of available monitoring options appears.

Step 4

Configure the amount of information that is displayed by the monitor. To enable or disable options, enter the letter or 2-digit number associated with that option (C, D, E, 11, 12, etc.). To increase or decrease the verbosity, use the plus ( + ) or minus ( - ) keys.

The current state, ON (enabled) or OFF (disabled), is shown to the right of each option.

Option Y for performing multi-call traces is only supported for use with the GGSN.

WARNING!!! You have selected options that can DISRUPT USER SERVICE 
Existing CALLS MAY BE DROPPED and/or new CALLS MAY FAIL!!! 
(Under heavy call load, some debugging output may not be displayed) 
Proceed? - Select (Y)es or (N)o 
Step 5

Repeat step 6 as needed to enable or disable multiple protocols.

Step 6

Press the Enter key to refresh the screen and begin monitoring.

The monitor remains active until disabled. To quit the protocol monitor and return to the prompt, press q.


Monsub CLI Options

The following options with their default value are added to existing monitor subscriber command.

UPF Monitor Subscriber CLI

Following are the options:

  • W - UP PCAP Trace (ON ): This parameter is used to create PCAP trace for slowpath and fastpath.

  • U - Mon Display (ON): The non-protocol events (such as statistics and charging information from ECS and so on) are also captured in slowpath PCAP files and are displayed on UPF monitor console.

  • V - PCAP Hexdump (ON): This flag must be set to ON to capture the protocol packets in a text file in hexdump format on UPF.


Note

Currently, UP PCAP Trace flag must be set to ON to capture fastpath and slowpath PCAP files.


  • F - Packet Capture (Full Pkt): Captures all packets from fastpath.

    Using this option, operators can choose between full and partial packet captures. By entering F, the packet capture type can be changed to either full or partial. With partial packet capture, users can enter packet sizes from 1 to 16384 bytes. For example, if input is given as 20, only the first 20 bytes of fastpath packets will be captured and the remaining packets will be dropped.


    Note

    When opening the PCAP file, the summary view will display full length of the packet, but the detailed view will show only the truncated packet.


  • / - Priority (0): The value is in the range from "0 – Best Effort" to "7 – Guaranteed"

    • 0 - Best Effort

    • 1 - Low

    • 2 - Med-Low

    • 3 - Medium

    • 4 - Med-High

    • 5 - High

    • 6 - Critical

    • 7 - Guaranteed


    Caution

    It is strongly recommended to not change the default value. It can adversely affect the system performance.


  • N - MEH Header (OFF) : The MEH header is stripped from the IP packet if this option is configured

Show Monitor Subscriber Sessions

Following is the new CLI to show the ongoing MonSub session.

You can trigger the show monitor subscriber fastpath session all CLI command from both SMF and UPF. You can trigger the show monitor subscriber fastpath session up-ip-address CLI command from the SMF

  • SessId: This is the local session id for MonSub session on UPF Sessmgr.

  • CallID: Call ID on UPF.

  • PSN: This is panopticon sequence number. There is a maximum of four MonSub fastpath tracing sessions on one UPF with PSN ranging from 0-3.

  • Start time: Time at which MonSub tracing session starts.

  • Interface Type: This is to identify the call type for which MonSub fastpath tracing session was started, whether it is Sxa, Sxb or Sxab.

Disconnect Monitor Subscriber Sessions

Following is the new CLI to disconnect the ongoing MonSub session. You can trigger the CLI from both CP and UP.

monitor subscriber fastpath disconnect sessmgr-instance upf_sessmgr_instance_id session-id local_monsub_sessid_sessmgr_level

If the MonSub session disconnect is successful, the following message dispalys on console.

Session Disconnected Successfully

If the MonSub session disconnect fails, the following message dispalys on console.

Monitor Subscriber session does not exist

Note

Only security administrator can execute the monitor disconnect CLI.


Context, CDRMOD and Hexdump Interaction for Monitor Subscriber

Hexdump module must be configured to provide operators the provision to configure Files names and Poll timers. The Hexdump module is one of the modules such as—EDR, UDR and so on, that are part of the CDRMOD functionality. It is recommended to configure the hexdump in a non-local context such as the ECS context. Hexdump modules are not supported in local context.

For more information on Hexdump module and its configuration, refer to the Packet Capture (PCAP) Trace chapter in the ASR5500 System Administration Guide

PCAP File Name Convention

The naming conventions for PCAP files are discussed in the following sections


Note

Only monitor-subscriber-file-name and rotation options are used in naming PCAP files.


Slowpath File Name Convention

The slow path file names appear in the following format:

curr_slowpath_{SMGR Mon Sub Session Id}_{monsub_file_name_option_val}_{Timestamp}_{RotationCount}.pcap

or

slowpath_{SMGR Mon Sub Session Id}_{monsub_file_name_option_val}_{Timestamp}_{RotationCount}.pcap

File with ‘curr_’ prefix is the file, that is currently being written to, that is still not closed. When files are to be rotated (depending on the file rotation parameters), file without the ‘curr_’ prefix are copied to hard disk.

The SMGR MonSub Session Id – This is the session Id for MonSub session created on Uplane SMGR instance ID, which created this PCAP. This Id is local to SMGR instance, so there could be two SLOWPATH pcap captured with same ID.

When files are to be copied to hard disk, The monsub_file_name_option_val is replaced by:

  • IMSI value if monitor-subscriber-file-name is set to "imsi".

  • Call ID value if monitor-subscriber-file-name is set to "call-id"

  • Username value if monitor-subscriber-file-name is set to ‘username’

Timestamp is in the following format "MMDDYYYYHHMMSS", where:

  • MM - Month, DD - Date and YYYY - Year.

  • HH -Hour, MM - Minutes and SS - Seconds.

RotationCount is a 9-digit value that is incremented every time an old file is rotated, and a new file is generated.

00000000 for the first file, 00000001 for the second file and so on.

Rotation of slowpath files is determined by following option in hexdump-module file configuration:

rotation { num-records number | time seconds| volume bytes }

  • num-records: num-records specifies the number of packets after which a new file is generated and ‘RotationCount’ in the filename is incremented. The range of number is between 100 to 10240, and the default value is 1024.

  • time: time specifies the time to wait in seconds before a new file is generated and ‘RotationCount’ in the filename is incremented. seconds must be an integer from 30 through 86400. The default value is 3600.

  • volume: volume specifies the number of bytes after which a new file is generated and ‘RotationCount’ in the filename is incremented. bytes must be an integer from 51200 through 62914560. The default value is 102400.


Note

The tarriff-time parameter under rotation is ignored as it is not suitable for PCAP file capture.


The following are examples of the file naming conventions for slowpath PCAP files.

  • For the ‘imsi’ option where IMSI is ‘112233445566778’, slowpath files are named as:
    slowpath_S0_112233445566778_07152019050907_000000000.pcap
  • For ‘call_id’ option where Call Id is ‘01317b22’, slowpath files are named as:
    slowpath_S0_01317b22_07152019050907_000000000.pcap

Note

The parameter tarrif-time is not applicable for PCAP file capture.


Fastpath File Name Convention

The fastpath file names appear in the following format:

vpp_{S}_{B}_{encap}_{monsub_file_name_option}_{Timestamp}_{FileCount}.pcap
  • S is replaced by either ‘S1’, ‘S2’,'S3’, or 'S4’.

  • B is replaced by either ‘B0’,‘B1’,'B2', or 'B3' depending on the bundle generated by Panopticon.

  • monsub_file_name_option is replaced by:

    • IMSI value if monitor-subscriber-file-name is set to "imsi".

    • Call ID value if monitor-subscriber-file-name is set to "call-id"

    • Username value if monitor-subscriber-file-name is set to ‘username’

Timestamp is in the following format "MMDDYYYYHHMMSS", where:

  • MM - Month, DD - Date and YYYY - Year.

  • HH -Hour, MM - Minutes and SS - Seconds.

RotationCount is a 9-digit value that is incremented every time an old file is rotated, and a new file is generated.

00000000 for the first file, 00000001 for the second file and so on.

Fast path "FileCount" is not the same as the slowpath "RotationCount" parameters and hence ‘hexdump-module file rotation’ parameters are ignored while naming fastpath files.

In Phases 1 of the feature, fastpath generated file names are like ‘vpp_S1_B0_ip.pcap’ or ‘vpp_S1_B1_ip.pcap’, they are renamed to following when being copied over to non-volatile storage:

  • vpp_S1_B0_ip_01317b22_07152019050907_000000000.pcap
  • vpp_S1_B1_ip_01317b22_07152019050908_000000001.pcap
  • vpp_S1_B0_ip_01317b22_07152019050908_000000002.pcap

In MonSub phase 3, a PCAP “bundle” is replaced with a single PCAP file that uses Ethernet encapsulation.

In Phase 3, each fastpath session file is captured in the Ethernet PCAP file that is ‘vpp_S0_B0_eth.pcap’ and they are renamed to following when being copied to a non-volatile storage:

vpp_S0_B0_eth_01317b22_07152019050907_000000000.pcap

For ‘callid’ option where Call Id is ‘12345678ef’:

  • slowpath_S0_12345678ef _07152019050907_000000000.pcap
  • vpp_S1_B0_eth_12345678ef _07152019050907_000000000.pcap

For ‘username’ option where username is ‘9890098900’:

  • slowpath_S0_07152019050907_000000000_9890098900.pcap
  • vpp_S1_B0_eth_07152019050907_000000000_9890098900.pcap

PCAP File Location

Fastpath PCAP files are written to the /records/pcap directory in same card and CPU complex where the SMGR owns the subscriber session resides.

/records directory is mapped to the "tmpfs" filesystem that is mapped to RAM. In this state, the files are suffixed with a ".pending" extension. For example:

-rw-rw-r-- 1 root root 268599296 Sep 23 14:04 vpp_S1_B0_eth.pending

Note

The files size at this stage is not the actual file size when it is written to a persistent storage.


Once the fastpath tracing mechanism has written the files, they are converted to ‘.pcap’ files and renamed as given below. Additionally, there is a file that ends with a ".done" extension:

-rw-rw-r--    1 root     root       8689188 Oct 16 22:06 vpp_S0_B0_eth.pcap

After the PCAP files are written by fastpath tracing mechanism, the Co-Proc functionality instantiates and copies the files to a hard disk or a persistent storage.

The above file location process for Fastpath is also applicable to Slowpath.

The target file location in all cases is: /hd_raid/records/hexdump, except for the case in the hexdump module configuration where use-harddisk is enabled and the directory option under the hexdump file is to a custom value. For example, if the directory option is set to a value "abc" then the target location for the PCAP file will be: /hd_raid/records/hexdump/abc/.

In this feature implementation, a predefined location is set for PCAP files.

  • To make sure that /records/pcap directory is not populated when issues are encountered with the use of use-harddisk and hexdump module configurations.

  • For regular cleanup from /hd_raid/records/hexdump directory.

File Transfer to External Location

Once the files have been copied to the hard disk, they can be copied over to an external server using the command: transfer-mode option under the hexdump command in the hexdump-module configuration.

Apart from transfer-mode , other relevant options under hexdump can be used for external file transfer. Operators can use these commands to avoid excessive storage during fastpath processing.

Limitations

Following are the Limitations:

  • Restarting trace immediately after quitting may result in fastpath files in /records/pcap directory to be overwritten. It is recommended to restart the session after a brief moment (a few seconds).

  • When MonSub trace is stopped, the tear down process can take a few seconds, so it is recommended to wait for few seconds. A maximum of five seconds (hexdump poll timer value in seconds) before toggling the MonSub trace to start, else, operators may observe MAX TRACING SESSIONS REACHED momentarily.

  • Show monitor subscriber fastpath sessions CLI does not display the MonSub sessions that are being stopped. Hence there is a transient period where new MonSub sessions can be rejected due to max sessions reached, whereas show CLI shows less sessions. It is recommended that operators wait for some time before starting a new MonSub trace session.

  • Changing fastpath configuration options is only possible when UP Pcap Trace is set to OFF.

  • When MT=ON in the Multi-PDN, then once MT=OFF, new PDN tracing is not started due to MAX TRACING REACHED, and then all other tracing is STOPPED. This is because the first new PDN tracing is started and then all previous PDN's were STOPPED for MT=OFF case.

  • It is recommended to not to launch the same UE MonSub sessions from different CLIs.

  • In slowpath PCAP, the egress DL packets does not show the GTPU-U header because the functionality to add GTP-U is with fastpath. So, ingress and egress DL packets shows up the duplicates, unless there is some packet modification like HTTP X-headers applied over the ingress packets.

  • Toggling C and D options does not impact the PCAP capture.

  • For Multi-PDN, the fastpath filenames does not use the Call Id, because, by definition the multi-PDN case has more than one call id and hence a higher-level configuration such as IMSI is more suitable for naming the files.

  • Only the named options explicitly mentioned in this document are supported from hexdump-module file configuration.

  • Number of streams that can be traced in fastpath is limited to 5000. Stream is defined as a TCP or UDP flow which is made up of (source IP address, destination IP address, source port, and destination port, transport protocol (TCP or UDP)).

  • Fastpath packets cannot be streamed to an external server. They are stored on the hard-disk and transferred (either manually) or by using transfer-mode options.

  • The UP PCAP trace must be set to ON to capture fastpath and slowpath PCAP files.

  • MonSub CLI option ‘<SPACE> Pause’ is only to pause console events. There is no impact on other tracing events (slowpath PCAP, fastpath PCAP and protocol packets tracing in a text file in hexdump format) with this option.

  • The UP trace PCAP file does not contain the initial PFCP Sx Request/Response, due to race condition.

  • The ICMP Packets and a first packets of TCP and UDP streams flow through both slowpath and fastpath. Default values of GTPU (option 26) and User L3 (Option 19) are set to OFF. As a result, these packets are not captured in slowpath captures. If Option 26 is set to ON then these packets are captured in slowpath PCAP captures. As mentioned in previous point, option 19 has no effect on slowpath PCAP capture.

  • Data Events flag must be set to ON to capture fastpath and slowpath PCAP files.

  • Only firstPDN tracing is supported forPure-Scall. This limitation will be fixed with multiple subscriber tracing support.

  • The Mon sub tracing is not supported for option Next-SAEGW Call on UP.

  • The Mon sub tracing is not supported for option Next call by APN for Pure-S call type.

  • On ASR 5500 setup with the default value of poll-timer, all the packets may not be captured due to a known issue. To avoid large number of packets to be rejected, it is recommended to change the poll-timer value to the lowest possible (10ms).

  • If context replacement occurs (if the same subscriber reattaches without a detach) then the slowpath captures for the new call continues to be in the old slowpath files.

Configuring the Hexdump Module for MonSub in UPF

Configuring MonSub Poll Timer

Use this configuration to set the frequency of PCAP file capture check.

configure 
   context context_name 
      hexdump-module 
         hexdump monitor-subscriber-poll-timeout poll_timer_value  
         end 

NOTES:

  • hexdump monitor-subscriber-poll-timeout : This option specifies how frequently the check for newly captured PCAP files in the volatile storage must be done before they are copied to persistent storage.

  • poll_timer_value : Specifies the poll timer value in milliseconds. It must be an integer in the range of 10 ms to 60 seconds. Default: 30 seconds.


    Note

    It is strongly recommended to not configure the timer with a value less than 5 seconds.


  • This option is only applicable when MonSub is enabled for the products that have fastpath functionality - PGW, SAEGW on ASR-5500 and VPC-SI.

Configuring MonSub File Name

Use the following configuration to specify the file name of the PCAP file which contains IMSI, Call ID or Username.

configure 
   context context_name 
      hexdump-module 
         file rotation { num-records number | tariff-time minute minutes hour hours | time seconds| volume bytes | monitor-subscriber-file-name { imsi | username | call-id }  
         end 

NOTES:

  • monitor-subscriber-file-name { imsi | username | call-id } : This option specifies if the name of the captured PCAP files will contain IMSI, Call Id or Username. This option is only applicable on products that have fastpath functionality (PGW, SAEGW on ASR 5500 and VPC-SI) AND only when Monitor Subscriber functionality is enabled. Default: IMSI.

  • rotation { num-records number | tariff-time minute minutes hour hours | time seconds | volume bytes } : Specifies when to close a hexdump file and create a new one.

    • num-records number : Specifies the maximum number of records that should be added to a hexdump file. When the number of records in the file reaches this value, the file is complete.

      number must be an integer from 100 through 10240. Default: 1024

    • tariff-time minute minutes hour hours : Specifies to close the current hexdump file and create a new one based on the tariff time (in minutes and hours).

      minutes must be an integer from 0 through 59.

      hours must be an integer from 0 through 23.

    • time seconds : Specifies the period of time to wait (in seconds) before closing the current hexdump file and creating a new one.

      seconds must be an integer from 30 through 86400. Default: 3600


      Important

      It is recommended to set the rotation time to 30 seconds.


    • volume bytes : Specifies the maximum size of the hexdump file (in bytes) before closing it and creating a new one.

      bytes must be an integer from 51200 through 62914560. Note that a higher setting may improve the compression ratio when the compression keyword is set to gzip. Default: 102400

Monitoring and Troubleshooting

This section provides information regarding monitoring and troubleshooting the Monitor Subscriber feature.

SNMP Traps

The following SNMP trap(s) are added in support of the Monitor Subscriber feature:

  • MonSubProcessInitFailure: This trap is triggered when MonSub handler process has failed for a particular process and service.