9.3. MCAC Configuration Command Reference

9.3.1. Command Hierarchies

9.3.1.1. MCAC Configuration Commands

config
— router
[no] igmp
[no] group-interface ip-int-name
mcac
if-policy mcac-if-policy-name
— no if-policy
[no] shutdown
policy policy-name
— no policy
unconstrained-bw bandwidth mandatory-bw mandatory-bw
[no] interface ip-int-name
mcac
if-policy mcac-if-policy-name
— no if-policy
level level-id bw bandwidth
— no level level-id
number-down number-lag-port-down level level-id
— no number-down number-lag-port-down
[no] shutdown
policy mcac-policy-name
— no policy
unconstrained-bw bandwidth mandatory-bw mandatory-bw
config
[no] router
[no] mld
[no] group-interface ip-int-name
mcac
if-policy mcac-if-policy-name
— no if-policy
[no] shutdown
policy policy-name
— no policy
unconstrained-bw bandwidth mandatory-bw mandatory-bw
— interface ip-int-name
mcac
if-policy mcac-if-policy-name
— no if-policy
level level-id bw bandwidth
— no level level-id
number-down number-lag-port-down level level-id
— no number-down number-lag-port-down
[no] shutdown
policy policy-name
— no policy
unconstrained-bw bandwidth mandatory-bw mandatory-bw
config
— router
[no] pim
[no] interface ip-int-name
mcac
if-policy mcac-if-policy-name
— no if-policy
level level bw bandwidth
— no level level
number-down number-lag-port-down level level-id
— no number-down number-lag-port-down
[no] shutdown
policy policy-name
— no policy
unconstrained-bw bandwidth mandatory-bw mandatory-bw

9.3.1.2. MCAC Policy Commands

config
[no] router
mcac
[no] if-policy if-policy-name
description description-string
[no] shutdown
unconstrained-bw bandwidth mandatory-bw mandatory-bw
[no] policy policy-name
[no] bundle bundle-name
bandwidth bandwidth
— no bandwidth
channel start-address end-address bw bandwidth [class class] [type type] [source prefix/prefix-length]
— no channel start-address end-address [source prefix/prefix-length]
description description-string
lag-port-down lag-id number-down number-lag-port-down level level-id
— no lag-port-down lag-id number-down number-lag-port-down
level level bw bandwidth
— no level level
[no] shutdown
default-action {accept | discard}
description description-string

9.3.2. Command Descriptions

9.3.2.1. MCAC Configuration Commands

shutdown

Syntax 
[no] shutdown
Context 
config>router>igmp>interface>mcac>mc-constraints
config>router>mcac>if-policy
config>router>mcac>policy>bundle
config>router>mld>grp-if>mcac>mc-constraints
config>router>pim>interface>mcac>mc-constraints
Description 

The shutdown command administratively disables the entity. When disabled, an entity does not change, reset, or remove any configuration settings or statistics. Many entities must be explicitly enabled using the no shutdown command and must be shut down before they may be deleted.

Unlike other commands and parameters where the default state is not indicated in the configuration file, shutdown and no shutdown are always indicated in system generated configuration files.

The no form of the command puts an entity into the administratively enabled state.

Default 

no shutdown

mcac

Syntax 
mcac
Context 
config>router
config>router>igmp>group-interface
config>router>igmp>interface
config>router>mld>group-interface
config>router>mld>interface
config>router>pim>if
Description 

This command enables the context to configure multicast CAC parameters.

Default 

none

if-policy

Syntax 
ip-policy if-policy-name
no if-policy
Context 
config>router>igmp>grp-if>mcac
config>router>igmp>if>mcac
config>router>mld>grp-if>mcac
config>router>mld>if>mcac
config>router>pim>if>mcac
Description 

This command assigns an existing MCAC interface policy to the interface.

The no form removes the MCAC interface policy association.

Default 

no if-policy

Parameters 
if-policy-name—
Specifies an existing MCAC interface policy

mc-constraints

Syntax 
mc-constraints
Context 
config>router>mcac>policy>bundle
config>router>igmp>grp-if>mcac
config>router>igmp>interface>mcac
config>router>mld>grp-if>mcac
config>router>mld>interface>mcac
config>router>pim>interface>mcac
Description 

This command enables the context to configure the level and its associated bandwidth for a bundle or a logical interface.

Default 

none

policy

Syntax 
policy policy-name
no policy
Context 
config>router>igmp>grp-if>mcac
config>router>igmp>interface>mcac
config>router>mcac
config>router>mld>group-interface
config>router>mld>interface
config>router>pim>interface
Description 

This command references the global channel bandwidth definition policy that is used for (H)MCAC and HQoS adjustment.

Within the scope of HQoS adjustment, the channel definition policy under the group-interface is used if redirection is disabled. In this case, the HQoS adjustment can be applied to IPoE subscribers in per-SAP replication mode.

If redirection is enabled, the channel bandwidth definition policy applied under the Layer 3 redirected interface is in effect.

Hierarchical MCAC (HMCAC) is supported on two levels simultaneously:

  1. subscriber level and redirected interface in case that redirection is enabled
  2. subscriber level and group-interface level in case that redirection is disabled

In HMCAC, the subscriber is first checked against its bandwidth limits followed by the check on the redirected interface (or group-interface) against the bandwidth limits there.

In the case that the redirection is enabled but the policy is referenced only under the group-interface, no admission control will be executed (HMCAC or MCAC).

Default 

No policy is referenced.

Parameters 
policy-name —
Specifies the name of the global MCAC channel definition policy defined under the hierarchy configure>router>mcac>policy.

unconstrained-bw

Syntax 
unconstrained-bw bandwidth mandatory-bw mandatory-bw
no unconstrained-bw
Context 
config>router>igmp>grp-if>mcac
config>router>igmp>interface>mcac
config>router>mcac>if-policy
config>router>mld>grp-if>mcac
config>router>mld>interface>mcac
config>router>pim>interface>mcac
Description 

This command enables MCAC (or HMCAC) function on the corresponding level (subscriber, group-interface or redirected interface). When MCAC (or HMCAC) is enabled and a channel definition policy is referenced, admission control is performed. The allocated bandwidth for optional channels should not exceed the unconstrained-bw minus the mandatory-bw. The mandatory channels have to stay below the specified value for the mandatory-bw.

In HMCAC, the subscriber is checked first against its bandwidth limits followed by the check on the redirected interface or the group-interface against the bandwidth limits defined there.

In case that redirection is enabled and HMCAC enabled, the channel definition policy must be referenced under the redirected interface level. If it is referenced under the group-interface level, it will be ignored.

Subscriber MCAC (only subscriber is checked for available resources) is supported only with direct subscriber replication (no redirection). In this case the channel definition policy must be referenced under the group-interface.

In the case that the redirection is enabled but the policy is referenced only under the group-interface, no admission control will be executed (HMCAC or MCAC).

Default 

none

Parameters 
bandwidth—
Specifies the unconstrained bandwidth in kb/s for the MCAC policy.
Values—
0 to 2147483647

 

mandatory-bw mandatory-bw
Specifies the mandatory bandwidth in kb/s for the MCAC policy.
Values—
0 to 2147483647

 

if-policy

Syntax 
[no] if-policy if-policy-name
Context 
config>router>mcac
Description 

This command creates an MCAC interface policy and enables the context to configure parameters for the policy.

The no form deletes the MCAC interface policy.

Default 

No policy is created by default.

Parameters 
if-policy-name—
Specifies the name of the MCAC interface policy.
Values—
Any string, up to 32 characters long.

 

level

Syntax 
level level bw bandwidth
no level level
Context 
config>router>igmp>interface>mcac>mc-constraints
config>router>mcac>policy>bundle>mc-constraints
config>router>mld>interface>mcac>mc-constraints
config>router>pim>interface>mcac>mc-constraints
Description 

This command configures the amount of bandwidth available within a given bundle for MC traffic for a specified level. The amount of allowable BW for the specified level is expressed in kb/s and this can be defined for up to eight different levels.

The no form of the command removes the level from the configuration.

Default 

none (If no bandwidth is defined for a given level then no limit is applied.)

Parameters 
level—
Specifies the bandwidth for a given level. Level 1 has the highest priority. Level 8 has the lowest priority.
Values—
1 to 8

 

bw bandwidth
Specifies the bandwidth, in kb/s, for the level.
Values—
1 to 2147483647 kb/s

 

Default—
1

number-down

Syntax 
number-down number-lag-port-down level level-id
no number-down number-lag-port-down
Context 
config>router>igmp>if>mcac>mc-constraints
config>router>mld>if>mcac>mc-constraints
config>router>pim>if>mcac>mc-constraints
Description 

This command configures the number of ports down along with level for the MCAC policy on this interface.

Default 

none

Parameters 
number-lag-port-down
If the number of ports available in the LAG is reduced by the number of ports configured in this command, then the bandwidth allowed for a bundle or interface will be as per the levels configured in this context.
Values—
1 to 64 (for 64-link LAG)
1 to 32 (for other LAGs)

 

level level-id
Specifies the bandwidth for a given level. Level 1 has the highest priority. Level 8 has the lowest priority.
Values—
1 to 8

 

use-lag-port-weight

Syntax 
use-lag-port-weight
no use-lag-port-weight
Context 
config>router>igmp>interface>mcac>mc-constraints
config>router>mld>interface>mcac>mc-constraints
config>router>pim>interface>mcac>mc-constraints
config>router>mcac>policy>bundle>mc-constraints
Description 

This command enables port weight to be used when determining available bandwidth per level when LAG ports go down/come up. The command is required for proper operation on mixed port-speed LAGs and can be used for non-mixed port-speed LAGs as well.

Default 

no use-lag-port-weight

The port number is used when determining available BW per level when LAG ports go down/come up.

bundle

Syntax 
[no] bundle bundle-name
Context 
config>router>mcac>policy
Description 

This command creates the context that enables the grouping of MCAC group addresses into bundles.

When a number of multicast groups or BTV channels are grouped into a single bundle, then policing, if a join for a particular MC-group (BTV channel), can depend on whether:

  1. There is enough physical bandwidth on the egress interface.
  2. The given channel is a mandatory or optional channel.
    1. If optional, is there sufficient bandwidth according to the policy settings for the relevant interface.
    2. If optional, is there sufficient bandwidth within the bundle.

The no form of the command removes the named bundle from the configuration.

Default 

none

Parameters 
bundle-name—
Specifies the multicast bundle name. Allowed values are any string up to 32 characters long composed of printable, 7-bit ASCII characters. If the string contains special characters (#, $, spaces, and so on), the entire string must be enclosed within double quotes.

bandwidth

Syntax 
bandwidth bandwidth
no bandwidth
Context 
config>router>mcac>policy>bundle
Description 

This command configures the MCAC policy bundle maximum bandwidth.

Parameters 
bandwidth—
Specifies the MCAC policy bandwidth.

channel

Syntax 
channel start-address end-address bw bandwidth [class class] [type type] [source prefix/prefix-length]
no channel start-address end-address [source prefix/prefix-length]
Context 
config>router>mcac>policy>bundle
Description 

This command creates a multicast channel within the bundle where it is configured. A join for a particular multicast channel can be accepted if:

  1. Mandatory channels:
    A sufficient bandwidth exists on the interface according to the policy settings for the interface. There is always sufficient BW available on the bundle level because mandatory channels get BW pre-reserved.
  2. Optional channels:
    A sufficient BW exists on both interface and bundle level.

A channel definition can be either IPv4 (start-address, end-address, source-address are IPv4 addresses) or IPv6. A single bundle can have either IPv4 or IPv6 or IPv6 and IPv4 channel definitions. A single policy can mix any of those bundles.

Overlapping channels are not allowed. Two channels overlap if they contain same groups and the same source address prefix (or both do not specify source address prefix). Two channels with same groups and different source prefixes (including one of the channels having no source configured or one of the channels having more specific prefix than the other) do not overlap and are treated as separate channels.

When joining a group from multiple sources, MCAC accounts for that only once when no source address is specified or a prefix for channel covers both sources. Channel BW should be adjusted accordingly or source-aware channel definition should be used if that is not desired.

If a bundle is removed, the channels associated are also removed and every multicast group that was previously policed (because it was in the bundle that contained the policy) becomes free of constraints.

When a new bundle is added to a MCAC policy, the bundle’s established groups on a given interfaces are accounted by the policy. Even if this action results in exceeding the bundle’s constrain, no active multicast groups are removed. When a leave message is received for an existing optional channel, then the multicast stream is pruned and subsequent new joins may be denied in accordance with the policy. It is possible that momentarily there may be insufficient bandwidth, even for mandatory channels, in this bundle.

Default 

No channels are specified as part of a bundle on default.

Parameters 
start-address—
Specifies the beginning multicast IP address that identifies a multicast stream (BTV channel). Both addresses have to be either IPv4 or IPv6.
Values—
This must be a valid IPv4 or IPv6 multicast group address

 

end-address—
Specifies the ending multicast IP address that identifies a multicast stream (BTV channel). Both addresses have to be either IPv4 or IPv6.
Values—
This must be a valid IPv4 or IPv6 multicast group address

 

prefix/prefix-length—
Specifies the source of the multicast IP stream. This must be a valid IPv4 or IPv6 multicast source address prefix.
Values—
address-prefix/prefix-length

 

address-prefix is valid IPv4/IPv6 multicast source IP address prefix (local scope excluded)

prefix-length [0 to 32] for IPv4 [0 to 128] for IPv6

bandwidth—
Specifies the bandwidth required by this channel in kb/s. If this bandwidth is configured for a mandatory channel then this bandwidth is reserved by subtracting the amount from the total available bandwidth for all potential egress interfaces and the bundle.

If this bandwidth is configured as an optional channel then this bandwidth must be available for both the bundle and the egress interface requesting the channel to be added. Once the channel has been added the available bandwidth for the bundle and the interface must be reduced by the configured bandwidth of channel.

Values—
10 to 10000000 kb/s

 

class—
Provides deeper classification of channels used in the algorithm when LAG ports change state.
Values—
high, low

 

Default—
low
type—
Specifies the channel to be either mandatory or optional.

mandatory — When the mandatory keyword is specified, then the bandwidth is reserved by subtracting it from the total available for all the potential egress interfaces and the bundle.

optional — When the optional keyword is specified then the bandwidth must be available on both the bundle and the egress interface that requests the channel to be added. Once the channel has been added the available bandwidth for the bundle and the interface must be reduced by the configured bandwidth of channel.

Values—
mandatory | optional

 

Default—
optional

description

Syntax 
description description-string
no description
Context 
config>router>mcac>if-policy
config>router>mcac>policy
config>router>mcac>policy>bundle
Description 

This command creates a text description stored in the configuration file for a configuration context.

The description command associates a text string with a configuration context to help identify the context in the configuration file.

The no form of the command removes any description string from the context.

Default 

No description associated with the configuration context.

Parameters 
string—
The description character string. Allowed values are any string up to 80 characters long composed of printable, 7-bit ASCII characters. If the string contains special characters (#, $, spaces, and so on), the entire string must be enclosed within double quotes.

lag-port-down

Syntax 
lag-port-down lag-id number-down number-lag-port-down level level-id
no lag-port-down lag-id number-down number-lag-port-down
Context 
config>router>mcac>policy>bundle>mc-constraints
Description 

This command configures the bandwidth available both at the interface and bundle level when a specific number of ports in a LAG group fail.

Default 

none

Parameters 
lag-id—
Specifies the LAG ID. When the number of ports available in the LAG link is reduced by the number of ports configured in this context then the level-id specified here must be applied.
number-lag-port-down
If the number of ports available in the LAG is reduced by the number of ports configured in this command here then bandwidth allowed for bundle and/or interface will be as per the levels configured in this context.
Values—
1 to 64 (for 64-link LAG) 1 to 32 (for other LAGs)

 

level-id
Specifies the amount of bandwidth available within a given bundle for MC traffic for a specified level.

default-action

Syntax 
default-action {accept | discard}
Context 
config>router>mcac>policy
Description 

This command specifies the action to be applied to multicast streams (channels) when the streams do not match any of the multicast addresses defined in the MCAC policy.

When multiple default-action commands are entered, the last command will overwrite the previous command.

Default 

default-action discard

Parameters 
accept—
Specifies multicast streams (channels) not defined in the MCAC policy will be accepted.
discard—
Specifies multicast streams (channels) not defined in the MCAC policy will be dropped.