Intel® IXP400 Software

Access-Layer Components: Ethernet Database (IxEthDB) API

For example, Port 1 is configured with a PVID set to 12 and VLAN membership group of {1, 2, 10, 12, 20 to 40, 100, 102, 3000 to 3010}. If VLAN membership filtering is enabled and acceptable frame type filtering is configured appropriately for the port, the following scenarios are possible:

If tagging is not enabled, untagged frames will be left untagged and passed through,.

If tagging is enabled, untagged frames will be tagged with a VLAN ID set from the port PVID (12) and passed through. Since the frame is tagged with the port VLAN ID, it will always be accepted by the same port’s membership table.

Tagged frames will be checked against the port membership table, therefore:

frames with VLAN IDs of 2, 10, 25, 100 or 3009 will be accepted,

frames with VLAN IDs of 0 (priority-tagged frame), 4, 15, 200 or 4072 will be discarded.

The IxEthDB API allows the user to add and remove individual VLAN ID entries as well as entire VLAN ranges into each port’s VLAN membership table. Also, membership checks can be enabled or disabled at run time.

Port membership filtering is disabled by default.

Note that a port will always have a non-empty membership table. By default the PVID, which is 0 at initialization time, is declared in the membership table. The PVID cannot be removed from the membership table at any time.

10.3.4.6Port and VLAN-Based Egress Tagging and Tag Removal

IxEthDB supports configuration of Egress frame tagging and tag removal, depending on the NPE image capabilities. Unlike Ingress tagging and tag removal, the egress tagging process adds a per- VLAN tagging configuration option. The port membership and egress tagging settings for each VLAN are stored in a structure called the Transmit Tagging Information (TTI) table.

Tagging and tag removal can also be individually overridden for each frame, using the following IX_OSAL_MBUF header flags:

ixp_ne_vlan_tci – tag control information. Frames are tagged using this tag, irrespective whether they already have a VLAN tag or not.

ixp_ne_flags.tag_over – transmit VLAN override tag. A value of 0 indicates that the default tagging behavior for the port/VID should be used. A value of 1 indicates an override. The ixp_ne_flags.tag_mode flag can be set by the client application to override the Egress tagging behavior, and the ixp_ne_vlan_tci field can be populated with the proper TCI information for that frame.

ixp_ne_flags.tag_mode – VLAN tag behavior control. A value of 0 indicates that the frame will be transmitted untagged. A value of 1 indicates that the frame will be tagged. This flag can be set by the client application to override the default Egress tagging behavior.

ixp_ne_flags.vlan_en - This flag must be enabled if any tagging or untagging will take place. Use this field to override the special conditions listed below.

The ixp_ne_vlan_tci field is automatically populated on ingress with the 802.1Q tag present in the frame (if any), or with the ingress port VLAN ID tag (for untagged frames). This happens even if the frame is untagged during ingress, giving the client application a chance to inspect the original VLAN tag. If this field is not changed by the client code, the frame will be re-tagged on transmission with the same tag.

Tagging frames on egress is determined in the following manner:

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

166

Document Number: 252539, Revision: 007

 

Page 166
Image 166
Intel IXP400 manual Port and VLAN-Based Egress Tagging and Tag Removal