Principles

Traffic Class Identifier

Before optimizing traffic, PfR has to determine the traffic classes from the traffic flowing through the border routers. To optimize traffic routing, subsets of the total traffic must be identified, and these traffic subsets are named traffic classes.

The list of Traffic Class entries can be profiled either by automatically learning the traffic flowing through the device or by manually configuring the traffic classes. Traffic Classes can be based on layer3 information such as prefixes, or layer4 such as port number, on DSCP values or application by using Network Based Application Recognition (NBAR).

Each Traffic Class (TC) has its own Identifier.
This “Traffic-Class ID” is encoded into the “application tag” export field as follows:

{Protocol}: if Traffic Classes are not based on protocol, then this field will not be included.

{Port min} and {port max}: PfR uses either a port or a range of port numbers. If a single port number is used, then {port min} = {Port max} = port#. If a port range is used, then it can specify a port number or bigger than the port number by including only “port_min”. It can specify a port number or smaller than the port number by including only “port_max”.

{Policy id}: The corresponding policy configuration template for this Traffic Class is described here.

Template Usage Description

This is a record used when Traffic Classes are manually defined (ie, no dynamic learning).

This Option template is used to give all the configuration parameters of a specific Traffic Class.

{Link group name}: If the link group feature is not configured then the “link group name” field will be empty. If configured, then the {link group name} will contain the name defined in the master controller configuration.

If cost minimization is used:

{Cost nickname} = a string corresponding to the name

{Cost type} =

0: separate,

1: sum,

2: combined

If cost minimization feature is not used then:

{Cost nickname} = null

{Cost type} = 0

Template Usage Description

This template gives the configuration of an exit interface and is exported:

When PfR NetFlow Export is enabled

When PfR configuration is changed

On MC or router reload

Periodically

Internal Interface Config

Description

Field Type

Value

Len (bytes)

Type

Invalid Data

BR address

IPV4_BR_ADDR

39000

4

IPv4 Addr

Internal interface id

INPUT_SNMP

10

2

Int

BR interface name

IF_NAME

82

N

String

Template Usage Description

This template gives the configuration of an ingress interface and is exported:

When PfR NetFlow Export is enabled

When PfR configuration is changed

On MC or router reload

Periodically

Policy Config

Field Descriptions

Description

Field Type

Value

Len (bytes)

Type

Invalid Data

Policy id

POLICY_ID

32775

2

Int

pfr-map name

scAccessString

32789

128, 256, 512, 1024

String

State

PFR_STATUS

39001

2

Int

Threshold

THRESHOLD

39003

4

Int

0

Priority

PRIORITY

39004

2

Int

Variance

VARIANCE

69

4

Int

MOS

rtpMosQuality

42123

4

Int

Link group name

LINK_GROUP_NAME

39024

48

String

Notes:

In a pfr-map sequence, we can have multiple resolvers (defined or by default inherited from the global configuration).

{pfr-map name}: is the pfr-map sequence number from 0 to 0xFFFE, while the Policy id of the default policy is 0xFFFF.

{Policy name}: the default policy name is “default”. The other policy names are the pfr-map name followed by sequence number. For example, if the pfr-map name is “pfrmap” and the sequence number is “10”, the policy name will be “pfrmap10”.

{State}: State Type is Config (0x00). See chapter State Encoding for coding details.

{Link group name}: If the link group feature is not configured then the “link group name” field will be empty. If configured, then the {link group name} will contain the name defined in the master controller configuration. When the link-group feature is used, it has the following meanings based on “state”:

State

Link Group ID

state_type

state_id

0x00

0x90

Primary link group id

0x91

Fallback link group id

So, if {link group id} = 1 and {state} = 0x0090, then link group number 1 is the primary link group in this policy.

Threshold, Priority and Variance definitions

The fields “threshold”, “priority” and “variance” have the following meanings, based on “state”:

State

Threshold

Priority

Variance

state_type

state_id

0x00

0x10

unreachable relative percentage (%)

unreachable priority

unreachable variance

0x11

unreachable absolute threshold (fpm)

unreachable priority

unreachable variance

0x20

loss relative percentage (%)

loss priority

loss variance

0x21

loss absolute threshold (ppm)

loss priority

loss variance

0x30

round-trip-time relative percentage (%)

round-trip-time priority

round-trip-time variance

0x31

round-trip-time absolute threshold (ms)

round-trip-time priority

round-trip-time variance

0x40

jitter threshold (ms)

jitter priority

jitter variance

0x50

MOS below threshold (%)

MOS priority

MOS variance

0x6x

(not included)

utilization priority

utilization variance

0x70

maximum range ingress bandwidth (%)

range priority

range variance

0x71

maximum range egress bandwidth (%)

range priority

range variance

0x80

(not included)

cost priority

cost variance

Template Usage Description

This template is used to define the policies associated to the specified Traffic Class.

No matter how many resolvers are configured, each policy export will have at least 7 exports for each policy configured (each pfr-map, including the default one):

Unreachable

Loss

Delay

Jitter

MOS

Utilization

Range

Only in the case link-groups/cost being configured extra templates along with the above 7 exported templates will be exported.

This template gives the raw statistics for a specific Traffic Class. As soon as the Master Controller receives an update from a Border Router for a Traffic Class, it exports the record with all the statistics. This is NOT the metrics computed by the Master Controller.

{BGP Prepend} and {BGP Community} are used for ingress load-balancing with BGP.

Template Usage Description

When the Master Controller receives an update from a Master Control, it computes the short term (5 min) and long term (60 minutes) statistics, makes a policy decision and then exports all passive statistics for this Traffic Class. This is the metrics you would see on the Master Controller with the 'show pfr master traffic-class' command.

This template is exported:

When MC receives a NetFlow update from a BR and makes an InPolicy/ Out-Of-Policy decision.

If the decision is Out-Of-Policy, MC makes the periodic timer expire immediately, which leads to a Traffic Class Performance” export.

This template gives the raw statistics for a specific Traffic Class. As soon as the Master Controller receives an update (probe results) from a Border Router for a Traffic Class, it exports the record with all the statistics. This is NOT the metrics computed by the Master Controller but the raw data as measured by a Border Router.

When the Master Controller receives an update from a Master Control, it computes the short term and long term statistics, makes a policy decision and then exports all active statistics for all Traffic Classes impacted by these results. Indeed, an IP SLA probe result impacts multiple Traffic Classes that all use the same probe. For example a group of voice traffic has a jitter probe defined to a specific remote branch, All Traffic Classes under that group will use the same probe results. This is the metrics you would have with the show pfr master traffic-class command on the Master Controller.

This template is exported:

When MC receives an IP SLA update from a BR and makes an InPolicy/Out-Of-Policy decision.

{RSVP bandwidth pool}: is the current remaining RSVP pool size. If a connection is set up by RSVP, the RSVP pool size will be decreased, and the updated “External Link Update” will be exported.

Template Usage Description

This template gives the statistics for a specific external interface. This type of statistics is typically used when a policy is based on interface usage or load-balancing between multiple external interfaces.

This template is exported:

When MC receives a link update.

Includes InPolicy or Out-Of-Policy decision, if Cost-Minimization, Load (utilization) or Range feature is configured.