When attempting to add a second vlan range (stacked vlans) under an auto-configure setting, a commit configuration command will cause an FPC to crash if the second outer vlan range is included in the first outer vlan range.
This issue is reported in Junos OS 12.3R5.
Combinations that can trigger an FPC crash
The two examples below can cause an FPC to crash:
set auto-configure stacked-vlan-ranges dynamic-profile jw-dynsvlan ranges 6-9,6-10 set auto-configure stacked-vlan-ranges dynamic-profile jw-dynsvlan ranges 1-10,1-5 set auto-configure stacked-vlan-ranges dynamic-profile jw-dynsvlan ranges 6-9,6-10 set auto-configure stacked-vlan-ranges dynamic-profile jw-dynsvlan ranges 1-10,11-15
The second outer vlan range (1-10) includes the first outer vlan range (6-9). Therefore, the inner vlan range must be different, or an error will be reported when you run a commit configuration command.
Combinations that will not trigger an FPC crash
The three examples below will not cause an FPC to crash:
1. If the beginning or ending number of the range of the second outer vlan is the same as the beginning or ending number of the range of the first outer vlan, the FPC will not crash. This acceptable combination is shown below:
- first outer vlan range 1-5, second outer vlan range 1-10
- first outer vlan range 6-10, second outer vlan range 1-10
2. If the range of the second outer vlan overlaps the range of the first outer vlan, the FPC will not crash. This acceptable combination is shown below:
- first outer vlan range 6-15, second outer vlan range 1-10
3 .If the range of the second outer vlan is different from the range of the first outer vlan, the FPC will not crash. In this case, the setting of the range of the inner vlan is inconsequential.
If this combination were to cause an FPC to crash, any subsequent change in the range of the vlan would cause the FPC to crash again. This situation is shown in the result of a backtrace command (below).
#0 l2pd_dv_add_range_to_outer_subranges (context=0x4e25d6b8, min=1115, max=1180) at ../../../src/pfe/common/drivers/l2pd/l2pd_dv.c:1276 #1 0x406128a0 in l2pd_dv_svlan_sync_internal (ifd=0x4e3bc488, context=0x4e25d6b8, prior_ranges=TRUE) at ../../../src/pfe/common/drivers/l2pd/l2pd_dv.c:1575 #2 0x4063e7a8 in l2pd_service_ifdioctl (ifd=0x4e3bc488, ioctl_size=<value optimized out>, ioctl_data=0x4543b598) at ../../../src/pfe/common/drivers/l2pd/l2pd_service.c:3809 #3 0x40609c10 in l2pd_process_ifd_ioctl (ifd=0x4e3bc488, ioctl_size=332, ioctl_data=0x4543b598) at ../../../src/pfe/common/drivers/l2pd/l2pd.c:147 #4 0x40084cb8 in if_notify_ifd_ioctl (ifd=0x4e3bc488, len=332, data=0x4543b598) at ../../../../../../src/pfe/common/toolkits/if/if_notify.c:166 #5 0x41295ffc in iffpc_ifd_ioctl_vector (mh=0x451d0a38) at ../../../src/pfe/common/toolkits/if/iffpc_ifd.c:825 #6 0x41293c4c in iffpc_msg_handler (pipe=0x0, ipcmsg=0x4543b58c) at ../../../src/pfe/common/toolkits/if/iffpc.c:1376 #7 0x412727b8 in pfeman_msg2fpc (ipc_msg=0x4543b58c, fpc_slot=1, app_str=<value optimized out>) at ../../../src/pfe/common/applications/pfeman/pfeman_rt_xdpc.c:135 #8 0x412cc4c4 in ifrt_ifdmsg2fpc (mh=0x42fe8ec0, ifd=0x4e3bc488, comment=0x423adf38 "IFD ioctl proxy") at ../../../src/pfe/common/toolkits/if/ifrt_pfe.c:161 #9 0x412a7c70 in ifrt_ifd_ioctl_vector (mh=0x42fe8ec0) at ../../../src/pfe/common/toolkits/if/ifrt_ifd.c:761 #10 0x412a5714 in ifrt_command_handler (ipcmsg=0x4543b58c, pipe=<value optimized out>) at ../../../src/pfe/common/toolkits/if/ifrt.c:518 #11 0x412a5a9c in ifrt_msg_handler (pipe=0x4482d270, ipcmsg=0x4543b58c) at ../../../src/pfe/common/toolkits/if/ifrt.c:601 #12 0x41279c10 in pfeman_session_end (session=0x44d1c210, cmd=<value optimized out>) at ../../../src/pfe/common/applications/pfeman/pfeman_session.c:903 #13 0x4127a388 in pfeman_session_manager (pipe=0x4482d270, msg=0xb5c32aa8) at ../../../src/pfe/common/applications/pfeman/pfeman_session.c:676 #14 0x41272234 in pfeman_rt_thread () at ../../../src/pfe/common/applications/pfeman/pfeman_rt_xdpc.c:335 #15 0x40030f40 in thread_check_interrupt_state (action=0x44de2a98 "") at ../../../../../src/pfe/ukern/common/thread.c:465
Insert the second vlan range before the first vlan range prior to running a commit configuration command, as shown below:
insert auto-configure stacked-vlan-ranges dynamic-profile jw-dynsvlan ranges 1-10,1-5 before 6-9,6-10 commit
Doing this can help prevent an FPC from crashing. This issue is fixed in Junos OS 12.3R6 or later.