MAC Group Tables allows the controller to apply the same policy to a set of users, differentiated by the source MAC address, using a single rule in the policy table. This is achieved by exposing the MAC CAM as a separate table to controllers and allows controllers to create MAC groups.
MAC group tables can be enabled for an OpenFlow instance in “standard match mode” or “ip control mode”. By default, both source mac group table and destination mac group tables are disabled. These tables can be enabled in the pipeline by using the commands src-mac-grp-table
or dest-mac-grp-table
. The figures below depict the various combinations of OpenFlow pipelines that an instance can have.
A single consolidated policy table combines “IP Match Policy Table”, “IP Miss Policy Table” and “Non-IP Policy table”. “Policy table” in IP control table mode allows the controller to match on L3 match, L3 miss and L3 ignore. OpenFlow controller must program rules into policy table with metadata to achieve functionality. Table 3 illustrates the values of metadata and metadata mask that needs to be programmed.
The controller must program rules with match on metadata to achieve functionality.
The following table illustrates the values of metadata and metadata mask with which these functionalities can be achieved.
OpenFlow provides support for metadata, which is a maskable register value that is used to carry information from one table to the next.
OpenFlow metadata
For example OFPXMT_OFB_METADATA
is part of oxm_ofb_match_fields
and is a 64 bit field. It is used to pass information between lookups across multiple tables. This value can be arbitrarily masked. Out of 64 bits, current release is using 21 bits and the following table illustrates the interpretation of these bits.
-
SRC MAC GRP
– 10 bits which identifies the Source Mac Group ID -
DST MAC GRP
– 10 bits which identifies the destination Mac Group ID -
L3 match
– 1 bit which is used to identify L3 match/miss in case of ip control table mode.
The following table shows the values of Metadata_match and metadata_write bits advertised for different table
Bits advertised
Table # | Metadata_match | Metadata_write |
---|---|---|
0 |
0 | 0 |
40 | 0 |
0x3FF ( Bits 0 to 19)(Bits 0 to 9 are used to writethe src GUID for MAC) |
41 |
0 | 0xFFC00 ( Bits 10 to 19)
(Bits 0 to 9 are used to write the dst GUID for MAC) |
50 |
0 | 0x100000 (Bit 20) |
100 | 0x01FFFFF (Bits 0 to 20) | 0 |
200 | 0 | 0 |
|
|
NOTE:
|
|
|
Syntax
From within an OpenFlow instance:
Enable the source MAC group table in the OpenFlow pipeline.
Options
Validation |
Error/Warning/Prompt |
---|---|
Source MAC group table can be enabled on only one instance. |
The source MAC group table cannot be enabled on multiple instances. |
Source MAC group table is supported only in standard match mode/ip-control-table mode. |
The source MAC group table is not supported on custom-pipeline mode. |
In ip-control-table mode, both source MAC groups and destination MAC groups cannot be configured. |
The source MAC group table cannot be enabled when the destination MAC group table is enabled in IP control pipeline mode. |
When enabling the mac group table, the oper statuses of all other instances have to be down. |
All the instances must be disabled before enabling the source MAC group table. |
Flow table number modification needs to be blocked when MAC group table is enabled. |
Flow table number modification is not allowed when a MAC group table is enabled. |
MAC group feature is not available in V1 compatibility mode. |
The source MAC group table is not supported when the switch is in V1 module compatible mode. |
If an instance is standard-match mode source and destination tables can be enabled. When both are enabled pipeline-model cannot be changed to ip-control. |
Pipeline-model cannot be changed to ip-control if both source and destination MAC group tables are enabled. |
Source and destination MAC group tables cannot be enabled when table-numbers are customized by user MAC group tables cannot be enabled. |
The source MAC group table cannot be enabled. The flow table numbers need to be reset to their default values. |
When MAC group tables are configured instance pipeline-model cannot be changed to custom. |
Pipeline-model cannot be changed to custom when a MAC group table is enabled. |
Syntax
Enable the destination MAC group table in the OpenFlow pipeline.
Validation |
Error/Warning/Prompt |
---|---|
Destination MAC group table can be enabled on only one instance. |
The destination MAC group table cannot be enabled on multiple instances. |
MAC group table is supported only in standard match mode/ip-control-table mode. |
The destination MAC group table is not supported in custom-pipeline mode. |
In ip-control-table mode, both source MAC groups and destination MAC groups cannot be configured. |
The destination MAC group table cannot be enabled when the source MAC group table is enabled in IP control pipeline mode. |
When enabling the mac group table, the operational statuses of all other instances have to be down. |
All the instances must be disabled before enabling the destination MAC group table. |
Flow table number modification needs to be blocked when MAC group table is enabled. |
Flow table number modification is not allowed when MAC group table is enabled. |
MAC group feature is not available in V1 compatibility mode. |
The destination MAC group table is not supported when the switch is in V1 module compatible mode. |
If an instance is standard-match mode source and destination tables can be enabled. When both are enabled pipeline-model cannot be changed to ip-control. |
Pipeline-model cannot be changed to ip-control if both source and destination MAC group tables are enabled. |
Source and destination MAC group tables cannot be enabled when table-numbers are customized by user MAC group tables cannot be enabled. |
The destination MAC group table cannot be enabled. The flow table numbers need to be reset to their default values. |
When MAC group tables are configured instance pipeline-model cannot be changed to custom. |
Pipeline-model cannot be changed to custom when a MAC group table is enabled. |