94 | Access Control Lists (ACLs)w w w . d e l l . c o m | s u p p o r t . d e l l . c o m ACLs acl1 and acl2 have overlapping rules because the address range 20.1.1.0/24 is within 20.0.0.0/8.Therefore, (without the keyword order) packets within the range 20.1.1.0/24 match positive against cmap1and are buffered in queue 7, though you intended for these packets to match positive against cmap2 and bebuffered in queue 4.In cases such as these, where class-maps with overlapping ACL rules are applied to different queues, usethe order keyword to specify the order in which you want to apply ACL rules, as shown in Figure 6-2. Theorder can range from 0 to 254. FTOS writes to the CAM ACL rules with lower order numbers (ordernumbers closer to 0) before rules with higher order numbers so that packets are matched as you intended.By default, all ACL rules have an order of 254.Figure 6-2. Using the Order Keyword in ACLsIP Fragment HandlingFTOS supports a configurable option to explicitly deny IP fragmented packets, particularly second andsubsequent packets. It extends the existing ACL command syntax with the fragments keyword for allLayer 3 rules applicable to all Layer protocols (permit/deny ip/tcp/udp/icmp).• Both standard and extended ACLs support IP fragments.• Second and subsequent fragments are allowed because a Layer 4 rule cannot be applied to thesefragments. If the packet is to be denied eventually, the first fragment would be denied and hence thepacket as a whole cannot be reassembled.• Implementing the required rules will use a significant number of CAM entries per TCP/UDP entry.• For IP ACL, FTOS always applies implicit deny. You do not have to configure it.• For IP ACL, FTOS applies implicit permit for second and subsequent fragment just prior to theimplicit deny.• If an explicit deny is configured, the second and subsequent fragments will not hit the implicit permitrule for fragments.FTOS(conf)#ip access-list standard acl1FTOS(config-std-nacl)#permit 20.0.0.0/8FTOS(config-std-nacl)#exitFTOS(conf)#ip access-list standard acl2FTOS(config-std-nacl)#permit 20.1.1.0/24 order 0FTOS(config-std-nacl)#exitFTOS(conf)#class-map match-all cmap1FTOS(conf-class-map)#match ip access-group acl1FTOS(conf-class-map)#exitFTOS(conf)#class-map match-all cmap2FTOS(conf-class-map)#match ip access-group acl2FTOS(conf-class-map)#exitFTOS(conf)#policy-map-input pmapFTOS(conf-policy-map-in)#service-queue 7 class-map cmap1FTOS(conf-policy-map-in)#service-queue 4 class-map cmap2FTOS(conf-policy-map-in)#exitFTOS(conf)#interface gig 1/0FTOS(conf-if-gi-1/0)#service-policy input pmap