HQoS Adjustment is required in the scenarios where subscriber multicast traffic flow is disassociated from subscriber queues. In other words, the unicast traffic for the subscriber is flowing through the subscriber queues while at the same time multicast traffic for the same subscriber is explicitly (through redirection) or implicitly (per-sap replication mode) redirected through a separate non-subscriber queue. In this case HQoS Adjustment can be deployed where preconfigured multicast bandwidth per channel is artificially included in HQoS. For example, bandwidth consumption per multicast group must be known in advance and configured within the 7450 ESS and 7750 SR. By keeping the IGMP state per host, the bandwidth for the multicast group (channel) to which the host is registered is known and is deducted as consumed from the aggregate subscriber bandwidth.
The multicast bandwidth per channel must be known (this is always an approximation) and provisioned in the BNG node in advance.
In PPPoE and in IPoE per-host replication environment, HQoS Adjustment is not needed as multicast traffic is unicast to each subscriber and therefore is flowing through subscriber queues.
For HQoS Adjustment, the channel bandwidth definition and association with an interface is the same as in the MCAC case. This is a departure from the legacy HT channel bandwidth definition which is done by a multicast-info-policy.
Example of HQoS adjustment:
Channel definition:
configure
router
mcac
policy <name>
<channel definition>
Channel bandwidth definition policy can be applied under:
group-interface
configure
service vprn <id>
igmp
group-interface <ip-int-name>
mcac
policy <mcac-policy-name>
plain interface
configure
router/service vprn
igmp
interface <ip-int-name>
mcac
policy <mcac-policy-name>
retailer group-interface
configure
service vprn <id>
igmp
group-interface fwd-service <svc-id> <grp-if-name>
mcac
policy <mcac-policy-name>
Enabling HQoS adjustment:
configure
subscriber-management
igmp-policy <name>
egress-rate-modify [egress-aggregate-rate-limit | scheduler <name>]
Applying HQoS adjustment to the subscriber:
configure
subscriber-management
sub-profile <subscriber-profile-name>
igmp-policy <name>
To activate HQoS adjustment on the subscriber level, the sub-mcac-policy must be enabled under the subscriber with the following CLI:
configure
subscriber-management
sub-mcac-policy <pol-name>
no shutdown
configure
subscriber-management
sub-profile <subscriber-profile-name>
sub-mcac-policy <pol-name>
The adjusted bandwidth during operation can be verified with the following commands (depending whether agg-rate-limit or scheduler-policy is used):
*B:BNG-1# show service active-subscribers subscriber "sub-1" detail
===============================================================================
Active Subscribers
===============================================================================
-------------------------------------------------------------------------------
Subscriber sub-1
-------------------------------------------------------------------------------
I. Sched. Policy : up-silver
E. Sched. Policy : N/A E. Agg Rate Limit: 4000
I. Policer Ctrl. : N/A
E. Policer Ctrl. : N/A
Q Frame-Based Ac*: Disabled
Acct. Policy : N/A Collect Stats : Enabled
Rad. Acct. Pol. : sub-1-acct
Dupl. Acct. Pol. : N/A
ANCP Pol. : N/A
HostTrk Pol. : N/A
IGMP Policy : sub-1-IGMP-Pol
Sub. MCAC Policy : sub-1-MCAC
NAT Policy : N/A
Def. Encap Offset: none Encap Offset Mode: none
Avg Frame Size : N/A
Preference : 5
Sub. ANCP-String : "sub-1"
Sub. Int Dest Id : ""
Igmp Rate Adj : -2000
RADIUS Rate-Limit: N/A
Oper-Rate-Limit : 2000
...
-------------------------------------------------------------------------------
*B:BNG-1#
Consider a different example with a scheduler instead of agg-rate-limit:
*A:Dut-C>config>subscr-mgmt>sub-prof# info
----------------------------------------------
igmp-policy "pol1"
sub-mcac-policy "smp"
egress
scheduler-policy "h1"
scheduler "t2" rate 30000
exit
exit
----------------------------------------------
*A:Dut-C>config>subscr-mgmt>igmp-policy# info
----------------------------------------------
egress-rate-modify scheduler "t2"
redirection-policy "mc_redir1"
----------------------------------------------
Assume that the subscriber joins a new channel with bandwidth of 1 Mb/s (1000 kb/s).
A:Dut-C>config>subscr-mgmt>sub-prof>egr>sched# show qos scheduler-hierarchy subscrib
er "sub_1" detail
===============================================================================
Scheduler Hierarchy - Subscriber sub_1
===============================================================================
Ingress Scheduler Policy:
Egress Scheduler Policy : h1
-------------------------------------------------------------------------------
Legend :
(*) real-time dynamic value
(w) Wire rates
B Bytes
-------------------------------------------------------------------------------
Root (Ing)
|
No Active Members Found on slot 1
Root (Egr)
| slot(1)
|--(S) : t1
| | AdminPIR:90000 AdminCIR:10000
| |
| |
| | [Within CIR Level 0 Weight 0]
| | Assigned:0 Offered:0
| | Consumed:0
| |
| | [Above CIR Level 0 Weight 0]
| | Assigned:0 Offered:0
| | Consumed:0
| | TotalConsumed:0
| | OperPIR:90000
| |
| | [As Parent]
| | Rate:90000
| | ConsumedByChildren:0
| |
| |
| |--(S) : t2
| | | AdminPIR:29000 AdminCIR:10000(sum) <==== bw 1000 from igmp s
ubstracted
| | |
| | |
| | | [Within CIR Level 0 Weight 1]
| | | Assigned:10000 Offered:0
| | | Consumed:0
| | |
| | | [Above CIR Level 1 Weight 1]
| | | Assigned:29000 Offered:0 <==== bw 1000 from igmp s
ubstracted
| | | Consumed:0
| | |
| | |
| | | TotalConsumed:0
| | | OperPIR:29000 <==== bw 1000 from igmp s
ubstracted
| | |
| | | [As Parent]
| | | Rate:29000 <==== bw 1000 from igmp
substracted
| | | ConsumedByChildren:0
| | |
| | |
| | |--(S) : t3
| | | | AdminPIR:70000 AdminCIR:10000
| | | |
| | | |
| | | | [Within CIR Level 0 Weight 1]
| | | | Assigned:10000 Offered:0
| | | | Consumed:0
| | | |
| | | | [Above CIR Level 1 Weight 1]
| | | | Assigned:29000 Offered:0
| | | | Consumed:0
| | | |
| | | |
| | | | TotalConsumed:0
| | | | OperPIR:29000
| | | |
| | | | [As Parent]
| | | | Rate:29000
| | | | ConsumedByChildren:0
| | | |
*A:Dut-C>config>subscr-mgmt>igmp-policy# show service active-subscribers sub-mcac
===============================================================================
Active Subscribers Sub-MCAC
===============================================================================
Subscriber : sub_1
MCAC-policy : smp (inService)
In use mandatory bandwidth : 1000
In use optional bandwidth : 0
Available mandatory bandwidth : 1147482647
Available optional bandwidth : 1000000000
-------------------------------------------------------------------------------
Subscriber : sub_2
MCAC-policy : smp (inService)
In use mandatory bandwidth : 0
In use optional bandwidth : 0
Available mandatory bandwidth : 1147483647
Available optional bandwidth : 1000000000
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Number of Subscribers : 2
===============================================================================
*A:Dut-C#
*A:Dut-C# show service active-subscribers subscriber "sub_1" detail
===============================================================================
Active Subscribers
===============================================================================
-------------------------------------------------------------------------------
Subscriber sub_1 (1)
-------------------------------------------------------------------------------
I. Sched. Policy : N/A
E. Sched. Policy : h1 E. Agg Rate Limit: Max
I. Policer Ctrl. : N/A
E. Policer Ctrl. : N/A
Q Frame-Based Ac*: Disabled
Acct. Policy : N/A Collect Stats : Disabled
Rad. Acct. Pol. : N/A
Dupl. Acct. Pol. : N/A
ANCP Pol. : N/A
HostTrk Pol. : N/A
IGMP Policy : pol1
Sub. MCAC Policy : smp
NAT Policy : N/A
Def. Encap Offset: none Encap Offset Mode: none
Avg Frame Size : N/A
Preference : 5
Sub. ANCP-String : "sub_1"
Sub. Int Dest Id : ""
Igmp Rate Adj : N/A
RADIUS Rate-Limit: N/A
Oper-Rate-Limit : Maximum
...
===============================================================================
*A:Dut-C#
*A:Dut-C# show subscriber-mgmt igmp-policy "pol1"
===============================================================================
IGMP Policy pol1
===============================================================================
Import Policy :
Admin Version : 3
Num Subscribers : 2
Host Max Group : No Limit
Host Max Sources : No Limit
Fast Leave : yes
Redirection Policy : mc_redir1
Per Host Replication : no
Egress Rate Modify : "t2"
Mcast Reporting Destination Name :
Mcast Reporting Admin State : Disabled
===============================================================================
*A:Dut-C#