Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Ethernet Database (IxEthDB) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
164 Document Number: 252539, Revision: 007
The VLAN tagged Ethernet frame format, as specified in IEEE802.3, is as listed in Table 26. A
received frame is considered to be VLAN-tagged if the two bytes at offset 12-13 are equal to
0x8100. Note that this definition of a “VLAN-tagged frame” is meant to include frames that are
only priority-tagged (i.e., frames whose VLAN ID is 0).
10.3.4.2 Database Records Associated With VLAN IDs
IxEthDB supports MAC-based VLAN classification for a bridging application by providing the
API to associate a VLAN ID with a record (identified by a MAC address), and later retrieve the
VLAN ID provided the MAC address is known. This data structure is essentially the XScale
Learning/Filtering Database with an additional 802.1Q field for each record.
In a typical bridge scenario where MAC-based classification is used, the bridge would be provided
with MAC address-VLAN ID association via a user-controlled configuration mechanism, which is
stored in IxEthDB by using ixEthDBVlanTagSet(). Classification based on MAC addresses can be
then achieved on the data path by searching the VLAN ID of each received buffer using
ixEthDBVlanTagGet().
Note that while theoretically it is possible to duplicate MAC addresses across VLANs, this is not
supported by IxEthDB for the purpose of MAC-based classification support. Each record (hence
each MAC address) can only be associated with one VLAN ID. It should also be noted that MAC
duplication across a network is an error.
10.3.4.3 Acceptable Frame Type Filtering
IxEthDB defines an API for setting per-port acceptable frame type filtering policies. Frame
identification and IEEE 802.1Q compliance are ensured by the NPE, which can detect and filter
untagged, tagged and priority-tagged frame types. The filtering policies are defined as follows:
Accept untagged (no 802.1Q tag).
Accept tagged (802.1Q tag is detected, includes user priority and frame VLAN ID
membership).
Accept priority-tagged (802.1Q tag is detected, includes user priority and no VLAN
membership – VLAN ID set to 0).
Note: Setting the acceptable frame type to PRIORITY_TAGGED_FRAMES is
accomplished within the API by changing the frame filter to
VLAN_TAGGED_FRAMES and setting the VLAN membership list of the port in
question to include only VLAN ID 0. The membership list will need to be restored
manually to an appropriate value if the acceptable frame type filter is changed back to
Table 27. VLAN Tag Format
12 13 14 15
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
VLAN TPID VLAN TCI
0x810 0x0/Port ID Priority
CFI
VLAN ID