Feature Description
The Flow Recovery feature is introduced to support flow checkpoint for ECS rules. Flows of a rule can be recovered if the rule is made eligible. To make any rule eligible for checkpointing or recovery, the rule must be configured in the service scheme framework and identified based on rulename. Any type of rule can be eligible for checkpointing irrespective of the rule definition or protocol type. The rule type can be static/predefined, group-of-ruledef, dynamic, or ADC rule.
Important |
Flow Recovery is a licensed Cisco feature requiring a separate feature license. Contact your Cisco account representative for more information. |
With the previous implementation, Cisco PCEF supports ICSR/SR check pointing at session level. Session and bearers were recovered as part of session recovery or ICSR switchover but flows were not recovered. Due to this when the packets were received on already established flows after the recovery, the packets were matched to default rules based on L3/L4 definition. This causes billing impact as flows were incorrectly charged.
Important |
If the flow recovery/checkpointing feature is enabled, then ICSR control outage might have a significant impact. |
The enhancements with the Flow Recovery feature are listed below.
-
List of eligible rules for flow recovery: A configurable trigger action CLI flow recovery is added to configure flow-recovery under service scheme. The flows matching the configured rules in service scheme will be recovered. The flows will be checkpointed to AAAMgr when the delay timer for the flow matching these rules expires post the flow establishment.
-
Limit configuration for the number of flows recovered: The maximum number of flows to be checkpointed or recovered will be limited per subscriber using the system-limit flow-chkpt-per-call CLI at active-charging service level. This limit controls the number of flows that can be recovered across rules and bearers for a single call.
The number of flows checkpointed/recovered will be limited at per SessMgr instance level. This will be a non-configurable value.
-
Rule matching post recovery: If a flow is recovered to match a checkpointed rule, the incoming packets will continue matching the same rule throughout the lifetime of the flow and the flow will remain checkpointed with the rule. The checkpoint information will be deleted post recovery when: -
The rule from recovered list is uninstalled for the session
-
The flow idle time-out happens
-
The TCP-based application flow is gracefully terminated when a RST packet is received at the gateway
-
The TCP-based application flow is not terminated when FIN packet is received at the gateway and cleared after the flow idle timeout happens
-
-
Handoff/ICSR scenario: After a rule is recovered for control events such that the bearer/rule information is not available (due to delay in EGTP message), the packets for these flows will match the default rule based on L3/L4 definition until transactions are complete. Once the control events are no longer pending, the packets will start matching the last matched rule from flow recovery list.
Similarly for ICSR, the packets for recovered flows will match the default rules based on L3/L4 definition. Once the information is received from new chassis, the packets will start matching the last matched rule from flow recovery list.
-
KPI and Bulk Statistics: KPI and Bulk Statistics are added on a per rulename basis for the rules that are eligible for checkpointing. When a rule is configured as eligible for recovery, KPI and bulk statistics for the rule will be displayed. For a rule that is deleted from the service-scheme framework, KPI and bulk statistics will not be displayed. SRP level statistics are also added to maintain the SRP bandwidth required for flow checkpoint.
Relationships to Other Features
This sections describes the relationship of the Flow Recovery feature with other supported features.
Feature Interaction
The following table describes the impact to inline services with the flow recovery implementation.
The behavior applies to recovered flows unless explicitly mentioned.
Inline Services |
Flow Recovery Impact |
Description |
---|---|---|
CF Static and Dynamic |
No |
CF redirect and CF blacklist post recovery will not work and packets will be allowed. |
ICAP |
No |
Post recovery GET messages for the recovered flow will not be forwarded to ICAP server. |
Tethering Detection |
No |
For IP-TTL based tethering detection, the post recovery flow will be considered as tethered if the first packet post recovery is uplink packet. For OS-DB signature based tethering detection, the post recovery flow will be considered as tethered if the SYN packet received post recovery has matching signature in the database. |
P2P |
No |
P2P rules are not supported for recovery. |
Post processing rules |
No |
URL Redirect for recovered flows will not be supported based on post processing rules. The default action "Discard" will be applied. |
X-Header insertion |
No |
X-header insertion will not work for recovered rules. |
DSCP/IP-TOS Marking |
Yes |
Packets will be marked post recovery with correct DSCP/IP-TOS values. |
Idle-timeout handling |
Yes |
The flow is terminated after idle timeout and checkpoint limits are decremented. |
TCP based application Protocol |
No |
Analyzer will not be engaged for recovered flows. |
UDP Based application Protocol |
Yes |
Analyzer will be engaged for recovered flows if configured in rulebase. |
ICSR |
Yes |
Flows will be recovered to match the last match rule pre ICSR and for which checkpoint was successful. |
Session Recovery |
Yes |
Flows will be recovered to match the last match rule pre SR and for which checkpoint was successful. |
IPv6 |
Yes |
IPv6 flows will be recovered. |
Flow Actions
The following table describes the behavior of flow actions with the flow recovery implementation.
This applies to recovered flows unless explicitly mentioned.
Flow Action |
Description |
---|---|
Rate Limiting |
Per bearer rate limiting, per rule rate limiting, ITC rate limiting, or QG related rate limiting is applied. |
Allow/Deny packet |
Flow-action discard OR dynamic-rule flow-status enforcement is applied. |
URL redirect |
Run time URL redirection is not applied for a recovered flow. If the packets of a flow are redirected before recovery and the matching rule is eligible and checkpointed, packets are redirected post recovery as well. |
Flow Readdress |
Since the flow readdress is identified at SYN packet and SYN packets are not analyzed post recovery, flow readdress will not work post recovery. |
Flow Terminate |
Flow terminate action is applied for dynamic changes to charging action configuration. |
Next Hop |
Packets are forwarded to the next hop address. |
Charging Methods
The following table describes the impact to ECS charging methods with the flow recovery implementation.
The behavior applies to recovered flows unless explicitly mentioned.
Charging Method |
Flow Recovery Impact |
---|---|
eGCDR |
No |
PGW-CDR |
No |
VoGx |
No |
Gy |
No |
RF |
No |
EDR |
In case of recovery, generated EDR will show "Unknown" for sn-direction because the direction of first packet is not known. |
FDR |
No |
UDR |
No |
Limitations
This section lists the limitations associated with the Flow Recovery/Checkpoint feature.
-
Few calls may be lost if session recovery occurs when the system is experiencing very high flow setup rates.
-
Checkpoint failures (failure counters being incremented) might be seen when large number of flows are being check pointed (>12K per seconds). The failed checkpoints are retried again. If a session recovery, unplanned card migration, or unplanned switchover occurs while the checkpoints are being retried, call loss may be seen.
-
Disabling of flow recovery feature (via CLI) while active calls (using flow recovery) are present might result in session manager restart.
-
Rule Matching – Packets are not matched to L7 rule after bearer movement from dedicated bearer to default bearer during LTE to WiFi HO. The same behavior will be seen post recovery.
-
Static rule match on dedicated bearer – After recovery, flow packets will always match the last matched rule. If the TFT are installed on dedicated bearer post recovery, such that the last match checkpointed rule is a static rule but the packets are received on dedicated bearer due to matching TFT, the packets are still matched to static rule but on dedicated bearer. Charging and QoS parameters are applied as per dedicated bearer.
-
EDR loss for SR/Unplanned ICSR – EDR is not generated in case of session recovery or unplanned ICSR.
-
Parent-child relation loss post recovery – The parent-child relationship post recovery is not maintained for protocols such as RTP and RTSP.
-
Lifetime of recovered flows – Lifetime will not be incremented for recovered flows for which no packet is received post recovery and is deleted due to flow idle timeout.
-
Service scheme framework – Flow checkpointing is dependent on the service scheme framework. Since this framework is introduced only in release 20.2, flow checkpointing for the existing calls/flows is supported only for the 20.2 build during upgrade scenarios. In all other upgrade scenarios, flow checkpointing will not be supported for the existing calls/flows.