Skip to content

Commit e3fe618

Browse files
Jason KingDan McDonald
authored andcommitted
OS-7458 bhyve should allow pci_slot addressing for NICs
1 parent be10a6b commit e3fe618

3 files changed

Lines changed: 44 additions & 1 deletion

File tree

src/vm/man/vmadm.8.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1739,6 +1739,35 @@ tab-complete UUIDs rather than having to type them out for every command.
17391739
create: yes
17401740
update yes (requires zone stop/boot)
17411741

1742+
nics.*.pci_slot:
1743+
1744+
Specifies the virtual PCI slot that this NIC will occupy. Bhyve places
1745+
each NIC into a PCI slot that is identified by the PCI bus, device, and
1746+
function (BDF). The slot may be specified as <bus>:<device>:<function>
1747+
("0:10:0"), <device>:<function> ("10:0") or <device> ("10"). If a bus
1748+
is not specified, 0 is used. Multiple NIC instances may be grouped
1749+
together on the same device by specifying different function values
1750+
for each NIC (e.g. "0:10:0", "0:10:1").
1751+
1752+
Per the PCI specification legal values for bus, device and function are:
1753+
1754+
bus: 0 - 255, inclusive
1755+
device: 0 - 31, inclusive
1756+
function: 0 - 7, inclusive
1757+
1758+
All functions on devices 0, 6, 30, and 31 on bus 0 are reserved. By
1759+
default, NICs do not include a `pci_slot` property. Instead, each
1760+
NIC instance is allocated its own function on the reserved bus 0,
1761+
device 6 virtual PCI slot. This property is generally only required
1762+
when it is necessary to have more than 8 NICs in a single bhyve VM.
1763+
1764+
type: string (<bus>:<device>:<function>, <device>:function, or <device>)
1765+
vmtype: bhyve
1766+
listable: yes
1767+
create: yes
1768+
update: yes (special, see description in 'update' section above)
1769+
default: no
1770+
17421771
nics.*.primary
17431772

17441773
This option selects which NIC's default gateway and nameserver values

src/vm/node_modules/VM.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/vm/node_modules/proptable.js

Lines changed: 10 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)