# VLAN Mode/Tag Actions

VLAN-aware mode provides APB administrators with the ability to match traffic based on the VLAN tag and redirect it to the tool port(s).

Push VLAN - Traffic replication to tool ports based on VLAN match and push new VLAN Tag

Pop VLAN - Traffic replication to tool ports based on VLAN match and pop VLAN Tag on egress traffic

The following image shows a visual representation of the VLAN Aware Mode and the VLAN Tag Actions:

<figure><img src="https://content.gitbook.com/content/vXqJArT8s5FQ1ZcomUW7/blobs/lr5zxnCRdzLmDoufmOXt/Screenshot%202022-09-06%20at%202.32.58%20PM.png" alt=""><figcaption><p>VLAN modes and Actions</p></figcaption></figure>

### Configuration:

**Push VLAN:**

1. *Configure Network/Tool port(s)*

```
//Tool ports
configure terminal
interface ethernet Ethernet16/1
forward-error-correction rs
type tool
end
```

```
//Network ports
configure terminal
interface ethernet Ethernet12/1
forward-error-correction rs
type network
end
```

2\.  Configure VLAN aware-mode

```
configure terminal
interface ethernet Ethernet12/1
type network
mode vlan-aware
end
```

```
configure terminal
interface ethernet Ethernet16/1
egress-tagging enable
type tool
end
```

3\. Configure flow with Push VLAN

```
flow flow1
network-ports Ethernet12/1
tool-ports Ethernet16/1
push-vlan-tag 300
rule 1 permit match-all counters enable
end
```

4\. Verify

```
// verify interface
pbnoscli# show interface npb Ethernet12/1
===================================
Interface : Ethernet12/1      
===================================
Type           : network         
Mode           : vlan-aware      
Ingress-vlan   : 14              
Egress-tagging : disable         

pbnoscli# show interface npb Ethernet16/1
===================================
Interface : Ethernet16/1      
===================================
Mode           : vlan-aware      
Ingress-vlan   : 18              
Egress-tagging : enable          

pbnoscli# 
```

```
// verify flow
pbnoscli# show flow all  
===================================
Flow : flow1 (CLI)
===================================
Status       : enable          
Network-Port : Ethernet12/1      
Tool-Port    : Ethernet16/1      
Push vlan    : 300             

Rule : 1               
++++++++++++++++++++++++++++++++++
Action                   : permit          
Counters                 : enable          
Match-all                : ipv4            
pbnoscli# 
```

#### Pop VLAN:

1. *Configure Network/Tool port(s)*

```
//Tool ports
configure terminal
interface ethernet Ethernet16/1
forward-error-correction rs
type tool
end
```

```
//Network ports
configure terminal
interface ethernet Ethernet12/1
forward-error-correction rs
type network
end
```

2\.  Configure VLAN aware-mode

```
configure terminal
interface ethernet Ethernet12/1
type network
mode vlan-aware
end
```

```
configure terminal
interface ethernet Ethernet16/1
type tool
end
```

3\. Configure flow with Pop VLAN

```
flow flow1
network-ports Ethernet12/1
tool-ports Ethernet16/1
pop-vlan enable
rule 1 permit match-all counters enable
end
```

4\. Verify

```
// verify interface
pbnoscli# show interface npb Ethernet12/1
===================================
Interface : Ethernet12/1      
===================================
Type           : network         
Mode           : vlan-aware      
Ingress-vlan   : 14              
Egress-tagging : disable         

pbnoscli# show interface npb Ethernet16/1
===================================
Interface : Ethernet16/1      
===================================
Mode           : vlan-aware      
Ingress-vlan   : 18              
Egress-tagging : disable         

pbnoscli#
```

```
// verify flow
pbnoscli# show flow all

===================================
Flow : flow1 (CLI)
===================================
Status       : enable          
Network-Port : Ethernet12/1     
Tool-Port    : Ethernet16/1      
Pop vlan     : enable          

Rule : 1               
++++++++++++++++++++++++++++++++++
Action                   : permit          
Counters                 : enable          
Match-all                : ipv4            
pbnoscli# 
```
