Fragmented packets sent directly to a JUNOS device will not efficiently clear from route engine's packet memory (mbuf). This exposes the router to additional risk, where mbuf can fill to where no other packets can be accepted. The creates a denial of service against the router's control and management plane traffic. In most cases the fragmented packets will time out and get cleared from mbuf, restoring service. In rare cases, the fragmented packets will not be cleared. Indications of this issue can be seen by executing the ' show system buffers ' command:
show system buffers
lab@m320> show system buffers 26876/529/27405 mbufs in use (current/cache/total) 26851/425/27276/30000 mbuf clusters in use (current/cache/total/max)
lab@m320> show system statistics ttp: 819650 input packets couldn't get buffer
All JUNOS software releases built on or after 2010-02-12 have fixed this specific issue. Releases containing the fix specifically include: 8.5S4, 9.0S3, 9.1S6, 9.3R4, 9.6R1, 10.0R1, 10.1R1 and all subsequent releases (i.e. all releases built after 10.1R1). This issue is being tracked as PR 450448. While this PR is not viewable by customers, it can be used as a reference when discussing the issue with JTAC.
Today's network infrastructure typically will not have fragmented packets destined for the router's control or management plane. In most cases, it is safe to apply packet filters which will prevent fragmented packets from arriving on the router. Usually, fragmented packets received by a router indicate a problem with the network or a DDOS attack against the router. In either case, fragmented packets should be dropped to protect the router's control and management plane. Below is a sample firewall filter to demonstrate this recommendation:
[edit firewall family inet filter fragment] user@junos# show term first-frag { from { first-fragment; } then { discard; } term next-frag { from { is-fragment; } then { discard; }