Each of the VLAN Tags has individual control over stripping. The programming options of Always strip, never strip, strip on pass and strip on fail are available. Inner or Outer VLAN Tag Stripping is based on the pass or fail results of the individual tag. If a tag is bypassed by all the relevant filters, stripping is not applicable for the tag.
- If strip on Pass is enabled for the outer VLAN Tag, then the stripping occurs
only if the Outer VLAN tag has passed the relevant Filters. The Outer VLAN Tag
Filter Result bit is set.
- If strip on Fail is enabled for the outer VLAN Tag, then stripping occurs only
if the Outer VLAN Tag has failed relevant filters. The Outer VLAN Tag Filter
Result Bit is reset.
- If the Outer VLAN tag of the received frame is bypassed by the entire filter (no comparison has been made), then the tag is not stripped, though the Status Bit is still 0.
- As multiple filters are enabled, it is possible that the received VLAN frame
can have matched any one or more of the filters. The VLAN Tag's value is not
always deterministic from the filter status bits.
- If the application strips the VLAN Tag based on the filter result, it might
lose the VID. So the suggested use is, if Stripping is enabled for any of the
tags, the tag can be put in the status. For this the application, enable the
respective "VLAN Tag in Status" bit 24 or 31 in the MAC VLAN Tag Control
register.