This article explains why the " rt_expand_bridge could not find l3_rt for the irb " message is generated when an igmp join is received, and suggests a way to suppress this message.
rt_expand_bridge
could
not
find
l3_rt
for
the
irb
When an igmp join is received, the following debug message is logged:
/kernel: rt_irb_get_vrf_rt route does not exist in vrf /kernel: rt_expand_bridge could not find l3_rt for the irb (549)
In Junos OS code, rt_irb_get_vrf_rt is a method to get a route inside the Virtual Routing and Forwarding (VRF) table. This method has some IF clauses that are used to determine the course of action if a certain condition is met, such as when a route is not found. In this case, the IF statement says that if a route does not yet exist in the inet table of VRF, no expansion should be performed.
rt_irb_get_vrf_rt
IF
inet
When an igmp join message is received, the mcsnoop [snooping] daemon tries to add an L2 route followed by the kernel, which tries to expand the L2 + L3 list. However, no corresponding L3 route is present (the attribute L3_rt in the code is NULL ). So the debug message is logged. This happens when igmp joins are received before the L3 (S, G) route is programmed.
L3_rt
NULL
These log messages are not indicative of any functionality issue and are used only for debugging purposes. They can be suppressed by configuring the following:
lab@switch# show system syslog user * { any emergency; } file messages { any notice; authorization info; match "! (rt_irb_get_vrf_rt | rt_expand_bridge)";