Description

This article provides information about the change in behavior of the m ulticast forwarding-cache timeout for SSM group ranges from Junos release 12.X or later.

Symptoms

The multicast route entry does not flush out after the cache lifetime or timeout for SSM group ranges. This behavior change was implemented starting with Junos 12.X. In earlier version the route entry would be flushed after the timeout.

The following lab test illustrates the change in behavior:

Topology :

|SRC|<--------------->|(ge-0/0/1)R1(ge-0/0/2)|<----------------->|REC|
Configuration :
lab@R1> show configuration routing-instances VPN1
instance-type virtual-router;
interface ge-0/0/1.0;
interface ge-0/0/2.0;
interface lo0.0;
routing-options {
    multicast {
        forwarding-cache {
            timeout 2;
        }
    }
}
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/1.0;
            interface ge-0/0/2.0;
        }
    }
pim {
    interface ge-0/0/1.0;
    interface ge-0/0/2.0;
}
}

lab@R1> show configuration logical-systems SRC
interfaces {
    ge-0/0/4 {
        unit 0 {
            family inet {
                address 10.10.10.2/24;
            }
        }
    }
}
protocols {
    ospf {
        area 0.0.0.0 {
            interface all;
        }
    }
pim {
    interface all;
}
}

lab@R1> show configuration logical-systems REC
interfaces {
    ge-0/0/5 {
        unit 0 {
            family inet {
                address 20.20.20.2/24;
            }
        }
    }
}
protocols {
    igmp {
        interface ge-0/0/2.0 {
            version 3;
        }
interface ge-0/0/5.0 {
    version 3;
    static {
        group 232.0.0.0 {
            source 10.10.10.2;
        }
    }
}
    }
sap {
    listen 232.0.0.0;
}
ospf {
    area 0.0.0.0 {
        interface all;
    }
}
pim {
    interface all;
}
}
< Last known working release is 11.4R7.

--- JUNOS 11.4R7.5 built 2013-03-01 11:57:40 UTC
lab@R1>

lab@R1> show multicast route group 232.0.0.0 instance VPN1 extensive
Instance: VPN1 Family: INET

Group: 232.0.0.0
Source: 10.10.10.2/32
Upstream interface: ge-0/0/1.0
Downstream interface list:
ge-0/0/2.0
Session description: Source specific multicast
Statistics: 0 kBps, 0 pps, 5 packets
Next-hop ID: 1048575
Upstream protocol: PIM
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: 165 seconds
Wrong incoming interface notifications: 0
Uptime: 00:00:21

lab@R1> show multicast route group 232.0.0.0 instance VPN1 extensive
Instance: VPN1 Family: INET

Group: 232.0.0.0
Source: 10.10.10.2/32
Upstream interface: ge-0/0/1.0
Downstream interface list:
ge-0/0/2.0
Session description: Source specific multicast
Statistics: 0 kBps, 0 pps, 5 packets
Next-hop ID: 1048575
Upstream protocol: PIM
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: 161 seconds < The timeout value is dispayed nd decrements when there is no traffic from the source.After the timeout, the entry is flushed out.
Wrong incoming interface notifications: 0 Uptime: 00:00:25
The change in behavior is from 12.1R1:
JUNOS 12.1R1.9 built 2012-03-24 12:52:33 UTC
lab@R1> show multicast route group 232.0.0.0 instance VPN1 extensive
Instance: VPN1 Family: INET

Group: 232.0.0.0
Source: 10.10.10.2/32
Upstream interface: ge-0/0/1.0
Downstream interface list:
ge-0/0/2.0
Session description: Source specific multicast
Statistics: 0 kBps, 0 pps, 0 packets
Next-hop ID: 1048576
Upstream protocol: PIM
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: forever
Wrong incoming interface notifications: 0
Uptime: 00:02:48

lab@R1> show multicast route group 232.0.0.0 instance VPN1 extensive
Instance: VPN1 Family: INET

Group: 232.0.0.0
Source: 10.10.10.2/32
Upstream interface: ge-0/0/1.0
Downstream interface list:
ge-0/0/2.0
Session description: Source specific multicast
Statistics: 0 kBps, 0 pps, 0 packets
Next-hop ID: 1048576
Upstream protocol: PIM
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: forever < Displayed as forever; routes do not have the keepalive timeout.
Wrong incoming interface notifications: 0
Uptime: 00:02:54

lab@R1> show route table VPN1.inet.1

VPN1.inet.1: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

224.0.0.0/4 *[Multicast/180] 00:03:35
MultiResolve
224.0.0.0/24 *[Multicast/180] 00:03:35
MultiDiscard
232.0.0.0/8 *[Multicast/180] 00:05:43
MultiResolve
232.0.0.0,10.10.10.2/32*[PIM/105] 00:03:25
Multicast (IPv4) Composite
232.0.0.1,10.10.10.2/32*[PIM/105] 00:03:25
Multicast (IPv4) Composite

Solution


The SSM forwarding entry should not be data-driven. In releases before PIM-BIDIR,  SSM entries were installed without a data-driven event and when the control plane received the SSM-PIM joins. However, these routes were allowed to timeout.

If any traffic is received after the timeout for the SSM range, a route resolve data-driven event will be triggered. This behavior may not be acceptable, thus changed as part of the PIM-BIDIR implementation. SSM forwarding entries will be cleared, when PIM joins are timed out in the control plane. This is expected behavior from Junos 12.X.