seq 
	  (rules in MAC extended ACLs)
 
   
  Inserts filtering rules in Layer 2 (MAC) extended access control lists (ACLs). 
  
 Syntax
 
	 
				[
					seq
					seq-value
					]
					permit
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan
					{
					 any
						|
					vlanID
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
				[
					seq
					seq-value
					]
					permit
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan-tag-format
					{
					 untagged
						vlan
					vlan-id
					|
					single-tagged
					vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					|
					double-tagged
						outer-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					inner-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
				[
					seq
					seq-value
					]
					{
					deny
					|
					hard-drop
					}
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan
					{
					 any
						|
					vlanID
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[
					count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
				[
					seq
					seq-value
					]
					{
					deny
					|
					hard-drop
					}
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan-tag-format
					{
					 untagged
						vlan
					vlan-id
					|
					single-tagged
					vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					|
					double-tagged
						outer-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					inner-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[
					count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
 
	 
				
					no permit
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan
					{
					 any
						|
					vlanID
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
				
					no permit
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan-tag-format
					{
					 untagged
						vlan
					vlan-id
					|
					single-tagged
					vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					|
					double-tagged
						outer-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					inner-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
				
					no
					{
					deny
					|
					hard-drop
					}
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan
					{
					 any
						|
					vlanID
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[
					count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 
				
					no
					{
					deny
					|
					hard-drop
					}
					{
					any
					|
					SMAC-address mask
					|
					host
					SMAC-address
					}
					{
					any
					|
					host
					DMAC-address
					|
					DMAC-address mask
					}
					[
					known-unicast-only
					]
					[
					vlan-tag-format
					{
					 untagged
						vlan
					vlan-id
					|
					single-tagged
					vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					|
					double-tagged
						outer-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					inner-vlan
					{
					any
					|
					vlan-id
					[
					vlan-id-mask
					]
					}
					]
					[
					custom-EtherType
					|
					arp
					[
					arp-guard
					]
					|
					cfm
					|
					ipv4
					|
					ipv6
					|
					mpls
					]
					[
					count
					]
					[
					log
					]
					[
					mirror
					]
					[
					copy-sflow
					]
			
 
	 Parameters
 
		
				
					- seq
						
					
- (Optional) Enables you to
						assign a sequence number to the rule. If you do not specify seq
							seq-value, the
							rule is added at the end of the list.
						
							
								- seq-value
								
- Valid values
									range from 1 through 65535. 
 
- permit
					
- Specifies rules to permit
						traffic. 
- deny
					
- Specifies rules to deny
						traffic. 
- 
						
							hard-drop
						
					
- Specifies rules to deny
						traffic. 
- any
					
- Specifies any source MAC
						addresses. 
- SMAC-address
					
- Specifies a source MAC
						address and a comparison mask. 
							
								- mask
								
-  Specifies the
									mask using Fs and zeros. For example, to match on the first two
									bytes of the address aabb.ccdd.eeff, use the mask
									ffff.0000.0000. In this case, the clause matches all MAC
									addresses that contain "aabb" as the first two bytes and any
									values in the remaining bytes. 
 
- host
							SMAC-address
					
- Specifies a source MAC
						address. Use the format HHHH.HHHH.HHHH. 
- any
					
- Specifies any destination MAC
						addresses. 
- DMAC-address
					
- Specifies a destination MAC
						address and a comparison mask. 
							
								- mask
								
-  Specifies the
									mask using Fs and zeros. For example, to match on the first two
									bytes of the address aabb.ccdd.eeff, use the mask
									ffff.0000.0000. In this case, the clause matches all MAC
									addresses that contain "aabb" as the first two bytes and any
									values in the remaining bytes. 
 
- host
							DMAC-address
						
					
- Specifies a destination MAC
						address. Use the format HHHH.HHHH.HHHH. 
- known-unicast-only
						
					
- (XGS devices only) Specifies
						known unicast traffic only.
- vlan
					
- Specifies VLANs to which the
						ACL is bound. 
							
								- any
								
- Specifies any
									VLAN. 
- vlanID
								
- Specifies a VLAN.
								
 
- 
						vlan-tag-format
					
-  Specifies untagged,
							single-tagged, or double-tagged
						VLAN traffic. 
- untagged
					
- Specifies traffic with no
						VLAN tag. 
							
								- vlan
									
								
- Specifies a VLAN
									or any VLAN. 
										
											- any
											
- Specifies any VLAN. 
- vlanID
												
											
- Specifies a VLAN or range of VLANs. 
 
 
- single-tagged
					
- Specifies traffic with a
						single VLAN, a range of VLANs, or any VLAN. 
							
								- vlan
									
								
- Specifies a VLAN
									or any VLAN. 
										
											- any
											
- Specifies any VLAN. 
- vlanID
												[
												vlan-id-mask
												]
												
											
- Specifies a VLAN or range of VLANs. Optionally, you
												can use a 12-bit hex value to specify a range of
												VLANs. For example, 0x0FFF specifies all VLANs for
												which the last 8 bits are 0. 
 
 
- double-tagged
					
- (DNX devices only) Specifies
						traffic with both an outer and an inner VLAN, a range of such VLANs, or any
						such VLAN. 
							
								- outer-vlan
									
								
- Specifies an
									outer VLAN, a range of outer VLANs, or any outer VLAN. 
										
											- any
											
- Specifies any outer VLAN. 
- vlanID
												[
												vlan-id-mask
												]
												
											
- Specifies a outer VLAN or range of VLANs.
												Optionally, you can use a 12-bit hex value to
												specify a range of VLANs. For example, 0x0FFF
												specifies all VLANs for which the last 8 bits are 0.
											
 
- inner-vlan-id
									
								
-  Specifies inner
									VLANs. 
										
											- any
											
- Specifies any inner VLAN. 
- vlanID
												[
												vlan-id-mask
												]
												
											
- Specifies an inner VLAN or range of VLANs.
												Optionally, you can use a 12-bit hex value to
												specify a range of VLANs. For example, 0x0FFF
												specifies all VLANs for which the last 8 bits are 0.
											
 
 
- custom-EtherType
					
-  Specifies a custom EtherType
						value for which to set the permit or deny conditions. Valid values range
						from 1536 through 65535. 
- arp
					
- Specifies to permit or deny
						the ARP protocol (0x0806). 
							
								- arp-guard
										
								
- Enables ARP
									Guard. 
 
- cfm
					
- Specifies to permit or deny
						the CFM protocol (0x8902). 
- ipv4
					
- Specifies to permit or deny
						the IPv4 protocol (0x0800). 
- ipv6
					
- Specifies to permit or deny
						the IPv6 protocol (0x86dd). 
- mpls
					
- (DNX devices only) Specifies
						to permit or deny the MPLS protocol (0x8847). 
- drop-precedence-force
							dp-value
							
					
- In permit rules
						applied to incoming traffic, forces drop precedence to a value of 0 through
						2. On DNX devices, the drop-precedence-force
						 keyword is supported only under the default,
							vxlan-ext, and bgp-flowspec
						TCAM profiles.
- count
					
- Enables statistics for the
						rule. 
- log
					
- Enables inbound logging for
						the rule. In addition, the ACL log buffer must be enabled, using the
							debug
							access-list-log buffer command. 
- mirror
					
- (Supported for rules in ACLs
						applied on physical interfaces to inbound traffic) Mirrors packets matching
						the rule. 
- copy-sflow
					
- For incoming traffic, sends
						matching packets to the sFlow collector. 
Modes
 
		 ACL configuration mode 
		
 
	 
 
	 Usage Guidelines
 
		This command configures rules to permit or drop traffic based on source and destination MAC addresses and protocol type. You can also enable counters, logging, mirroring , and sending packets to the sFlow collector per rule. 
		
 
		The order of the rules in an ACL is critical, as the first matching rule stops further processing. When creating rules, specifying sequence values determines the order of rule processing. If you do not specify a sequence value, the rule is added to the end of the list. 
		
			The behavior of the 
hard-drop keyword varies with platform, as
					follows:
					- (XGS devices) Overrides the trap behavior
						for control frames and data frames such as echo request (ping). However,
						hard-drop does not override a permit for this address in a preceding
						rule.
- (DNX devices) Equivalent to the deny
						keyword.
Although in an extended-ACL rule you can include 
log, 
mirror, and 
copy-sflow, only one of
				the three is processed, as follows: 
					- In a permit rule, the order of
						precedence is mirror > copy-sflow >
							log. 
- In a deny or hard-drop rule, the
						order of precedence is log >
							copy-sflow > mirror. 
 The following guidelines apply to rules that contain one of the 
		  
vlan-tag-format options: 
		
 
		  - Supported only when an ACL containing such rules is applied to physical or port-channel interfaces for ingress traffic. Ignored for ACLs applied to egress traffic and for ACLs applied to VLANs. 
		  
- (DNX devices only) The double-tagged
						option is supported only for VPLS VLANs. The untagged and
						the single-tagged options are supported for all VLANs. 
- An implicit LACP BPDU 
			 permit rule precedes the implicit 
			 deny rule. But to avoid port-channel interface flap for VPLS endpoints over dynamic LAGs, make sure that the LACP BPDUs do not match any of the configured 
			 deny rules. 
		  
To enable ARP Guard on an interface, you create
				and apply a MAC extended ACL with rules that contain the arp and arp-guard keywords. ARP
				Guard is supported on devices based on the DNX chipset family. For a list of such
				devices, see "Supported Hardware".
 
		 To delete a rule from an ACL, do the relevant of the following: 
		
 
		  -  If you know the rule number, enter 
			 no seq 
			 seq-value. 
		  
-  If you do not know the rule number, type 
			 no and then enter the full syntax without 
			 seq-value. 
		  
Examples
 
	  
		 The following example creates a rule in a MAC extended ACL to deny IPv4 traffic from the source MAC address 0022.3333.4444 to the destination MAC address 0022.3333.5555 and enable packet counting. 
		  
device# configure terminal
device(config)# mac access-list extended ACL1
device(conf-macl-ext)# seq 100 deny 0022.3333.4444 0022.3333.5555 ipv4 count 
 
		 The following example creates rule in a MAC extended ACL to filter permit traffic by VLAN tag types and enable packet counting. 
		  
device# configure terminal
device(config)# mac access-list extended ACL1
device(conf-macl-ext)# permit host 0001.0001.0001 any vlan-tag-format untagged vlan 100 count
device(conf-macl-ext)# permit host 0002.0002.0002 any vlan-tag-format single-tagged vlan 200 count
device(conf-macl-ext)# permit host 0003.0003.0003 any vlan-tag-format double-tagged outer-vlan 300 inner-vlan-id 400 count
device(conf-macl-ext)# permit host 0001.0001.0004 any vlan-tag-format untagged vlan 100 0x0fff count
device(conf-macl-ext)# permit host 0003.0003.0005 any vlan-tag-format double-tagged outer-vlan 300 0xfff inner-vlan-id 400 0x0fff count
device(conf-macl-ext)# permit host 0003.0003.0006 any vlan-tag-format double-tagged outer-vlan any inner-vlan-id any count
 
		The following example creates an MAC extended ACL with rules that enable ARP Guard and then applies it to the relevant interface. 
		
 
		device# configure terminal
device(config)# mac access-list extended arp_guard_enable_1
device(conf-macl-ext)# permit host 0014.2211.1111 any vlan 100 arp arp-guard
device(conf-macl-ext)# permit host 0014.2211.1112 any vlan 101 arp arp-guard
device(conf-macl-ext)# deny any any arp
device(conf-macl-ext)# permit any any
device(conf-macl-ext)# exit
device(conf)# interface ethernet 0/2
device(conf-if-eth-0/2)# switchport
device(conf-if-eth-0/2)# mac access-group arp_guard_enable_1 in
 
	  
	  
		 The following example deletes a rule from a MAC extended ACL. 
		  
device# configure terminal
device(config)# mac access-list extended ACL1
device(conf-macl-ext)# no seq 100