Project

General

Profile

Bug #12781

/etc/ppt_aliases needs to be in the boot archive

Added by Andy Fiddaman 6 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bhyve
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:

Description

12680 added PCI pass-through support in bhyve and introduces a new driver aliases file called /etc/ppt_aliases
This file needs to be added to the boot archive so it is available during early boot.

This was done in OmniOS under https://github.com/omniosorg/illumos-omnios/commit/84bf4029fafd4fe7f1a2afd13999f


Related issues

Related to illumos gate - Feature #12680: want PCI pass-thru in bhyveClosedHans Rosenfeld

Actions
#1

Updated by Andy Fiddaman 6 months ago

#2

Updated by Andy Fiddaman 6 months ago

  • Status changed from New to In Progress
  • Assignee set to Andy Fiddaman
#3

Updated by Hans Rosenfeld 6 months ago

I kinda doubt that /etc/ppt_aliases if of any use outside of SmartOS. It's really just a kludge to work around the problem that changes to /etc/driver_aliases aren't persistent across reboots in SmartOS, hence we introduced this new file which to be loaded as a module by the bootloader.

In any other illumos distribution it's probably much easier and less confusing to just use the normal driver_aliases mechanism, using update_drv(1M) to attach ppt to a device.

#4

Updated by John Levon 6 months ago

I'm not sure I agree: ppt_aliases is an over-ride mechanism. If you just did a normal update_drv you'd lose the original packaged mapping (not sure what pkg would do with that) and would be unable to undo it easily without recording what it was.

#5

Updated by Igor Kozhukhov 6 months ago

I agree with Andy and John.
separate file can be more easy managed in this case and shouldn't depend on original files.

#6

Updated by Andy Fiddaman 6 months ago

I have been using ppt_aliases up to now just because of the problem that John highlights - I wanted to keep the original mapping in the driver_aliases and keep pkg verify happy:

bloody# update_drv -d -i 'pciex15b3,101f' mlxcx
bloody# update_drv -a -i 'pciex15b3,101f' ppt
devfsadm: driver failed to attach: ppt
Warning: Driver (ppt) successfully added to system but failed to attach
bloody# pkg verify mlxcx
PACKAGE                                                                 STATUS
pkg://omnios/driver/network/mlxcx                                        ERROR
        driver: mlxcx
                ERROR: alias 'pciex15b3,101f' missing from etc/driver_aliases
#7

Updated by Hans Rosenfeld 6 months ago

Ok, thats a use case I didn't anticipate.

Do we already have documentation for ppt_aliases, and ideally, a tool to add entries to it? Does pptadm(1M) do that already?

#8

Updated by Andy Fiddaman 6 months ago

It looks like ppt_aliases is only documented in the pptadm man page so far, and pptadm is currently only a utility for displaying mappings.

It looks like there's some integration work that could be done here.

#9

Updated by John Levon 6 months ago

Yeah, I basically never got around to writing the bit that updates the aliases file

#10

Updated by Andy Fiddaman 6 months ago

It sounds like we need at least one follow-up issue filing but that the change to put ppt_aliases in the boot archive can go ahead.
Shall I file the issues or are there any volunteers with a better understanding of what needs doing?

#11

Updated by Electric Monk 6 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit b325f34d6fd056178a119182f410f157d35a9ea6

commit  b325f34d6fd056178a119182f410f157d35a9ea6
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
Date:   2020-05-26T10:02:47.000Z

    12781 /etc/ppt_aliases needs to be in the boot archive
    Reviewed by: Igor Kozhukhov <igor@dilos.org>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Approved by: Robert Mustacchi <rm@fingolfin.org>

Also available in: Atom PDF