Skip to main content

Cornelis Technical Documentation

5.2.10. VirtualFabric Parameters

vFabrics are defined within the VirtualFabrics section. This section contains zero or more VirtualFabric sections.

The layout is as follows:

<VirtualFabrics>
    <VirtualFabric>
      <!-- virtual fabric parameters -->
    </VirtualFabric>
</VirtualFabrics>

Note

A working example configuration for VirtualFabric is provided in the opafm.xml and opafm_pp.xml configuration file.

Each VirtualFabric contain the following:

  • One or more groups of devices

  • One or more sets of Applications

  • Administrator policies

The vFabrics control the security configuration for the given set of devices and applications in the overall fabric.

Each VirtualFabric section can have one or more Applications and DeviceGroups sections. Both the devices and the applications are matched against PathRecord and Multicast SA queries. The returned SLID/DLID, PKey, SL, and so on, are appropriate for the vFabric that contain the involved devices and applications.

The following table provides a list of VirtualFabric parameters.

Table 11. VirtualFabric Parameters

Parameter

Description

Name

Name for the VirtualFabric.

Every VirtualFabric must have a unique name. The name must be unique among all VirtualFabric names within an FM instance. When defined at the Common level, the name must be unique within all instances.

The name is limited to 64 characters and is case-sensitive.

Enable

Enable (1) or Disable (0) a vFabric.

When Disabled (0), the VirtualFabric is ignored. This allows the user to easily disable a VirtualFabric without deleting its definition.

Standby

Active (0) or Standby (1). When Standby (1), the vFabric is initialized but no traffic can flow. Active (0) and Standby (1) status can be changed without restarting the FM using Dynamic Reconfiguration.

Application

An Application.Name that should be in the VirtualFabric.

Can be specified more than once per VirtualFabric if required.

Member

A DeviceGroup.Name that should be in the VirtualFabric.

Can be specified more than once per VirtualFabric if required.

LimitedMember

A DeviceGroup.Name with limited membership in the VirtualFabric. When Security is off, this is functionally the same as a DeviceGroup specified using Members.

Can be specified more than once per VirtualFabric if required.

Security

When On (1), the Subnet Manager provides security within this vFabric and between other vFabrics. LimitedMembers cannot talk to each other in the vFabric.

When Off (0), the Subnet Manager is free to manage routes and PKeys as it chooses, and there are no guarantees. LimitedMembers can talk to each other in the vFabric. The default is 0.

PKey

Partition PKey to use for vFabric.

By default, the Subnet Manager picks an available PKey. However, if required, a user-selected PKey can be specified.

The PKey is a 16-bit value, and the high bit is ignored. The Subnet Manager uses the appropriate high-bit based on the Security and Member/LimitedMember status per device.

Values range from 0x1 to 0x7fff.

MaxMTU

Maximum MTU for SM to return in any PathRecord or Multicast group for the VirtualFabric.

Actual values returned may be further reduced by hardware capabilities or if the PathRecord or Multicast group is requested to have a smaller MTU.

However, SM considers it an error to create a Multicast group with MTU larger than that of the VirtualFabric.

Value can be 2048, 4096, 8192, 10240, or Unlimited.

If not specified, the default MaxMTU is unlimited.

MaxRate

Maximum static rate for SM to return in any PathRecord or Multicast group for the VirtualFabric.

Actual values returned may be further reduced by hardware capabilities or if the PathRecord or Multicast group is requested to have a smaller rate.

However, SM considers it an error to create a Multicast group with a rate larger than that of the VirtualFabric.

Value can be 25g, 50g, 75g, 100g, 150g, 200g, or Unlimited.

If not specified, the default MaxRate is unlimited.

QOSGroup

Unique to multiple virtual fabric configurations.

The name of the QOSGroup used by the vFabric.

If a QOSGroup is defined, no other QOS parameters should be configured for this or any other vFabric. This includes QOS, BaseSL, MulticastSL, Bandwidth, PreemptRank, HighPriority, PktLifeTimeMult, HoqLife and FlowControlDisable.

If a VirtualFabric specifies a QOSGroup, it must also specify a PKey.

QOS

When On (1), the Subnet Manager provides QoS for this vFabric and between other vFabrics.

When Off (0), the Subnet Manager is free to manage SLs and VLs as it chooses, and there are no guarantees.

BaseSL

Allows a specific SL (0-15) to be used for the vFabric. SM selects value if unspecified.

MulticastSL

Allows a specific SL (0-15) to be used for multicast traffic. SM assigns it to the BaseSL if unspecified.

Bandwidth

This is the minimum percentage (0%-100%) of bandwidth that should be given to this vFabric relative to other low-priority vFabrics. When there is no contention, this vFabric could get more than this amount.

If unspecified, the SM evenly distributes the remaining bandwidth among all the vFabrics with unspecified bandwidth.

Total Bandwidth cannot exceed 95% for enabled vFabrics with QoS enabled when there is at least one enabled vFabric with QoS disabled.

Total Bandwidth cannot exceed 100% for enabled vFabrics. vFabrics with QoS disabled share at least 5% bandwidth and all QoS enabled vFabrics with unspecified bandwidth require at least 1% BW.

If HighPriority is specified, this field is ignored.

PreemptionRank

(Currently not supported in CN5000) Preemption capability can be configured per vFabric in terms of a rank which is a value ranging from 0 to 127. Rank 0 indicates that this vFabric cannot preempt nor be preempted. Ranks of a higher value can preempt ranks of a lower value (except rank 0). If QOS is disabled then preemption is disabled and the rank is 0.

HighPriority

If set to 1, this indicates the vFabric is for high-priority traffic that does not require any bandwidth limiting. This would typically include management or control traffic, which is low bandwidth, but critical to process in a timely manner. An example is SA traffic where there is no reason to restrict bandwidth since it is low volume, but it needs to be serviced at a high priority.

When priority is set to High, any bandwidth allocation is ignored for this vFabric.

PktLifeTimeMult

Amount to multiply PktLifeTime by when reported by SM for this vFabric. This can permit extra time in PathRecords (and therefore end-to-end timeouts) to account for delays in low-priority vFabrics that are given low-bandwidth allocations.

The value is rounded up to the next power of two.

0 is invalid; default is 1.

HoqLife

Head of queue time. This is specified at the SM level, but can be overridden at the Virtual Fabric level. When HoqLife is specified at the Virtual Fabric level, the timeout scaling is automatically disabled for that vFabric.

FlowControlDisable

Enable (0) or Disable (1) link level flow control. When link layer flow control has been disabled, packets will be discarded by that VL when there are insufficient credits. Disabling flow control for a vFabric can affect traffic on VLs shared with other vFabrics.