要在数据链路上创建 VF VNIC,您需要启用数据链路的 SR-IOV 模式。有关更多信息,请参见启用数据链路的 SR-IOV 模式。启用数据链路的 SR-IOV 模式后,当您使用 dladm create-vnic 命令创建 VNIC 时,会自动将 VF 分配给 VNIC。同样,在您使用 dladm create-vlan 命令创建 VLAN 时,会自动将 VF 分配给 VLAN。
还可以通过随 dladm create-vnic 或 dladm create-vlan 命令指定 iov VNIC 链路属性来显式指定是否需要将 VF 分配给 VNIC 或 VLAN。
可以使用下面的命令语法显式创建 VF VNIC:
# dladm create-vnic [–p iov=value] -l link VNIC
创建 VF VNIC 时,是否指定 iov VNIC 链路属性是可选的。如果未指定 iov VNIC 链路属性,则会将缺省值 inherit 指定给此属性。可以为 iov VNIC 链路属性指定以下值:
iov VNIC 链路属性的缺省值。确定是否需要基于底层数据链路的有效 iov 属性值分配 VF:
off-不为 VNIC 分配 VF。
on-尝试为 VNIC 分配 VF。如果无法分配,则创建常规 VNIC。
分配 VF。如果找不到 VF,则 VNIC 创建将失败。
创建不带 VF 的 VNIC。
对数据链路使用 dladm show-linkprop 命令时,数据链路属性的生效值是在 EFFECTIVE 列下显示的值。
iov VNIC 链路属性与其他数据链路属性之间的区别在于,只有在创建 VNIC 或 VLAN 时才能指定 iov VNIC 链路属性。在创建 VNIC 或 VLAN 后,无法修改 iov VNIC 链路属性。
iov VNIC 链路属性具有一个生效值,该值指示是否为 VNIC 或 VLAN 分配 VF。EFFECTIVE 列下的值 on 表示已分配 VF,EFFECTIVE 列下的值 off 表示未分配 VF。
示例 2-24 创建 VF VNIC以下示例说明了如何通过显式指定 iov VNIC 链路属性,在数据链路 net0 上创建 VF VNIC vfvnic1 和常规 VNIC vnic1。此示例假设您已启用数据链路 net0 的 SR-IOV 模式。
# dladm show-linkprop -p iov net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net0 iov rw on on auto auto,on,off # dladm create-vnic -l net0 vfvnic1 # dladm show-linkprop -p iov vfvnic1 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE vfvnic1 iov r- inherit on inherit inherit,on,off # dladm create-vnic -p iov=off -l net0 vnic1 # dladm show-linkprop -p iov vnic1 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE vnic1 iov r- off off inherit inherit,on,off
此示例提供了以下信息:
在创建 VF VNIC 之前,您需要将数据链路 net0 的 iov 属性设置为 on。
如果在创建 VNIC 时未指定 iov 属性的值,则会将缺省值 inherit 指定给 iov 属性。创建带有 VF 的 VF VNIC vfvnic1。
如果在创建 VNIC 时显式为 iov 属性指定了值 off,则将创建不带 VF 的常规 VNIC,即使底层数据链路 net0 的 iov 属性为 on 也是如此。创建不带 VF 的 VNIC vnic1。