Intel® IXP400 Software

Access-Layer Components: Ethernet Database (IxEthDB) API

Table 27. VLAN Tag Format

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

31

 

29

 

28

 

27

 

26

 

25

 

24

23

 

22

 

21

 

20

 

19

 

18

 

17

 

16

15

 

14

 

13

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VLAN TPID

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x810

 

 

 

 

 

 

 

 

 

 

0x0/Port ID

 

 

Priority

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

12

 

10

 

9

 

8

7

 

6

 

5

 

4

 

3

 

2

 

1

 

0

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VLAN TCI

 

 

 

 

 

 

 

 

 

 

 

 

CFI

 

 

 

 

 

 

 

 

 

VLAN ID

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.2Database 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.3Acceptable 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

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

164

Document Number: 252539, Revision: 007

 

Page 164
Image 164
Intel IXP400 manual Database Records Associated With Vlan IDs, Acceptable Frame Type Filtering, Vlan Tag Format