Description

This article provides detailed description of the configurable range of unit numbers for dynamic demux interfaces and details how to use this range in configuration to avoid overlap with static demux interfaces.

Symptoms

The configuration statement demux0.0 is often meant to apply some actions in the configuration for dynamic demux interfaces. However, if there are static demux interfaces, which are not present in the dhcp-relay configuration stanza, and the  demux0.0 statement is configured in this stanza as shown in the configuration example below, an unexpected behavior can be observed:

user@device> show configuration forwarding-options dhcp-relay
forward-snooped-clients all-interfaces;
group groupName {
    interface demux0.0;
}

Based on this configuration, all static demux interfaces (for example demux0.100) will be considered as "configured" interfaces and as described in Table 2 on the DHCP Snooping page, all snooped DHCP packets will be dropped.

Solution

demux0.0 is actually a wildcard, which includes all demux interfaces, both static and dynamic.

In Junos OS, the unit number for a dynamic demux subinterface is chosen from the following ranges:

  • 1073741824 - 1074003967

  • 3221225472 - 4161798143

However, the unit number for the static demux interface cannot be chosen from these ranges—only a number from the range between 0 and 1073741823 is allowed:

user@device# set interfaces demux0 unit 1073741824
error: Value 1073741824 is not within range (0..1073741823)
error: statement creation failed: unit

user@device# set interfaces demux0 unit 3221225472
error: Value 3221225472 is not within range (0..1073741823)
error: statement creation failed: unit

These ranges for the dynamic demux interfaces can be specified in the configuration explicitly instead of the demux0.0 wildcard, for example:

[edit forwarding-options dhcp-relay group groupName]
interface demux0.1073741824 {
    upto demux0.1074003967;
}
interface demux0.3221225472 {
    upto demux0.4161798143;
}

In order to prevent the unexpected behavior, the wildcard demux0.0 can be changed to:

user@device> show configuration forwarding-options dhcp-relay
forward-snooped-clients all-interfaces;
group groupName {
    interface demux0.1073741824 {
        upto demux0.1074003967;
    }
    interface demux0.3221225472 {
        upto demux0.4161798143;
   }
}

After changing the configuration thus, the snooped packets on the statically configured interface demux0.100 will be forwarded, while any snooped packets on dynamically created interfaces will be dropped.