evb - Edge Virtual Bridging
Edge Virtual Bridging (EVB) is a set of protocols and mechanism defined by IEEE in 802.1qbg specification. The standard specifics means and protocols for a station to exchange information about Virtual Station Interfaces (VSI) with the bridge to which it is connected. A VSI on Solaris corresponds to a Virtual NIC (VNIC).
The protocols defined by EVB include:
VSI Discovery and Configuration Protocol. This protocol is used to carry information about the VSI. This includes the following main components:
Identifier for the VSI. This is the MAC address of the VSI.
A 3-byte value that specifies the properties of a VSI.
Used along with the VSI Type ID to determine the properties associated with a VSI.
The VSI Manager that maintains mapping of VSI Type ID-VSI Version to the actual properties.
Used by the bridge to identify packets for this VSI. This is the MAC address/VLAN ID of the VSI.
Edge Control Protocol. A reliable protocol used as a transport for VDP. ECP provides reliability by acknowledging receipt of ECPDU and retransmitting, if necessary.
When a bridge gets a VDP request, it obtains the properties associated with the VSI (using the VSI Manager Id, VSI Type ID and VSI Version). The bridge uses this to configure the properties for the VSI on the bridge. The bridge can respond to a VDP request with a success or failure. The following VDP requests are supported:
used to associate a VSI Manager ID, VSI Type ID VSI Version with a VSIID.
used to disassociated an existing association.
The contents of the VSI manager and protocols to query the VSI Manager for information about VSI Type Id/VSI Version is not defined by the standard.
Solaris VDP supports sending VDP ASSOC/DEASSOC requests to the bridge as well as accepting VDP DEASSOC requests from the bridge. It does not support ASSOC requests from the bridge.
EVB is enabled on Solaris by installing the service/network/evb package and enabling svc/network/vdp:default service. When EVB is enabled, Solaris host will initiate VDP exchanges when VNICs are created.
A default Oracle VSI Manager - ORACLE_VSIMGR_V1 - is defined that needs to be supported by a bridge in order to interoperate with Solaris EVB.
ORACLE_VSIMGR_V1 is defined as a 3-byte encoding using a subset of the link properties as follows:
Bits Properties -------------------------------------------------- 0-4 Link Bandwidth Limit 00000-10100 : 0-100% of link speed in increments of 5% rest : reserved 5-7 Link Speed 000 - 10 Mbps 001 - 100 Mbps 010 - 1 Gbps 011 - 10 Gbps 100 - 40 Gbps 101 - 100 Gbps 110-111 - Reserved 8-12 Reserved 13-15 Traffic Class (0-7) 16-17 Link MTU 00 - 1500 bytes 01 - 9000 bytes 10 - Custom 11 - Reserved 18-23 Reserved
A 3-type encoding is used so that it can be directly used as the 3-byte VSI Type ID.
Solaris station will use ORACLE_VSIMGR_V1 to encode the link properties into a VSI Type ID and send it as part of the VDP association. A bridge that supports ORACLE_VSIMGR_V1 can decode the VSI Type ID into the actual set of properties and configure its port accordingly.
In order for Solaris station to determine whether the bridge supports ORACLE_VSIMGR_V1, a Solaris station will always include an Oracle-specific organization TLV following the VSI Manager ID in its VDP requests. The Oracle TLV will include the encoding used by the VSI Manager ID. The Oracle TLV is defined using Oracle OUI of 0x0003BA. The subtype used to carry the encoding information is defined as:
The value of the TLV is the encoding type. The only supported encoding currently is 1 (ORACLE_VSIMGR_V1).
When the bridge gets a request with the Oracle specific TLV, it must include it in its response. If the bridge does not include the Oracle specific TLV, the Solaris station will assume that the bridge does not support ORACLE_VSIMGR_TLV and will send a DEASSOC request for the VSI.
When the above properties on a VNIC are modified, the VSI Type ID is recomputed and a new VDP association exchanged.
Alternatively, an administrator could explicitly configure the VSI Manager ID, VSI Type ID and VSI version on a VNIC using dladm(8). In this case the VDP request does not include the Oracle specific OUI. It is assumed that the administrator is aware of the mapping between the VSI Type ID /VSI Version and the actual properties and will configure the VSI appropriately.
When a VNIC is deleted, a DEASSOC request is sent if an association already exists.
See attributes(7) for descriptions of the following attributes:
IEEE Std 802.1 Qbg/D1.6: Draft Standard for Local and Metropolitan Area Networks - Virtual Bridged Local Area Networks - Amendment XX : Edge Virtual Bridging.