Native VLAN termination

The FastDPI BRAS operating in the native termination mode (bras_vlan_terminate=1) removes all the VLAN tags from the outgoing packets (LAN → WAN) and inserts VLAN tags in the incoming packets (WAN→LAN). The VLAN tags are extracted from the destination IP address (from the UDR internal database) when traffic is originated.

It should be taken into account that when the traffic is originated, the packet is increased in size since L2 VLAN tags are added, it can lead to exceeding the packet size (in fact, it is the MTU analog) which is specified by the snaplen configuration option. If the VLAN tags addition causes the packet size excess, the fastDPI BRAS will not add VLAN tag and will write a critical error message to the log file instead; in this case the package will not be dropped, it will be further processed.

SSG legacy pf_ring-version, CentOS 6: The native VLAN tags termination mode produces a significant additional load to the fastDPI because the size of the package have to be changed. The resulting packets copying can reduce the fastDPI performance by 25-30%.
The DPDK version of SSG on CentOS 8 is practically devoid of this drawback - there is almost no decrease in fastDPI performance due to optimizations of packet processing.
When the QinQ traffic is originated, i.e. when it is required to add two VLAN tags to the packet, there is an ambiguity to select the EtherType for the outer VLAN.